一、五種C語(yǔ)句
C語(yǔ)句是計(jì)算機(jī)可編譯一行行可執(zhí)行的指令,包括有如下圖五種語(yǔ)句:
1.控制語(yǔ)句用于完成一定的控制功能:
① if()…else…(條件語(yǔ)句)
② for()…(循環(huán)語(yǔ)句)
③ while()…(循環(huán)語(yǔ)句)
④ do…while ()(循環(huán)語(yǔ)句)
⑤ continue(結(jié)束本次循環(huán)語(yǔ)句)
⑥ break(中止執(zhí)行switch或循環(huán)語(yǔ)句)
⑦ switch(多分支選擇語(yǔ)句)
⑧ return(從函數(shù)返回語(yǔ)句)
⑨ goto(轉(zhuǎn)向語(yǔ)句,在結(jié)構(gòu)化程序中基本不用goto語(yǔ)句)
2.函數(shù)調(diào)用語(yǔ)句
有一個(gè)函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成,例如
printf('This is a C programe. ');注意分號(hào)不能丟。
3.表達(dá)式語(yǔ)句
表達(dá)式語(yǔ)句由一個(gè)表達(dá)式加一個(gè)分號(hào)構(gòu)成,最典型的是由賦值表達(dá)式構(gòu)成一個(gè)賦值語(yǔ)句。例如a=3;是一個(gè)賦值語(yǔ)句。
4.空語(yǔ)句
;
只有一個(gè)分號(hào)的語(yǔ)句即為空語(yǔ)句。
5.符合語(yǔ)句
可以用{}把一些語(yǔ)句和聲明括起來(lái)成為復(fù)合語(yǔ)句(又稱(chēng)語(yǔ)句塊)。
如
{
float pi=3.14159, r=2.5, area;
area=pi*r*r;
printf('area=%7.2f',area);
}
賦值語(yǔ)句是C程序中最基本的語(yǔ)句,程序中的計(jì)算功能大部分是由賦值語(yǔ)句實(shí)現(xiàn)的,幾乎每一個(gè)有使用價(jià)值的程序都包括賦值語(yǔ)句。下面重點(diǎn)講解賦值語(yǔ)句相關(guān)問(wèn)題。
二、賦值語(yǔ)句
先來(lái)分析一個(gè)例子#
1.賦值運(yùn)算符
賦值符號(hào)“=”就是賦值運(yùn)算符,注意與算數(shù)運(yùn)算符中的等于(“==”)區(qū)分開(kāi)。賦值符號(hào)的作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量。如a=3 實(shí)現(xiàn)執(zhí)行一次賦值操作,把常量3賦給變量a。
2.復(fù)合的賦值運(yùn)算符
在賦值符=之前加上其他運(yùn)算符,可以構(gòu)成復(fù)合的運(yùn)算符。如在“=”前加一個(gè)“ ”運(yùn)算符就成了符合運(yùn)算符 =,如
a =3等價(jià)于a=a 3
b%=3等價(jià)于b=b%3
c =a 3等價(jià)于c=c a 3
3.賦值表達(dá)式
賦值語(yǔ)句是在賦值表達(dá)式末尾加一個(gè)分號(hào)構(gòu)成。
什么是賦值表達(dá)式呢?
由用一個(gè)賦值運(yùn)算符將一個(gè)表達(dá)式的值賦值給一個(gè)變量為賦值表達(dá)式,其一般格式為:
變量 賦值運(yùn)算符 表達(dá)式
(1)賦值表達(dá)式求解過(guò)程為:先求賦值運(yùn)算符右側(cè)的表達(dá)式的值,然后將表達(dá)式的值賦給賦值運(yùn)算符左側(cè)的變量。
從這里面可以看出,賦值表達(dá)式的值,就是表達(dá)式運(yùn)算出來(lái)的結(jié)果。比如x=3 4,這個(gè)賦值表達(dá)式的值是數(shù)值7.
(2)左值
賦值運(yùn)算符左側(cè)是一個(gè)可變化的左值(left value簡(jiǎn)寫(xiě)為lvalue)。左值的意思是他可以出現(xiàn)在賦值運(yùn)算符的左側(cè),他的值是可以改變的。
變量可以作為左值,但是算術(shù)表達(dá)式不能作為左值,常量也不能作為左值。如a=a 3,a可以作為左值,但是算術(shù)表達(dá)式a 3不能作為左值。
(3)賦值表達(dá)式的表達(dá)式又可以是一個(gè)賦值表達(dá)式
如a=b=3這個(gè)賦值表達(dá)式是成立的,其計(jì)算結(jié)果a=3,b=3。左值a的賦值表達(dá)式又是一個(gè)賦值表達(dá)式b=3,這是允許的,
相當(dāng)于a=(b=3).
4.變量賦初值
提問(wèn):i.賦值表達(dá)式a=b=c=10,書(shū)寫(xiě)正確嗎?
ii.變量賦初值 int a=b=c=10;書(shū)寫(xiě)正確嗎?
第一條表達(dá)式符合賦值表達(dá)式的語(yǔ)法規(guī)則,但是第二條變量賦初值int a=b=c=10;不正確,理由是什么呢?
C語(yǔ)言中,變量須先定義再使用。
變量賦初值語(yǔ)句int a=b=c=10;雖定義了變量a,但并沒(méi)有定義變量b和c,而是直接引用了,所以出現(xiàn)了語(yǔ)法錯(cuò)誤。
正確的變量賦初值,有兩種方式,一是先定義變量,然后用賦值語(yǔ)句給變量賦值,一是在定義變量同時(shí)對(duì)變量賦以初值。
如int a=3,b=3,c=3;或者int a=3; int b=3; int c=3;這兩種方式都是正確的。
看完C語(yǔ)句和賦值語(yǔ)句,你對(duì)C程序中最基本和最常用的賦值語(yǔ)句有了哪些清晰理解呢,歡迎交流。
練一練:
1.已知int i;float f;,以下選項(xiàng)中正確的語(yǔ)句是( )。
A、(int f)%i; B、int(f)%i;
C、int(f%i); D、(int)f%i
2.若有定義:int x=3,y=2; float a=2.5,b=3.5;則下面表達(dá)式的值為( )。
(x y)%2 (int)a/(int)b
A、1.0 B、1 C、2.0 D、2
答案:D、D