C語言的基本語句和程序結(jié)構(gòu)流程控制、執(zhí)行.ppt_第1頁
C語言的基本語句和程序結(jié)構(gòu)流程控制、執(zhí)行.ppt_第2頁
C語言的基本語句和程序結(jié)構(gòu)流程控制、執(zhí)行.ppt_第3頁
C語言的基本語句和程序結(jié)構(gòu)流程控制、執(zhí)行.ppt_第4頁
C語言的基本語句和程序結(jié)構(gòu)流程控制、執(zhí)行.ppt_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,2,目 錄,基本語句 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 邏輯運(yùn)算符和邏輯表達(dá)式 分支程序設(shè)計 循環(huán)程序設(shè)計,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,3,基本語句 (Statements),控制語句 表達(dá)式語句 函數(shù)調(diào)用語句 空語句 復(fù)合語句,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,4,控制語句,完成一定的控制功能 C語言的9種控制語句 if-else while continue switch return,for do-while break goto,C語言程序

2、設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,5,表達(dá)式語句,形式 expression; 表達(dá)式最后加一個分號 舉例 a=3;/* 賦值語句 */ z=x*y, z+;/* 一條語句 */ x-y;/* 語句,但無實際意義 */ i+;/* 語句 */ i+/* 表達(dá)式,不是語句 */,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,6,函數(shù)調(diào)用語句,形式 function(arguments); 函數(shù)調(diào)用后加一個分號 函數(shù)調(diào)用語句可以看作一種表達(dá)式語句 舉例 printf(%d, i); getchar(); myfun(a, b);,C語言程序設(shè)計 - 第3章 C語言的基

3、本語句和程序結(jié)構(gòu)設(shè)計,7,空語句,形式 ; 只有一個分號 用法 作為轉(zhuǎn)向點 作為循環(huán)語句中的循環(huán)體 舉例 for(i=1; i=100; i+) sum+=i; for(i=1; i=100; sum+=i+);,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,8,復(fù)合語句 (塊語句,Block),形式 statements 用把若干條語句組合成為一個復(fù)合語句 內(nèi)可以沒有任何語句,可以只有一條語句,也可以有多條語句 可以包括復(fù)合語句、空語句、控制語句等 用法 一個復(fù)合語句當(dāng)作一條語句來使用 需要把多條語句放在只允許一條語句的場合,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)

4、構(gòu)設(shè)計,9,復(fù)合語句舉例,int x, y, t; if (x y) /* 復(fù)合語句開始 */ t = x; x = y; y = t; /* 復(fù)合語句結(jié)束 */ printf(%d, %d, x, y);,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,10,C語言語句使用說明,除復(fù)合語句外,語句都以分號;作為結(jié)束 語句書寫格式比較自由,確定語句結(jié)束的唯一標(biāo)準(zhǔn)是分號(;) 注意區(qū)分表達(dá)式和表達(dá)式語句,它們的用法不同 舉例,if(a=b)0) t=a; 錯例,if(a=b;)0) t=a; 舉例,if(xy) x-; y+; 錯例,if(xy) x-; y+,C語言程序設(shè)計 - 第

5、3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,11,關(guān)系運(yùn)算符 (Relational Operators),C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,12,關(guān)系表達(dá)式,用關(guān)系運(yùn)算符將兩個表達(dá)式連接起來 a+bc+d, (a=3)x 注意區(qū)分等于(=)和賦值運(yùn)算符(=) a=b, a=b 關(guān)系表達(dá)式的值是邏輯值“真”或“假” C語言用整型表示邏輯值,“真”1、“假”0 舉例,a=3, b=2, c=1; d=ab;/* d=1 */ f=abc;/* f=(ab)c=0 */,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,13,邏輯運(yùn)算符 (Logical Operat

6、ors),C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,14,邏輯運(yùn)算規(guī)則,!a 若a為“真”,!a為“假” 若a為“假”,!a為“真” a char c=a; float f=0.0; i=0; !i;/* 兩者邏輯值相同 */ i!=0; i;/* 兩者邏輯值相同 */ c /* “假” */,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,17,邏輯表達(dá)式求值特點,邏輯表達(dá)式中的運(yùn)算符,只有會影響表達(dá)式求值時,才會執(zhí)行 a if (x y)/* d為x和y之間的距離 */ d = x - y; else d = y - x; if (x y);/* 合法,但沒有

7、實際操作 */,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,22,if語句的嵌套,if語句的各子句都可以又是if語句 應(yīng)注意if-else的配對關(guān)系 else總是與其上面最近的if配對 可以用明確if-else的配對關(guān)系 if(exp1)if(exp1) if(exp2) if(exp2) statement1 statement1 elseelse statement2 statement2,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,23,條件運(yùn)算符 (Conditional Operator),條件運(yùn)算符?: 條件表達(dá)式 exp1?exp2:exp3 先判

