การเขียนโปรแกรมคอมพิวเตอร์ - ตัวอักษร
ถ้าเป็นเรื่องง่ายที่จะทำงานกับตัวเลขในการเขียนโปรแกรมคอมพิวเตอร์การทำงานกับตัวอักษรจะง่ายยิ่งขึ้น อักขระเป็นตัวอักษรธรรมดาเช่น 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