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:

  1. Gunakan #define prapemproses.

  2. 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.