การเขียนโปรแกรมคอมพิวเตอร์ - ตัวอักษร

ถ้าเป็นเรื่องง่ายที่จะทำงานกับตัวเลขในการเขียนโปรแกรมคอมพิวเตอร์การทำงานกับตัวอักษรจะง่ายยิ่งขึ้น อักขระเป็นตัวอักษรธรรมดาเช่น a, b, c, d .... , A, B, C, D, ..... แต่มีข้อยกเว้น ในการเขียนโปรแกรมคอมพิวเตอร์ตัวเลขหลักเดียวเช่น 0, 1, 2, .... และอักขระพิเศษเช่น $,%, +, -.... เป็นต้นยังถือว่าเป็นอักขระและกำหนดให้เป็นประเภทอักขระ ตัวแปรคุณก็ต้องใส่ไว้ข้างในsingle quotes. ตัวอย่างเช่นคำสั่งต่อไปนี้กำหนดตัวแปรชนิดอักขระch และเรากำหนดค่า 'a' ให้กับมัน -

char ch = 'a';

ที่นี่ ch เป็นตัวแปรประเภทอักขระซึ่งสามารถเก็บอักขระของชุดอักขระของการนำไปใช้งานและ 'a' เรียกว่า character literalหรือค่าคงที่ของอักขระ ไม่ใช่แค่ a, b, c, .... แต่เมื่อมีตัวเลขเช่น 1, 2, 3 .... หรืออักขระพิเศษใด ๆ เช่น!, @, #, #, $, .... จะถูกเก็บไว้ในเครื่องหมายคำพูดเดียว จากนั้นจะถือว่าเป็นอักขระตามตัวอักษรและสามารถกำหนดให้กับตัวแปรประเภทอักขระได้ดังนั้นสิ่งต่อไปนี้จึงเป็นคำสั่งที่ถูกต้อง -

char ch = '1';

ประเภทข้อมูลอักขระใช้หน่วยความจำ 8 บิตซึ่งหมายความว่าคุณสามารถจัดเก็บอะไรก็ได้ในอักขระที่มีค่า ASCII อยู่ระหว่าง -127 ถึง 127 ดังนั้นจึงสามารถเก็บค่าที่แตกต่างกันได้ 256 ค่า ประเภทข้อมูลอักขระสามารถจัดเก็บอักขระใด ๆ ที่มีอยู่บนแป้นพิมพ์ของคุณรวมถึงอักขระพิเศษเช่น!, @, #, #, $,%, ^, &, *, (,), _, +, {,} ฯลฯ

โปรดทราบว่าคุณสามารถเก็บได้เพียงตัวอักษรเดียวหรือตัวเลขหลักเดียวในเครื่องหมายคำพูดเดียวและไม่อนุญาตให้ใช้ตัวอักษรหรือตัวเลขมากกว่าหนึ่งตัวในเครื่องหมายคำพูดเดี่ยว ดังนั้นข้อความต่อไปนี้ไม่ถูกต้องในการเขียนโปรแกรม C -

char ch1 = 'ab';
char ch2 = '10';

ด้านล่างนี้เป็นตัวอย่างง่ายๆซึ่งแสดงวิธีกำหนดกำหนดและพิมพ์อักขระในภาษาโปรแกรม C -

#include <stdio.h>

int main() {
   char  ch1;
   char  ch2;
   char  ch3;
   char  ch4;
   
   ch1 = 'a';      
   ch2 = '1';
   ch3 = '$';
   ch4 = '+';  

   printf( "ch1: %c\n", ch1);
   printf( "ch2: %c\n", ch2);
   printf( "ch3: %c\n", ch3);
   printf( "ch4: %c\n", ch4);
}

ที่นี่เราใช้% c ในการพิมพ์ประเภทข้อมูลอักขระ เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

ch1: a
ch2: 1
ch3: $
ch4: +

ลำดับการหลบหนี

ภาษาโปรแกรมจำนวนมากสนับสนุนแนวคิดที่เรียกว่า Escape Sequence. เมื่ออักขระนำหน้าด้วยแบ็กสแลช (\) จะเรียกว่าลำดับการหลีกเลี่ยงและมีความหมายพิเศษสำหรับคอมไพเลอร์ ตัวอย่างเช่น \ n ในคำสั่งต่อไปนี้เป็นอักขระที่ถูกต้องและเรียกว่าอักขระบรรทัดใหม่ -

