คง C
คงเป็นค่าคงที่ไม่เปลี่ยนแปลงในระหว่างการทำงานของโปรแกรมค่าคงที่เหล่านี้เรียกว่าตัวอักษร
คงอาจจะเป็นที่ใด ๆ ของชนิดข้อมูลพื้นฐานเช่นค่าคงที่จำนวนเต็มคงจุดคงที่ตัวละครหรือตัวอักษรของสตริงลอยมีค่าคงที่การแจงนับ
เช่นเดียวกับตัวแปรปกติอย่างต่อเนื่อง แต่ค่าคงที่ในความหมายที่ไม่สามารถแก้ไขได้
เลขคงที่
ค่าคงที่จำนวนเต็มสามารถทศนิยมฐานแปดหรือเลขฐานสิบหกค่าคงที่ คำนำหน้าระบุ Radix: 0x หรือ 0X สำหรับเลขฐานสิบหก, 0 สำหรับฐานแปดโดยไม่มีคำนำหน้าเริ่มต้นการแสดงทศนิยม
ค่าคงที่จำนวนเต็มยังสามารถใช้ต่อท้ายต่อท้ายคือการรวมกันของ U และ L, U หมายถึงจำนวนเต็มไม่ได้ลงนาม (นิรนาม), L หมายถึงจำนวนเต็มยาว (Long) ต่อท้ายสามารถเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก, U และ L ในลำดับใด
นี่เป็นตัวอย่างของค่าคงที่จำนวนเต็มคือ:
212 /* 合法的 */ 215u /* 合法的 */ 0xFeeL /* 合法的 */ 078 /* 非法的:8 不是八进制的数字 */ 032UU /* 非法的:不能重复后缀 */
ต่อไปนี้เป็นตัวอย่างของประเภทต่างๆของค่าคงที่จำนวนเต็ม:
85 /* 十进制 */ 0213 /* 八进制 */ 0x4b /* 十六进制 */ 30 /* 整数 */ 30u /* 无符号整数 */ 30l /* 长整数 */ 30ul /* 无符号长整数 */
ค่าคงที่จุดลอยตัว
จุดลอยตัวคงประกอบด้วยส่วนจำนวนเต็มจุดทศนิยมและส่วนบางส่วนขององค์ประกอบดัชนี คุณสามารถใช้รูปแบบทศนิยมหรือชี้แจงเพื่อเป็นตัวแทนของค่าคงที่จุดลอยตัว
เมื่อใช้แทนทศนิยมก็ต้องมีจุดทศนิยมดัชนีหรือทั้งสองอย่าง เมื่อมีการใช้รูปแบบดัชนีก็ต้องมีส่วนจำนวนเต็มส่วนบางส่วนหรือทั้งสองอย่าง ดัชนีเป็น e ไม่ได้ลงนามหรือ e แนะนำ
นี่เป็นตัวอย่างของค่าคงที่จุดลอยตัวคือ:
3.14159 /* 合法的 */ 314159E-5L /* 合法的 */ 510E /* 非法的:不完整的指数 */ 210f /* 非法的:没有小数或指数 */ .e55 /* 非法的:缺少整数或分数 */
ตัวละครอย่างต่อเนื่อง
ค่าคงที่ตัวละครจะถูกล้อมรอบในราคาเดียวเช่น 'X'สามารถเก็บไว้ในรูปแบบที่เรียบง่ายถ่านตัวแปร
ค่าคงที่ตัวละครสามารถเป็นตัวอักษรธรรมดา (เช่น 'X') ลำดับหนี (เช่น '\ t') หรือตัวอักษรสากล (ตัวอย่างเช่น '\ u02C0')
ใน C มีบางตัวอักษรเฉพาะเมื่อมีการทับขวาในด้านหน้าของพวกเขาพวกเขามีความหมายพิเศษเช่นใช้ในการเป็นตัวแทนของการขึ้นบรรทัดใหม่ (\ n) หรือแท็บ (\ t) และไม่ชอบ ตารางต่อไปนี้แสดงบางส่วนของเหล่ารหัสลำดับหนี:
转义序列 | 含义 |
---|---|
\\ | \ 字符 |
\' | ' 字符 |
\" | " 字符 |
\? | ? 字符 |
\a | 警报铃声 |
\b | 退格键 |
\f | 换页符 |
\n | 换行符 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ooo | 一到三位的八进制数 |
\xhh . . . | 一个或多个数字的十六进制数 |
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงลำดับตัวหนี:
#include <stdio.h> int main() { printf("Hello\tWorld\n\n"); return 0; }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
Hello World
ค่าคงที่สตริง
คงที่หรือสตริงตัวอักษรจะถูกล้อมรอบในราคาคู่ "" ใน คล้ายกับตัวอักษรที่มีอย่างต่อเนื่องตัวอักษร: ตัวอักษรธรรมดาลำดับหนีและตัวละครที่หลากหลาย
คุณสามารถใช้พื้นที่เป็นตัวคั่นใส่สายยาวคงที่สาขา
ตัวอย่างต่อไปนี้แสดงให้เห็นว่าค่าคงที่สตริง ต่อไปนี้สตริงสามรูปแบบที่แสดงเหมือนกัน
"hello, dear" "hello, \ dear" "hello, " "d" "ear"
การกำหนดค่าคงที่
ใน C มีสองวิธีง่ายๆของการกำหนดค่าคงที่:
- ใช้ preprocessor#define
- การใช้คำหลักconst
preprocessor #define
นี่คือความหมายของรูปแบบ #define คง preprocessor นี้:
#define identifier value
พิจารณาตัวอย่างต่อไปนี้:
#include <stdio.h> #define LENGTH 10 #define WIDTH 5 #define NEWLINE '\n' int main() { int area; area = LENGTH * WIDTH; printf("value of area : %d", area); printf("%c", NEWLINE); return 0; }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
value of area : 50
คำหลัก const
คุณสามารถใช้คำนำหน้าประกาศconst ระบุชนิดของค่าคงที่ดังต่อไปนี้:
const type variable = value;
พิจารณาตัวอย่างต่อไปนี้:
#include <stdio.h> int main() { const int LENGTH = 10; const int WIDTH = 5; const char NEWLINE = '\n'; int area; area = LENGTH * WIDTH; printf("value of area : %d", area); printf("%c", NEWLINE); return 0; }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
value of area : 50
โปรดทราบว่าคงถูกกำหนดให้เป็นตัวพิมพ์ใหญ่ก็คือการปฏิบัติเขียนโปรแกรมที่ดี