第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計_第1頁
第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計_第2頁
第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計_第3頁
第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計_第4頁
第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、白 雪 飛 中國科學技術(shù)大學電子科學與技術(shù)系 dept. of elec. sci. n表達式最后加一個分號 l舉例 na=3;/* 賦值語句 */ nz=x*y, z+;/* 一條語句 */ nx-y;/* 語句,但無實際意義 */ ni+;/* 語句 */ ni+/* 表達式,不是語句 */ l形式 nfunction(arguments); n函數(shù)調(diào)用后加一個分號 n函數(shù)調(diào)用語句可以看作一種表達式語句 l舉例 nprintf(%d, i); ngetchar(); nmyfun(a, b); l形式 n; n只有一個分號 l用法 n作為轉(zhuǎn)向點 n作為循環(huán)語句中的循環(huán)體 l舉例 nfor(

2、i=1; i=100; i+) sum+=i; nfor(i=1; i y) /* 復合語句開始 */ t = x; x = y; y = t; /* 復合語句結(jié)束 */ printf(%d, %d, x, y); l除復合語句外,語句都以分號;作為結(jié)束 l語句書寫格式比較自由,確定語句結(jié)束 的唯一標準是分號(;) l注意區(qū)分表達式和表達式語句,它們的 用法不同 n舉例,if(a=b)0) t=a; n錯例,if(a=b;)0) t=a; n舉例,if(xy) x-; y+; n錯例,if(xy) x-; y+ 運算符名稱舉例優(yōu)先級 (算術(shù)運算符) 小于i100 高 =小于等于a大于f3.14

3、 =大于等于c=a =等于a=b 低 !=不等于x!=0 (賦值運算符) l用關(guān)系運算符將兩個表達式連接起來 na+bc+d, (a=3)x l注意區(qū)分等于(=)和賦值運算符(=) na=b, a=b l關(guān)系表達式的值是邏輯值“真”或“假” nc語言用整型表示邏輯值,“真”1、 “假”0 n舉例,a=3, b=2, c=1; d=ab;/* d=1 */ f=abc; /* f=(ab)c=0 */ 運算符名稱舉例優(yōu)先級 !邏輯非!(ab) (算術(shù)運算符) (關(guān)系運算符) if (x y)/* d為x和y之間的距離 */ d = x - y; else d = y - x; if (x y);

4、/* 合法,但沒有實際操作 */ lif語句的各子句都可以又是if語句 l應(yīng)注意if-else的配對關(guān)系 nelse總是與其上面最近的if配對 n可以用明確if-else的配對關(guān)系 if(exp1)if(exp1) if(exp2) if(exp2) statement1 statement1 elseelse statement2 statement2 l條件運算符?: l條件表達式 nexp1?exp2:exp3 n先判斷exp1 n若exp1為“真”,表達式的值為exp2的值 n若exp1為“假”,表達式的值為exp3的值 n舉例,max = (xy) ? x : y; n同:if(xy

5、) max = x; else max = y; switch (expression) case const-exp: statements case const-exp: statements . . case const-exp: statements default: statements l先求switch后表達式的值,若此值與某 個case后的常量表達式的值相等,則跳 轉(zhuǎn)到這個case后的語句;若沒有相等的 常量表達式,則跳轉(zhuǎn)到default l跳轉(zhuǎn)后程序一直往下執(zhí)行,不會因為遇 到另一個case而直接跳出switch l根據(jù)實際需要,可以沒有default l若需要跳出switc

6、h,可使用break語句 lcase和default的順序不影響執(zhí)行結(jié)果 switch (day) /* 打印星期的縮寫 */ case 1: printf(mon.n); break; case 2: printf(tue.n); break; case 3: printf(wed.n); break; case 4: printf(thu.n); break; case 5: printf(fri.n); break; case 6: printf(sat.n); break; default:printf(sun.n); switch (deptno) /* 根據(jù)系編號打印學院 */ c

7、ase 15: case 16: case 17: printf(商學院n); break; case 18: case 25: printf(人文學院n); break; case 7: printf(地空學院n); break; default: printf(其他學院n); l求一元二次方程的根 n當a=0時,不是一元二次方程 n當a0時,方程的根為 當b2-4ac0,方程有兩個實根 當b2-4ac0,方程有兩個共軛復根 0 2 cbxax aacbabx24)2/( 2 lwhile語句 ldo-while語句 lfor語句 lbreak和continue語句 l循環(huán)程序設(shè)計舉例 wh

8、ile (expression) statement nwhile型循環(huán) n先判斷表達式,后 執(zhí)行語句 n一般情況下,循環(huán) 中應(yīng)含有能使循環(huán) 語句結(jié)束的操作 statement a b expr. 真真 假假 int i, sum; i = 1; sum = 0; while(i=100) sum += i;/* 循環(huán)體縮進書寫 */ i+;/* 使循環(huán)趨向結(jié)束 */ 100 1i isum do statement while (expression); n類似于until型循環(huán) n先執(zhí)行一次循環(huán)體 語句,后判斷表達 式 statement a b expr. 真真 假假 int i, su

9、m; i = 1; sum = 0; do sum += i; i+; while(i=100); 100 1i isum do sum+=i; i+; while(i100); until型循環(huán)型循環(huán) for (expr1; expr2; expr3) statement expr1; while (expr2) statement expr3; l三個表達式的說明 nexpr1:初始化 nexpr2:循環(huán)條件 nexpr3:一般是循環(huán)變量的改變 l三個表達式都可以省略 n分隔表達式的分號不能省略 nexpr1省略,不進行初始化 nexpr2省略,認為循環(huán)條件永為“真” nexpr3省略,不

10、在這里改變循環(huán)變量 int i, sum; for (i=1, sum=0; i=100; i+) sum += i; for (i=1, sum=0; i=100; ) sum += i+; for (i=0, sum=0; i+100; ) sum += i; 100 1i isum l形式 nbreak; l說明 n跳出switch語句 n跳出本層循環(huán)語句 n如果有多層循環(huán)存在,break只跳出它所在 的那一層循環(huán)語句,不影響外層循環(huán)的執(zhí)行 n不能用于循環(huán)語句和switch語句之外的任 何其他場合 l形式 ncontinue; l說明 n結(jié)束本次循環(huán) n跳過循環(huán)體中余下的其他語句,接著進行下 一次循環(huán)的判定 n只能用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論