char ch = '\n';

ที่นี่ตัวละคร nนำหน้าด้วยแบ็กสแลช (\) ซึ่งมีความหมายพิเศษซึ่งเป็นบรรทัดใหม่ แต่โปรดทราบว่าแบ็กสแลช (\) มีความหมายพิเศษโดยมีอักขระเพียงไม่กี่ตัวเท่านั้น ข้อความต่อไปนี้จะไม่สื่อความหมายใด ๆ ในการเขียนโปรแกรม C และจะถือว่าเป็นข้อความที่ไม่ถูกต้อง -

char ch = '\1';

ตารางต่อไปนี้แสดงรายการลำดับการหลีกเลี่ยงที่มีอยู่ในโปรแกรมภาษาซี -

ลำดับการหลบหนี คำอธิบาย
\ t แทรกแท็บในข้อความที่จุดนี้
\ b แทรก backspace ในข้อความ ณ จุดนี้
\ n แทรกขึ้นบรรทัดใหม่ในข้อความ ณ จุดนี้
\ r แทรกการกลับแคร่ในข้อความ ณ จุดนี้
\ ฉ แทรกฟีดแบบฟอร์มในข้อความ ณ จุดนี้
\ ' แทรกอักขระเครื่องหมายคำพูดเดี่ยวในข้อความ ณ จุดนี้
\ " แทรกอักขระอัญประกาศคู่ในข้อความ ณ จุดนี้
\\ แทรกอักขระแบ็กสแลชในข้อความ ณ จุดนี้

ตัวอย่างต่อไปนี้แสดงวิธีที่คอมไพลเลอร์ตีความลำดับการหลีกเลี่ยงในคำสั่งพิมพ์ -

#include <stdio.h>

int main() {
   char  ch1;
   char  ch2;
   char  ch3;
   char  ch4;
   
   ch1 = '\t';      
   ch2 = '\n';

   printf( "Test for tabspace %c and a newline %c will start here", ch1, ch2);
}

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

Test for tabspace     and a newline 
will start here

อักขระใน Java

ต่อไปนี้เป็นโปรแกรมเทียบเท่าที่เขียนด้วย Java Java จัดการประเภทข้อมูลอักขระในลักษณะเดียวกับที่เราเห็นในการเขียนโปรแกรม C อย่างไรก็ตาม Java ให้การสนับสนุนเพิ่มเติมสำหรับการจัดการอักขระ

คุณสามารถลองรันโปรแกรมต่อไปนี้เพื่อดูผลลัพธ์ซึ่งต้องเหมือนกับผลลัพธ์ที่สร้างโดยตัวอย่าง C ด้านบน

public class DemoJava {
   public static void main(String []args) {
      char  ch1;
      char  ch2;
      char  ch3;
      char  ch4;
   
      ch1 = 'a';      
      ch2 = '1';
      ch3 = '$';
      ch4 = '+';  

      System.out.format( "ch1: %c\n", ch1);
      System.out.format( "ch2: %c\n", ch2);
      System.out.format( "ch3: %c\n", ch3);
      System.out.format( "ch4: %c\n", ch4);
   }
}

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

ch1:  a
ch2:  1
ch3:  $
ch4:  +

Java ยังสนับสนุนลำดับการหลีกเลี่ยงในลักษณะเดียวกับที่คุณใช้ในการเขียนโปรแกรม C

อักขระใน Python

Python ไม่สนับสนุนประเภทข้อมูลอักขระใด ๆ แต่อักขระทั้งหมดจะถือว่าเป็นสตริงซึ่งเป็นลำดับของอักขระ เราจะศึกษาสตริงในบทที่แยกต่างหาก คุณไม่จำเป็นต้องมีการจัดเรียงพิเศษใด ๆ ในขณะที่ใช้อักขระเดี่ยวใน Python

ต่อไปนี้เป็นโปรแกรมเทียบเท่าที่เขียนด้วย Python -

ch1 = 'a';      
ch2 = '1';
ch3 = '$';
ch4 = '+'; 

print "ch1: ", ch1
print "ch2: ", ch2
print "ch3: ", ch3
print "ch4: ", ch4

เมื่อโปรแกรมด้านบนถูกเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -

ch1:  a
ch2:  1
ch3:  $
ch4:  +

Python สนับสนุนลำดับการหลบหนีในลักษณะเดียวกับที่คุณใช้ในการเขียนโปรแกรม C