C語言程序設計基本語句和程序結(jié)構流程控制、執(zhí)行課件_第1頁
C語言程序設計基本語句和程序結(jié)構流程控制、執(zhí)行課件_第2頁
C語言程序設計基本語句和程序結(jié)構流程控制、執(zhí)行課件_第3頁
C語言程序設計基本語句和程序結(jié)構流程控制、執(zhí)行課件_第4頁
C語言程序設計基本語句和程序結(jié)構流程控制、執(zhí)行課件_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄基本語句關系運算符和關系表達式邏輯運算符和邏輯表達式分支程序設計循環(huán)程序設計目錄基本語句基本語句(Statements)控制語句表達式語句函數(shù)調(diào)用語句空語句復合語句基本語句(Statements)控制語句控制語句完成一定的控制功能C語言的9種控制語句if-elsewhilecontinueswitchreturnfordo-whilebreakgoto控制語句完成一定的控制功能表達式語句形式expression;表達式最后加一個分號舉例a=3; /*賦值語句*/z=x*y,z++; /*一條語句*/x-y; /*語句,但無實際意義*/i++; /*語句*/i++ /*表達式,不是語句*/表達式語句形式函數(shù)調(diào)用語句形式function(arguments);函數(shù)調(diào)用后加一個分號函數(shù)調(diào)用語句可以看作一種表達式語句舉例printf("%d",i);getchar();myfun(a,b);函數(shù)調(diào)用語句形式空語句形式;只有一個分號用法作為轉(zhuǎn)向點作為循環(huán)語句中的循環(huán)體舉例for(i=1;i<=100;i++)sum+=i;for(i=1;i<=100;sum+=i++);空語句形式復合語句(塊語句,Block)形式{statements}用{}把若干條語句組合成為一個復合語句{}內(nèi)可以沒有任何語句,可以只有一條語句,也可以有多條語句可以包括復合語句、空語句、控制語句等用法一個復合語句當作一條語句來使用需要把多條語句放在只允許一條語句的場合復合語句(塊語句,Block)形式復合語句舉例intx,y,t;if(x>y){ /*復合語句開始*/t=x;x=y;y=t;} /*復合語句結(jié)束*/printf("%d,%d",x,y);復合語句舉例intx,y,t;C語言語句使用說明除復合語句外,語句都以分號;作為結(jié)束語句書寫格式比較自由,確定語句結(jié)束的唯一標準是分號(;)注意區(qū)分表達式和表達式語句,它們的用法不同舉例,if((a=b)>0)t=a;錯例,if((a=b;)>0)t=a;舉例,if(x>y){x--;y++;}錯例,if(x>y){x--;y++}C語言語句使用說明除復合語句外,語句都以分號;作為結(jié)束關系運算符(RelationalOperators)運算符名稱舉例優(yōu)先級(算術運算符)<小于i<100高<=小于等于a<=MAX>大于f>3.14>=大于等于c>='a'==等于a==b低!=不等于x!=0(賦值運算符)關系運算符(RelationalOperators)運算關系表達式用關系運算符將兩個表達式連接起來a+b>c+d,(a=3)>x注意區(qū)分等于(==)和賦值運算符(=)a=b,a==b關系表達式的值是邏輯值—“真”或“假”C語言用整型表示邏輯值,“真”—1、“假”—0舉例, a=3,b=2,c=1; d=a>b; /*d=1*/ f=a>b>c; /*f=(a>b)>c=0*/關系表達式用關系運算符將兩個表達式連接起來邏輯運算符(LogicalOperators)運算符名稱舉例優(yōu)先級!邏輯非!(a>b)(算術運算符)(關系運算符)&&邏輯與(x>y)&&(y>z)||邏輯或(x>3)||(x<-3)(賦值運算符)邏輯運算符(LogicalOperators)運算符名稱邏輯運算規(guī)則!a若a為“真”,!a為“假”若a為“假”,!a為“真”a&&b若a、b都為“真”,則a&&b為“真”若a、b不全為“真”,則a&&b為“假”a||b若a、b都為“假”,則a||b為“假”若a、b不全為“假”,則a||b為“真”邏輯運算規(guī)則!a邏輯表達式邏輯運算符把邏輯量或表達式連接起來(y%4==0&&y%100!=0)||(y%400==0)邏輯表達式的值是邏輯值用整型表示邏輯值“真”1,“假”0把一個表達式的值作為邏輯值使用非零“真”,零“假”這里的非零與零,包括整型、浮點型等邏輯表達式邏輯運算符把邏輯量或表達式連接起來邏輯表達式舉例inti=3;charc='a';floatf=0.0;i==0;!i; /*兩者邏輯值相同*/i!=0;i; /*兩者邏輯值相同*/c&&!f; /*“真”*/i&&1.23||f;/*“真”*/c&&4&&f; /*“假”*/邏輯表達式舉例inti=3;邏輯表達式求值特點邏輯表達式中的運算符,只有會影響表達式求值時,才會執(zhí)行a&&b&&c若a為“假”,則不再判斷b和ca||b||c若a為“真”,則不再判斷b和c舉例,(m=a>b)&&(n=c>d)DeMorgan定理!(a&&b) (!a)||(!b)!(a||b) (!a)&&(!b)!((a&&b)||c) (!a||!b)&&!c邏輯表達式求值特點邏輯表達式中的運算符,只有會影響表達式求值分支程序設計if語句條件運算符?:switch語句分支程序設計舉例分支程序設計if語句if語句的三種形式if(expression)statementif(expression)statement1

