C語言學習教程第二章-資料類型、運算子、運算式(五)

來源:互聯網
上載者:User

字串常量
字串常量是由一對雙引號括起的字元序列。例如: "CHINA" ,"C program:" , "$12.5" 等都是合法的字串常量。字串常量和字元常量是不同的量。它們之間主要有以下區別:
1.字元常量由單引號括起來,字串常量由雙引號括起來。
2.字元常量只能是單個字元,字串常量則可以含一個或多個字元。
3.可以把一個字元常量賦予一個字元變數,但不能把一個字串常量賦予一個字元變數。在C語言中沒有相應的字串變數。
這是與BASIC 語言不同的。但是可以用一個字元數組來存放一個字串常量。在數組一章內予以介紹。
4.字元常量佔一個位元組的記憶體空間。字串常量占的記憶體位元組數等於字串中位元組數加1。增加的一個位元組中存放字元"\0"(ASCII碼為0)。這是字串結束的標誌。例如,字串 "C program"在記憶體中所佔的位元組為:C program\0。字元常量'a'和字串常量"a"雖然都只有一個字元,但在記憶體中的情況是不同的。
'a'在記憶體中佔一個位元組,可表示為:a
"a"在記憶體中佔二個位元組,可表示為:a\0符號常量

符號常量
在C語言中,可以用一個標識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為:
#define 標識符 常量
其中#define也是一條預先處理命令(預先處理命令都?quot;#"開頭),稱為宏定義命令(在第九章預先處理程式中將進一步介紹),其功能是把該標識符定義為其後的常量值。一經定義,以後在程式中所有出現該標識符的地方均代之以該常量值。習慣上符號常量的標識符用大寫字母,變數標識符用小寫字母,以示區別。
#define PI 3.14159
void main()
{
float s,r;
r=5;
s=PI*r*r;
printf("s=%f\n",s);
}
由宏定義命令定義PI 為3.14159 s,r定義為實數 5->r PI*r*r->s
顯示程式結果 float s,r; r=5; s=PI*r*r; 本程式在主函數之前由宏定義命令定義PI 為3.14159,在程式中即以該值代替PI 。s=PI*r*r等效於s=3.14159*r*r。應該注意的是,符號常量不是變數,它所代表的值在整個範圍內不能再改變。也就是說,在程式中,不能再用指派陳述式對它重新賦值。

變數的初值和類型轉換

變數賦初值
在程式中常常需要對變數賦初值,以便使用變數。語言程式中可有多種方法,在定義時賦以初值的方法,這種方法稱為初始化。在變數說明中賦初值的一般形式為:
類型說明符 變數1= 值1,變數2= 值2,……; 例如:
int a=b=c=5;
float x=3.2,y=3f,z=0.75;
char ch1='K',ch2='P';
應注意,在說明中不允許連續賦值,如a=b=c=5是不合法的。
void main()
{
int a=3,b,c=5;
b=a+c;
printf("a=%d,b=%d,c=%d\n",a,b,c);
}
a<---3,b<--0,c<---5
b<--a+c
顯示程式運行結果

變數類型的轉換
變數的資料類型是可以轉換的。轉換的方法有兩種, 一種是自動轉換,一種是強制轉換。

自動轉換
自動轉換髮生在不同資料類型的量混合運算時,由編譯系統自動完成。自動轉換遵循以下規則:
1.若參與運算量的類型不同,則先轉換成同一類型,然後進行運算。
2.轉換按資料長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行運算。
3.所有的浮點運算都是以雙精確度進行的,即使僅含float單精確度量運算的運算式,也要先轉換成double型,再作運算。
4.char型和short型參與運算時,必須先轉換成int型。
5.在賦值運算中,賦值號兩邊量的資料類型不同時, 賦值號右邊量的類型將轉換為左邊量的類型。 如果右邊量的資料類型長度左邊長時,將丟失一部分資料,這樣會降低精度, 丟失的部分按四捨五入向前舍入。圖2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.