C pemalar
Pemalar ialah nilai tetap yang tidak berubah semasa pelaksanaan program. Nilai tetap ini juga dipanggil nilai literal.
Pemalar boleh menjadi sebarang jenis data asas, seperti pemalar integer, pemalar titik terapung, pemalar aksara atau literal rentetan, serta pemalar penghitungan.
Malar adalah seperti pembolehubah biasa, kecuali nilai pemalar tidak boleh diubah suai selepas ia ditakrifkan.
Pemalar integer
Pemalar integer boleh menjadi pemalar perpuluhan, perlapanan atau heksadesimal. Awalan menentukan asas: 0x atau 0X untuk perenambelasan, 0 untuk perlapanan, dan tanpa awalan lalai ialah perpuluhan.
Pemalar integer juga boleh mempunyai imbuhan Akhiran ialah gabungan U dan L. U mewakili integer tidak bertanda (tidak bertanda) dan L mewakili integer panjang (panjang). Akhiran boleh menjadi huruf besar atau huruf kecil, dan U dan L boleh dalam sebarang susunan.
Berikut ialah contoh pemalar integer:
212 /* 合法的 */215u /* 合法的 */0xFeeL /* 合法的 */078 /* 非法的:8 不是八进制的数字 */032UU /* 非法的:不能重复后缀 */
Berikut adalah contoh pelbagai jenis pemalar integer:
85 /* 十进制 */0213 /* 八进制 */0x4b /* 十六进制 */30 /* 整数 */30u /* 无符号整数 */30l /* 长整数 */30ul /* 无符号长整数 */
Pemalar titik terapung
Takat Terapung pemalar terdiri daripada bahagian integer, titik perpuluhan, bahagian pecahan, dan bahagian eksponen. Anda boleh mewakili pemalar titik terapung dalam bentuk perpuluhan atau eksponen.
Apabila dinyatakan dalam bentuk perpuluhan, titik perpuluhan, eksponen atau kedua-duanya mesti disertakan. Apabila dinyatakan dalam bentuk eksponen, bahagian integer, bahagian perpuluhan, atau kedua-duanya mesti disertakan. Eksponen yang ditandatangani diperkenalkan dengan e atau E.
Berikut ialah contoh pemalar titik terapung:
3.14159 /* 合法的 */314159E-5L /* 合法的 */510E /* 非法的:不完整的指数 */210f /* 非法的:没有小数或指数 */.e55 /* 非法的:缺少整数或分数 */
Pemalar aksara
Pemalar aksara disertakan dalam petikan tunggal, contohnya, 'x' boleh disimpan dalam char dalam pembolehubah mudah jenis.
Pemalar aksara boleh menjadi aksara biasa (seperti 'x'), urutan pelarian (seperti 't'), atau aksara universal (seperti 'u02C0').
Dalam C, terdapat beberapa aksara tertentu Apabila ia didahului oleh garis serong ke belakang, ia mempunyai makna khas dan digunakan untuk mewakili baris baharu (n) atau tab (t). Jadual berikut menyenaraikan beberapa kod jujukan melarikan diri sedemikian:
转义序列 | 含义 |
---|---|
\ | 字符 |
' | ' 字符 |
" | " 字符 |
? | ? 字符 |
a | 警报铃声 |
b | 退格键 |
f | 换页符 |
n | 换行符 |
r | 回车 |
t | 水平制表符 |
v | 垂直制表符 |
ooo | 一到三位的八进制数 |
xhh . . . | 一个或多个数字的十六进制数 |
Contoh berikut menunjukkan beberapa aksara jujukan melarikan diri:
#include <stdio.h>int main(){ printf("Hello\tWorld\n\n"); return 0;}
Apabila kod di atas disusun dan dilaksanakan, ia menghasilkan keputusan berikut:
Hello World
Pemalar rentetan
String literal atau pemalar disertakan dalam petikan berganda "". Rentetan mengandungi aksara yang serupa dengan pemalar aksara: aksara biasa, urutan melarikan diri dan aksara universal.
Anda boleh menggunakan ruang sebagai pembatas untuk memisahkan pemalar rentetan panjang kepada baris.
Contoh di bawah menunjukkan beberapa pemalar rentetan. Rentetan yang dipaparkan dalam tiga bentuk berikut adalah sama.
"hello, dear""hello, \ dear""hello, " "d" "ear"
Tentukan pemalar
Dalam C, terdapat dua cara mudah untuk mentakrifkan pemalar:
Gunakan #define prapemproses.
Gunakan kata kunci const.
#define preprocessor
Berikut ialah bentuk penggunaan #define preprocessor untuk mentakrifkan pemalar:
#define identifier value
Sila lihat contoh berikut untuk butiran:
#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;}
Apabila kod di atas disusun dan dilaksanakan, ia menghasilkan keputusan berikut:
value of area : 50
Kata Kunci const
Anda boleh menggunakan awalan const Deklarasi pemalar jenis yang ditentukan seperti berikut:
const type variable = value;
Sila lihat contoh berikut untuk butiran:
#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;}
Apabila kod di atas disusun dan dilaksanakan, ia akan menghasilkan keputusan berikut:
value of area : 50
Sila ambil perhatian bahawa adalah amalan pengaturcaraan yang baik untuk mentakrifkan pemalar dalam huruf besar.