else

statement2if(expression1)statement1

elseif(expression2)statement2

elseif(expression3)statement3......

elseif(expressionn-1)statementn-1

else

statementnif語句的三種形式if(expression)statemif語句的說明無論哪種形式,一條if語句,包括else或elseif子句,只算作一條語句if語句中的子句,可以是一條任何類型的語句,包括表達式語句、空語句、復合語句、控制語句子句末尾的分號,只表示子句的結(jié)束,不表示if語句結(jié)束注意復合語句末尾沒有分號else子句都是可以沒有的if語句的說明無論哪種形式,一條if語句,包括else或elif語句舉例if(x>y) /*y為x和y的較大值*/y=x;if(x>y) /*d為x和y之間的距離*/d=x-y;elsed=y-x;if(x>y); /*合法,但沒有實際操作*/if語句舉例if(x>y) /*y為x和y的較大值if語句的嵌套if語句的各子句都可以又是if語句應注意if-else的配對關系else總是與其上面最近的if配對可以用{}明確if-else的配對關系if(exp1) if(exp1)if(exp2) {if(exp2)

statement1

statement1}else else

statement2

statement2if語句的嵌套if語句的各子句都可以又是if語句條件運算符(ConditionalOperator)條件運算符?:條件表達式exp1?exp2:exp3先判斷exp1若exp1為“真”,表達式的值為exp2的值若exp1為“假”,表達式的值為exp3的值舉例, max=(x>y)?x:y;同: if(x>y)max=x; elsemax=y;條件運算符(ConditionalOperator)條件switch語句

switch(expression){

case

const-exp:statements

case

const-exp:statements......

case

const-exp:statements

default:statements }switch語句 switch(expression){switch語句的說明先求switch后表達式的值,若此值與某個case后的常量表達式的值相等,則跳轉(zhuǎn)到這個case后的語句;若沒有相等的常量表達式,則跳轉(zhuǎn)到default跳轉(zhuǎn)后程序一直往下執(zhí)行,不會因為遇到另一個case而直接跳出switch根據(jù)實際需要,可以沒有default若需要跳出switch,可使用break語句case和default的順序不影響執(zhí)行結(jié)果switch語句的說明先求switch后表達式的值,若此值與switch語句舉例(1)switch(day){ /*打印星期的縮寫*/case1:printf("Mon.\n");break;case2:printf("Tue.\n");break;case3:printf("Wed.\n");break;case4:printf("Thu.\n");break;case5:printf("Fri.\n");break;case6:printf("Sat.\n");break;default:printf("Sun.\n");}switch語句舉例(1)switch(day){ /switch語句舉例(2)switch(deptno){ /*根據(jù)系編號打印學院*/case15:case16:case17:printf("商學院\n");break;case18:case25:printf("人文學院\n");break;case7:printf("地空學院\n");break;default:printf("其他學院\n");}switch語句舉例(2)switch(deptno)分支程序設計舉例求一元二次方程的根當a=0時,不是一元二次方程當a≠0時,方程的根為當b2-4ac≥0,方程有兩個實根當b2-4ac<0,方程有兩個共軛復根分支程序設計舉例求一元二次方程的根例1:求一元二次方程的根例1:求一元二次方程的根循環(huán)程序設計while語句do-while語句for語句break和continue語句循環(huán)程序設計舉例循環(huán)程序設計while語句while語句while(expression) statementwhile型循環(huán)先判斷表達式,后 執(zhí)行語句一般情況下,循環(huán) 中應含有能使循環(huán) 語句結(jié)束的操作statementabexpr.真假while語句while(expression)statewhile語句舉例inti,sum;i=1;sum=0;while(i<=100){sum+=i; /*循環(huán)體縮進書寫*/i++; /*使循環(huán)趨向結(jié)束*/}while語句舉例inti,sum;do-while語句do

statementwhile(expression);類似于Until型循環(huán)先執(zhí)行一次循環(huán)體 語句,后判斷表達 式statementabexpr.真假do-while語句dostatementabexpr.真假do-while語句舉例inti,sum;i=1;sum=0;do{sum+=i;i++;}while(i<=100);do-while語句舉例inti,sum;do-while與Until型循環(huán)do{sum+=i;i++;}while(i<=100);C語言形式repeat{sum+=i;i++;}until(i>100);Until型循環(huán)do-while與Until型循環(huán)for語句for(expr1;expr2;expr3)

statementexpr1;while(expr2){

statement

expr3; }for語句for(expr1;expr2;expr3)for語句的說明三個表達式的說明expr1:初始化expr2:循環(huán)條件expr3:一般是循環(huán)變量的改變?nèi)齻€表達式都可以省略分隔表達式的分號不能省略expr1省略,不進行初始化expr2省略,認為循環(huán)條件永為“真”expr3省略,不在這里改變循環(huán)變量for語句的說明三個表達式的說明for語句舉例inti,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;for語句舉例inti,sum;break語句形式break;說明跳出switch語句跳出本層循環(huán)語句如果有多層循環(huán)存在,break只跳出它所在的那一層循環(huán)語句,不影響外層循環(huán)的執(zhí)行不能用于循環(huán)語句和switch語句之外的任何其他場合break語句形式continue語句形式continue;說明結(jié)束本次循環(huán)跳過循環(huán)體中余下的其他語句,接著進行下一次循環(huán)的判定只能用于循環(huán)語句中continue語句形式break和continue語句break語句跳出本層循環(huán)