8、斷exp1 若exp1為“真”,表達(dá)式的值為exp2的值 若exp1為“假”,表達(dá)式的值為exp3的值 舉例,max = (xy) ? x : y; 同:if(xy) max = x; else max = y;,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,24,switch語句,switch (expression) case const-exp: statements case const-exp: statements . . case const-exp: statements default: statements ,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序

9、結(jié)構(gòu)設(shè)計,25,switch語句的說明,先求switch后表達(dá)式的值,若此值與某個case后的常量表達(dá)式的值相等,則跳轉(zhuǎn)到這個case后的語句;若沒有相等的常量表達(dá)式,則跳轉(zhuǎn)到default 跳轉(zhuǎn)后程序一直往下執(zhí)行,不會因為遇到另一個case而直接跳出switch 根據(jù)實際需要,可以沒有default 若需要跳出switch,可使用break語句 case和default的順序不影響執(zhí)行結(jié)果,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,26,switch語句舉例 (1),switch (day) /* 打印星期的縮寫 */ case 1: printf(Mon.n); brea

10、k; 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); ,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,27,switch語句舉例 (2),switch (deptno) /* 根據(jù)系編號打印學(xué)院 */ case 15: case 16: case 17: printf(商學(xué)院n); br

11、eak; case 18: case 25: printf(人文學(xué)院n); break; case 7: printf(地空學(xué)院n); break; default: printf(其他學(xué)院n); ,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,28,分支程序設(shè)計舉例,求一元二次方程的根 當(dāng)a=0時,不是一元二次方程 當(dāng)a0時,方程的根為 當(dāng)b2-4ac0,方程有兩個實根 當(dāng)b2-4ac0,方程有兩個共軛復(fù)根,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,29,例1:求一元二次方程的根,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,30,循環(huán)程序設(shè)計,

12、while語句 do-while語句 for語句 break和continue語句 循環(huán)程序設(shè)計舉例,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,31,while語句,while (expression) statement while型循環(huán) 先判斷表達(dá)式,后 執(zhí)行語句 一般情況下,循環(huán) 中應(yīng)含有能使循環(huán) 語句結(jié)束的操作,statement,a,b,expr.,真,假,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,32,while語句舉例,int i, sum; i = 1; sum = 0; while(i=100) sum += i;/* 循環(huán)體縮進(jìn)書寫 */

13、 i+;/* 使循環(huán)趨向結(jié)束 */ ,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,33,do-while語句,do statement while (expression); 類似于Until型循環(huán) 先執(zhí)行一次循環(huán)體 語句,后判斷表達(dá) 式,statement,a,b,expr.,真,假,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,34,do-while語句舉例,int i, sum; i = 1; sum = 0; do sum += i; i+; while(i=100);,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,35,do-while與U

14、ntil型循環(huán),do sum+=i; i+; while(i=100); C語言形式,repeat sum+=i; i+; until(i100); Until型循環(huán),C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,36,for語句,for (expr1; expr2; expr3) statement expr1; while (expr2) statement expr3; ,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,37,for語句的說明,三個表達(dá)式的說明 expr1:初始化 expr2:循環(huán)條件 expr3:一般是循環(huán)變量的改變 三個表達(dá)式都可以省略 分隔

15、表達(dá)式的分號不能省略 expr1省略,不進(jìn)行初始化 expr2省略,認(rèn)為循環(huán)條件永為“真” expr3省略,不在這里改變循環(huán)變量,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,38,for語句舉例,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;,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,39,break語句,形式 break; 說明 跳出switch語句 跳出本層循環(huán)語句 如果有多層循環(huán)存在,break只跳出它所在的那一層循環(huán)語句,不影響外層循環(huán)的執(zhí)行 不能用于循環(huán)語句和switch語句之外的任何其他場合,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,40,continue語句,形式 continue; 說明 結(jié)束本次循環(huán) 跳過循環(huán)體中余下的其他語句,接著進(jìn)行下一次循環(huán)的判定 只能用于循環(huán)語句中,C語言程序設(shè)計 - 第3章 C語言的基本語句和程序結(jié)構(gòu)設(shè)計,4

溫馨提示

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

評論

0/150

提交評論