條件語句
一個表達式的返回值都可以用來判斷真假,除非沒有任何返回值的void型和返回無法判斷真假的結構。
當表達式的值不等于0時,它就是“真”,否則就是假。一樣個表達式可以包含其他表達式和運算符,并且基于整個表達式的運算結果可以得到一個真/假的條件值。
因此,當一個表達式在程序中被用于檢驗其真/假的值時,就稱為一個條件。一、if語句if(表達式) 語句1;如果表達式的值為非0,則執行語句1,否則跳過語句繼續執行下面的語句。
如果語句1有多于一條語句要執行時, 必須使用{和} 把這些語句包括在其中, 此時條件語句形式為: if(表達式){語句體1;}例如:if(x>=0) y=x;if(a||b&&c) {z=a+b;c+=z;}二、if--else語句除了可以指定在條件為真時執行某些語句外,還可以在條件為假時執行另外一段代碼。在C語句中利用else語句來達到這個木的。
if(表達式) 語句1;else 語句2;同樣,當語句1或語句2是多于一個語句時,需要用{}把語句括起來。例如:if(x>=0) y=x;else y=-x;三、if--else if--else結構。
if(表達式1) 語句1; else if(表達式2) 語句2; else if(表達式3) 語句3; . . . else 語句n; 這種結構是從上到下逐個對條件進行判斷,一旦發現條件滿點足就執行與它有關的語句, 并跳過其它剩余階梯;若沒有一個條件滿足,則執行最后一個else 語句n。最后這個else常起著缺省條件的作用。
同樣,如果每一個條件中有多于一條語句要執行時,必須使用{和}把這些語句包括在其中。條件語句可以嵌套,這種情況經常碰到,但條件嵌套語句容易出錯,其原因主要是不知道哪個if對應哪個else。
例如: if(x>20||x<-10) if(y<=100&&y>x) printf(Good); else printf(Bad); 對于上述情況, Turbo C2.0規定: else語句與最近的一個if語句匹配, 上例中的else與if(y<=100&&y>x)相匹配。為了使else與if(x>20||x<-10)相匹配, 必須用花括號。
如下所示: if(x>20||x<-10){ if(y<=100&&y>x) printf(Good); } else printf(Bad); 下面舉幾個例子:1.輸入一個數,如果大于0,輸出plus;如果是負數,輸出negative;如果正好是0,則輸出zero。main(){float num;scanf(%f,&f);if(num>0)printf(plus\n);else if(num<0)printf(negative\n);elseprintf(zero\n); }先定義兩個變量,然后輸入一個數,然后判斷這個數的范圍,輸出對應的字符串。
2.輸入一個數x,輸出y。其中y是x的絕對值。
main(){float x,y;scanf(%f,&x);if(x>=0) y=x;else y=-x;printf(%f\n,y);}程序比較簡單,這兒就不分析了。其實Trubo C 2.0把一些常用的功能都寫好了,我們只需要使用就可。
例如求絕對值的功能在C的庫里面就有。看下面的:#include *(){float x,y;scanf(%f,&x);y=fabs(x); /*求x的絕對值,然后賦值給y*/printf(%f\n,y);}這個程序和上面的程序完成的功能是一模一樣的,都是求絕對值。
可以看出,用下面這個方法比上面就要好一些。由于fabs()是一個函數,系統自帶的,所以在使用它的時候,我們必須把它所在的庫文件math.h包含都程序中,即程序最前面一行。
類似的還有求開方sqrt(),求指數冪exp()等等,這些與數學方面有關的函數都在math.h里面。具體哪些有哪些沒有,在什么庫里面,可以查看一些手冊。
3.輸入x,輸出y,x和y滿足關系:x<-5 y=x;-5<=x<1 y=2*x+5;1<=x<4 y=x+6;x>=4 y=3*x-2;程序如下:main(){float x,y;scanf(%f,&x);if(x<-5)y=x;else if(-5<=x&&x<1)y=2*x+5;else if(1<=x&&x<4)y=x+6;elsey=3*x-2;printf(%f\n,y);}這里要說明兩點:(1).-5<=x&&x<1不能寫成-5<=x<1;1<=x&&x<4也不能寫成1<=x<4;在C語言中,不能認識連續不等式。(2).y=2*x+5不能寫成y=2x+5;y=3*x-2也不能寫成y=3x-2;這與我們平時所寫的方法不一樣。
4.輸入三個數x,y,z,然后按從大到小輸出。main(){float x,y,z;scanf(%f%f%f,&x,&y,&z);if(x>=y&&x>=z){printf(%f\t,x);if(y>=z) printf(%f\t%f\n,y,z);else printf(%f\t%f\n,z,y);}else if(y>=x&&y>=z){printf(%f\t,y);if(x>=z) printf(%f\t%f\n,x,z);else printf(%f\t%f\n,z,x);}else{printf(%f\t,z);if(x>=y) printf(%f\t%f\n,x,y);else printf(%f\t%f\n,y,x);}}說明:這是一個典型的if語句嵌套結構,如果不使用括號,那么if和else的對應關系就亂了。
四、switch--case語句在編寫程序時, 經常會碰到按不同情況分轉的多路問題, 這時可用嵌套if -else-if語句來實現, 但if-else-if語句使用不方便, 并且容易出錯。對這種情況, Turbo C2.0提供了一個開關語句。
開關語句格式為: switch(變量) { case 常量1: 語句1或空; case 常量2: 語句2或空; . . . case 常量n: 語句n或空; default: 語句n+1或空; } 執行switch開關語句時,將變量逐個與case后的常量進行比較,若與其中一個相等,則執行該常量下的語句,若不與任何一個常量相等,則執行default后面的語句。注意: *中變量可以是數值,也可以是字符,但必須是整數。
2.可以省略一些case和default。3.每個case或default后的語句可以是語句體,但不需要使用{和}括起來。
例如:main(){int x,y;scanf(%d,&x);witch(x){case 1:y=x+1;break; /*退出開關語句,遇到break才退出*/case 4:y=2*x+1;break;default:y=x--;break;}printf(%d\n,y);}從上面的例子可以看出,用開關語句編的程序一定可以用if語句做。那么在什么。
if語句有幾種表達方式
*語句的一般格式if(表達式) {語句組1;}[else{語句組2;} ](1)if語句中的“表達式”必須用“(”和“)”括起來.(2)else子句(可選)是if語句的一部分,必須與if配對使用,不能單獨使用.(3)當if和else下面的語句組,僅由一條語句構成時,也可不使用復合語句形式(即去掉花括號).*語句的執行過程(1)缺省else子句時當“表達式”的值不等于0(即判定為“邏輯真”)時,則執行語句組1,否則直接轉向執行下一條.(2)指定else子句時當“表達式”的值不等于0(即判定為“邏輯真”)時,則執行語句組1,然后轉向下一條語句;否則,執行語句組2.如圖4-1(b)所示.*語句的嵌套與嵌套匹配原則if語句允許嵌套.所謂if語句的嵌套是指,在“語句組1”或(和)“語句組2”中,又包含有if語句的情況.if語句嵌套時,else子句與if的匹配原則:與在它上面、距它最近、且尚未匹配的if配對.為明確匹配關系,避免匹配錯誤,強烈建議:將內嵌的if語句,一律用花括號括起來.。
【條件語句表達的算法結構是什么結構】
條件語句: 1、條件語句的一般格式有兩種:(1)IF—THEN—ELSE語句;(2)IF—THEN語句.2、IF—THEN—ELSE語句IF—THEN—ELSE語句的一般格式為圖1,對應的程序框圖為圖2.分析:在IF—THEN—ELSE語句中,“條件”表示判斷的條件,“語句1”表示滿足條件時執行的操作內容;“語句2”表示不滿足條件時執行的操作內容;END IF表示條件語句的結束.計算機在執行時,首先對IF后的條件進行判斷,如果條件符合,則執行THEN后面的語句1;若條件不符合,則執行ELSE后面的語句2.3、IF—THEN語句滿足條件?語句是否(圖4)IF—THEN語句的一般格式為圖3,對應的程序框圖為圖4.注意:“條件”表示判斷的條件;“語句”表示滿足條件時執行的操作內容,條件不滿足時,結束程序;END IF表示條件語句的結束.計算機在執行時首先對IF后的條件進行判斷,如果條件符合就執行THEN后邊的語句,若條件不符合則直接結束該條件語句,轉而執行其它語句.例5、編寫程序,輸入一元二次方程ax2+bx+c=0的系數,輸出它的實數根.分析:先把解決問題的思路用程序框圖表示出來,然后再根據程序框圖給出的算法步驟,逐步把算法用對應的程序語句表達出來.(程序框圖先由學生討論,再統一,可以參考課本)算法分析:在求解方程之前,需要首先判斷判別式的符號,再根據判別式的符號判斷方程根的情況:△>0時,方程有兩個不相等的實數根;△=0時,方程有兩個相等的實數根;△。
if語句條件表達式
當把一個指針作為條件表達式時,所要判斷的條件實際上就是“該指針是否為一空指針”.在if,while,for或do/while等語句中,或者在條件表達式中,都可以使用指針.請看下例: if(p) { /*dO something*/ } else { /* dOsomethingelse */ }當條件表達式的值不等于零時,if語句就執行“then”子句(即第一個子句),即“if(/*something*/)”和“if(/*something*/!=0)”是完全相同的.因此,上例和下例也完全相同: if(p !=0) { /* dO something(not anull pointer)*/ } else { /* dOsomethingelse(a null pointer)*/ }以上兩例中的代碼不易讀,但經常出現在許多C程序中,你不必編寫這樣的代碼,但要理解這些代碼的作用.希望能解決您的問題.。
條件語句-什么是條件語句的算
條件語句: 1、條件語句的一般格式有兩種:(1)IF—THEN—ELSE語句;(2)IF—THEN語句。
2、IF—THEN—ELSE語句 IF—THEN—ELSE語句的一般格式為圖1,對應的程序框圖為圖2。 分析:在IF—THEN—ELSE語句中,“條件”表示判斷的條件,“語句1”表示滿足條件時執行的操作內容;“語句2”表示不滿足條件時執行的操作內容;END IF表示條件語句的結束。
計算機在執行時,首先對IF后的條件進行判斷,如果條件符合,則執行THEN后面的語句1;若條件不符合,則執行ELSE后面的語句2。 3、IF—THEN語句 滿足條件? 語句 是 否 如果對您有幫助,給我的答案一個好評哦,親,謝謝(請搜索進入應用“微問”里查看自己提出的問題并給出好評)。