高一課程C語言>字元變數型態


字元變數型態

1.字元型資料


2.字元常數

在C語言中,字元常數有以下特點:


3.字元變數

3.1   字元資料在記憶體中的存儲形式及使用方法

每個字元變數被分配一個位元組的記憶體空間,因此只能存放一個字元。字元值是以ASCII碼的形式存放在變數的記憶體單元之中的。

如x的十進位ASCII碼是120,y的十進位ASCII碼是121。(詳情請參閱ASCII CODE表

對字元變數 a,b賦予'x'和'y'值:

0

1

1

1

1

0

0

0

0

1

1

1

1

0

0

1

所以也可以把它們看成是整數變數。C語言允許對整數變數賦以字元值,也允許對字元變數賦以整型值。在輸出時,允許把字元變數按整型量輸出,也允許把整型量按字元量輸出。

整型量為二位元組量,字元量為單字節量,當整型量按字元型量處理時,只有低八位元位元組參與處理。

【例】向字元變數賦以整數。

#include<stdio.h>

main()

{

      char a,b;

      a=120;

      b=121;

      printf("%c,%c\n",a,b);

    printf("%d,%d\n",a,b);

}

本程式中定義a,b為字元變數,但在賦值語句中賦以整數值。從結果看,a,b值的輸出形式取決於printf函數格式串中的格式符,當格式符為"%c"時,對應輸出的變數值為字元,當格式符為"%d"時,對應輸出的變數值為整數。

【例】

#include<stdio.h>

main()

{

      char a,b;

      a='a';

      b='b';

      a=a-32;

      b=b-32;

      printf("%c,%c\n%d,%d\n",a,b,a,b);

 }

本例中,a,b被說明為字元變數並賦予字元值,C語言允許字元變數參與數值運算,即用字元的ASCII 碼參與運算。由於大小寫字母的ASCII 碼相差32,因此運算後把小寫字母換成大寫字母。然後分別以整數和字元輸出。

3.2 字串常數

字串常數是由一對雙引號括起的字元序列。例如: "CHINA" , “C program” , "$12.5" 等都是合法的字串常數。

字串常數和字元常數是不同的量。它們之間主要有以下區別:

C

 

p

r

o

g

r

a

m

\0

a

 

a

\0