while(i<j){...if(i>100)

break;...}continue語句結(jié)束本次循環(huán)while(i<j){...if(i>100)

continue;...}break和continue語句break語句continu循環(huán)程序設計舉例求最大公約數(shù)和最小公倍數(shù)循環(huán)程序設計舉例求最大公約數(shù)和最小公倍數(shù)例2:求最大公約數(shù)和最小公倍數(shù)例2:求最大公約數(shù)和最小公倍數(shù)結(jié)束TheEnd結(jié)束TheEnd演講完畢,謝謝觀看!演講完畢,謝謝觀看!目錄基本語句關系運算符和關系表達式邏輯運算符和邏輯表達式分支程序設計循環(huán)程序設計目錄基本語句基本語句(Statements)控制語句表達式語句函數(shù)調(diào)用語句空語句復合語句基本語句(Statements)控制語句控制語句完成一定的控制功能C語言的9種控制語句if-elsewhilecontinueswitchreturnfordo-whilebreakgoto控制語句完成一定的控制功能表達式語句形式expression;表達式最后加一個分號舉例a=3; /*賦值語句*/z=x*y,z++; /*一條語句*/x-y; /*語句,但無實際意義*/i++; /*語句*/i++ /*表達式,不是語句*/表達式語句形式函數(shù)調(diào)用語句形式function(arguments);函數(shù)調(diào)用后加一個分號函數(shù)調(diào)用語句可以看作一種表達式語句舉例printf("%d",i);getchar();myfun(a,b);函數(shù)調(diào)用語句形式空語句形式;只有一個分號用法作為轉(zhuǎn)向點作為循環(huán)語句中的循環(huán)體舉例for(i=1;i<=100;i++)sum+=i;for(i=1;i<=100;sum+=i++);空語句形式復合語句(塊語句,Block)形式{statements}用{}把若干條語句組合成為一個復合語句{}內(nèi)可以沒有任何語句,可以只有一條語句,也可以有多條語句可以包括復合語句、空語句、控制語句等用法一個復合語句當作一條語句來使用需要把多條語句放在只允許一條語句的場合復合語句(塊語句,Block)形式復合語句舉例intx,y,t;if(x>y){ /*復合語句開始*/t=x;x=y;y=t;} /*復合語句結(jié)束*/printf("%d,%d",x,y);復合語句舉例intx,y,t;C語言語句使用說明除復合語句外,語句都以分號;作為結(jié)束語句書寫格式比較自由,確定語句結(jié)束的唯一標準是分號(;)注意區(qū)分表達式和表達式語句,它們的用法不同舉例,if((a=b)>0)t=a;錯例,if((a=b;)>0)t=a;舉例,if(x>y){x--;y++;}錯例,if(x>y){x--;y++}C語言語句使用說明除復合語句外,語句都以分號;作為結(jié)束關系運算符(RelationalOperators)運算符名稱舉例優(yōu)先級(算術運算符)<小于i<100高<=小于等于a<=MAX>大于f>3.14>=大于等于c>='a'==等于a==b低!=不等于x!=0(賦值運算符)關系運算符(RelationalOperators)運算關系表達式用關系運算符將兩個表達式連接起來a+b>c+d,(a=3)>x注意區(qū)分等于(==)和賦值運算符(=)a=b,a==b關系表達式的值是邏輯值—“真”或“假”C語言用整型表示邏輯值,“真”—1、“假”—0舉例, a=3,b=2,c=1; d=a>b; /*d=1*/ f=a>b>c; /*f=(a>b)>c=0*/關系表達式用關系運算符將兩個表達式連接起來邏輯運算符(LogicalOperators)運算符名稱舉例優(yōu)先級!邏輯非!(a>b)(算術運算符)(關系運算符)&&邏輯與(x>y)&&(y>z)||邏輯或(x>3)||(x<-3)(賦值運算符)邏輯運算符(LogicalOperators)運算符名稱邏輯運算規(guī)則!a若a為“真”,!a為“假”若a為“假”,!a為“真”a&&b若a、b都為“真”,則a&&b為“真”若a、b不全為“真”,則a&&b為“假”a||b若a、b都為“假”,則a||b為“假”若a、b不全為“假”,則a||b為“真”邏輯運算規(guī)則!a邏輯表達式邏輯運算符把邏輯量或表達式連接起來(y%4==0&&y%100!=0)||(y%400==0)邏輯表達式的值是邏輯值用整型表示邏輯值“真”1,“假”0把一個表達式的值作為邏輯值使用非零“真”,零“假”這里的非零與零,包括整型、浮點型等邏輯表達式邏輯運算符把邏輯量或表達式連接起來邏輯表達式舉例inti=3;charc='a';floatf=0.0;i==0;!i; /*兩者邏輯值相同*/i!=0;i; /*兩者邏輯值相同*/c&&!f; /*“真”*/i&&1.23||f;/*“真”*/c&&4&&f; /*“假”*/邏輯表達式舉例inti=3;邏輯表達式求值特點邏輯表達式中的運算符,只有會影響表達式求值時,才會執(zhí)行a&&b&&c若a為“假”,則不再判斷b和ca||b||c若a為“真”,則不再判斷b和c舉例,(m=a>b)&&(n=c>d)DeMorgan定理!(a&&b) (!a)||(!b)!(a||b) (!a)&&(!b)!((a&&b)||c) (!a||!b)&&!c邏輯表達式求值特點邏輯表達式中的運算符,只有會影響表達式求值分支程序設計if語句條件運算符?:switch語句分支程序設計舉例分支程序設計if語句if語句的三種形式if(expression)statementif(expression)statement1

