第 1 頁:整型量 |
第 7 頁:實型量 |
第 9 頁:字符型量 |
第 13 頁:變量的初值和類型轉(zhuǎn)換 |
第 15 頁:基本運算符和表達(dá)式 |
第 18 頁:算術(shù)表達(dá)式 |
第 21 頁:小結(jié) |
變量的初值和類型轉(zhuǎn)換
變量賦初值
在程序中常常需要對變量賦初值,以便使用變量。語言程序中可有多種方法,在定義時賦以初值的方法,這種方法稱為初始化。在變量說明中賦初值的一般形式為:
類型說明符 變量1= 值1,變量2= 值2,……; 例如:
int a=b=c=5;
float x=3.2,y=3f,z=0.75;
char ch1='K',ch2='P';
應(yīng)注意,在說明中不允許連續(xù)賦值,如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
顯示程序運行結(jié)果
變量類型的轉(zhuǎn)換
變量的數(shù)據(jù)類型是可以轉(zhuǎn)換的。轉(zhuǎn)換的方法有兩種, 一種是自動轉(zhuǎn)換,一種是強(qiáng)制轉(zhuǎn)換。
自動轉(zhuǎn)換
自動轉(zhuǎn)換發(fā)生在不同數(shù)據(jù)類型的量混合運算時,由編譯系統(tǒng)自動完成。自動轉(zhuǎn)換遵循以下規(guī)則:
1.若參與運算量的類型不同,則先轉(zhuǎn)換成同一類型,然后進(jìn)行運算。
2.轉(zhuǎn)換按數(shù)據(jù)長度增加的方向進(jìn)行,以保證精度不降低。如int型和long型運算時,先把int量轉(zhuǎn)成long型后再進(jìn)行運算。
3.所有的浮點運算都是以雙精度進(jìn)行的,即使僅含float單精度量運算的表達(dá)式,也要先轉(zhuǎn)換成double型,再作運算。
4.char型和short型參與運算時,必須先轉(zhuǎn)換成int型。
5.在賦值運算中,賦值號兩邊量的數(shù)據(jù)類型不同時, 賦值號右邊量的類型將轉(zhuǎn)換為左邊量的類型。 如果右邊量的數(shù)據(jù)類型長度左邊長時,將丟失一部分?jǐn)?shù)據(jù),這樣會降低精度, 丟失的部分按四舍五入向前舍入。圖21表示了類型自動轉(zhuǎn)換的規(guī)則。
void main()
{
float PI=3.14159;
int s,r=5;
s=r*r*PI;
printf("s=%d\n",s);
}
PI<--3.14159
s<--0,r<--5
s<--r*r*PI
顯示程序運行結(jié)果
float PI=3.14159;
int s,r=5;
s=r*r*PI;
本例程序中,PI為實型;s,r為整型。在執(zhí)行s=r*r*PI語句時,r和PI都轉(zhuǎn)換成double型計算,結(jié)果也為double型。但由于s為整型,故賦值結(jié)果仍為整型,舍去了小數(shù)部分。
相關(guān)推薦:計算機(jī)等考二級C語言備考:C語言/C++編譯過程北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |