Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

การดำเนินการกับตัวอักษร (Character) ในภาษา C

การประกาศตัวแปรชนิด Character

ในภาษา C ตัวอักษร (Character) สามารถเป็นอักษรภาษาอังกฤษ (A-Z หรือ a-z), ตัวเลข (0-9), ช่องว่าง (white space), หรือสัญลักษณ์พิเศษ (special symbol) ได้ทั้งหมด

รูปแบบการประกาศตัวแปรชนิด Character มีดังนี้:

char a = 'A'; // ใช้ character constant

ฟังก์ชันรับ-ส่งข้อมูลตัวอักษร (Character I/O Functions)

ฟังก์ชันหลักสำหรับการรับและส่งข้อมูลตัวอักษร มีดังนี้:

  • scanf("%c", &a); - รับตัวอักษรหนึ่งตัวจากคีย์บอร์ด
  • printf("%c", a); - แสดงตัวอักษรหนึ่งตัวบนหน้าจอ (หมายเหตุ: ตัวอย่างเดิมใช้ &a ซึ่งผิด ควรเป็น a)
  • a = getchar(); - รับตัวอักษรหนึ่งตัวจาก standard input
  • putchar(a); - ส่งตัวอักษรหนึ่งตัวไปยัง standard output
  • a = getch(); - รับตัวอักษรหนึ่งตัวโดยไม่แสดงบนหน้าจอ (non-standard, มักอยู่ใน conio.h)
  • putch(a); - แสดงตัวอักษรหนึ่งตัวบนหน้าจอ (non-standard, มักอยู่ใน conio.h)

ตัวอย่างโปรแกรม: นับจำนวนบรรทัดด้วย getchar()

#include <stdio.h>
/* นับจำนวนบรรทัดใน input */
int main() {
    int count, num;
    printf("ป้อนข้อความหลายบรรทัด และกด Ctrl+Z เพื่อจบ:\\n");
    num = 0;
    while ((count = getchar()) != EOF) {
        if (count == '\n')
            ++num;
    }
    printf("%d\\n", num);
    return 0;
}

ผลลัพธ์ตัวอย่าง

ป้อนข้อความหลายบรรทัด และกด Ctrl+Z เพื่อจบ:
Hi
Hello
Welcome To My World
^Z
4

คำอธิบาย: โปรแกรมจะอ่านตัวอักษรทีละตัวจนกว่าจะเจอ EOF (End of File) ซึ่งใน Windows คือ Ctrl+Z ทุกครั้งที่พบตัวขึ้นบรรทัดใหม่ (\n) จะเพิ่มตัวนับขึ้น 1