else

statement2if(expression1)statement1

elseif(expression2)statement2

elseif(expression3)statement3......

elseif(expressionn-1)statementn-1

else

statementnif語句的三種形式if(expression)statemif語句的說明無論哪種形式,一條if語句,包括else或elseif子句,只算作一條語句if語句中的子句,可以是一條任何類型的語句,包括表達式語句、空語句、復合語句、控制語句子句末尾的分號,只表示子句的結(jié)束,不表示if語句結(jié)束注意復合語句末尾沒有分號else子句都是可以沒有的if語句的說明無論哪種形式,一條if語句,包括else或elif語句舉例if(x>y) /*y為x和y的較大值*/y=x;if(x>y) /*d為x和y之間的距離*/d=x-y;elsed=y-x;if(x>y); /*合法,但沒有實際操作*/if語句舉例if(x>y) /*y為x和y的較大值if語句的嵌套if語句的各子句都可以又是if語句應注意if-else的配對關系else總是與其上面最近的if配對可以用{}明確if-else的配對關系if(exp1) if(exp1)if(exp2) {if(exp2)

statement1

statement1}else else

statement2

statement2if語句的嵌套if語句的各子句都可以又是if語句條件運算符(ConditionalOperator)條件運算符?:條件表達式exp1?exp2:exp3先判斷exp1若exp1為“真”,表達式的值為exp2的值若exp1為“假”,表達式的值為exp3的值舉例, max=(x>y)?x:y;同: if(x>y)max=x; elsemax=y;條件運算符(ConditionalOperator)條件switch語句

switch(expression){

case

const-exp:statements

case

const-exp:statements......

case

const-exp:statements

default:statements }switch語句 switch(expression){switch語句的說明先求switch后表達式的值,若此值與某個case后的常量表達式的值相等,則跳轉(zhuǎn)到這個case后的語句;若沒有相等的常量表達式,則跳轉(zhuǎn)到default跳轉(zhuǎn)后程序一直往下執(zhí)行,不會因為遇到另一個case而直接跳出switch根據(jù)實際需要,可以沒有default若需要跳出switch,可使用break語句case和default的順序不影響執(zhí)行結(jié)果switch語句的說明先求switch后表達式的值,若此值與switch語句舉例(1)switch(day){ /*打印星期的縮寫*/case1:printf("Mon.\n");break;case2:printf("Tue.\n");break;case3:printf("Wed.\n");break;case4:printf("Thu.\n");break;case5:printf("Fri.\n");break;case6:printf("Sat.\n");break;default:printf("Sun.\n");}switch語句舉例(1)switch(day){ /switch語句舉例(2)switch(deptno){ /*根據(jù)系編號打印學院*/case15:case16:case17:printf("商學院\n");break;case18:case25:printf("人文學院\n");break;case7:printf("地空學院\n");break;default:printf("其他學院\n");}switch語句舉例(2)switch(deptno)分支程序設計舉例求一元二次方程的根當a=0時,不是一元二次方程當a≠0時,方程的根為當b2-4ac≥0,方程有兩個實根當b2-4ac<0,方程有兩個共軛復根分支程序設計舉例求一元二次方程的根例1:求一元二次方程的根例1:求一元二次方程的根循環(huán)程序設計while語句do-while語句for語句break和continue語句循環(huán)程序設計舉例循環(huán)程序設計while語句while語句while(expression) statementwhile型循環(huán)先判斷表達式,后 執(zhí)行語句一般情況下,循環(huán) 中應含有能使循環(huán) 語句結(jié)束的操作statementabexpr.真假while語句while(expression)statewhile語句舉例inti,sum;i=1;sum=0;while(i<=100){sum+=i; /*循環(huán)體縮進書寫*/i++; /*使循環(huán)趨向結(jié)束*/}while語句舉例inti,sum;do-while語句do

statementwhile(expression);類似于Until型循環(huán)先執(zhí)行一次循環(huán)體 語句,后判斷表達 式statementabex

溫馨提示

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

評論

0/150

提交評論