C語言 if 的多項嵌套
printf("最大值是:%d\n",t); 這一句里的t=?你知道嗎,在C里面如果一個變量如果沒有確定的值是不可以引用的。我寫一段代碼你參考參考:
#include "stdio.h"
void main()
{
int x,y,z,t ;
printf("請輸入3個數:");
scanf ("%d%d%d",&x,&y,&z,);
/*下面這個if語句是把x,y的最大值放到變量t里*/
if(x>y)t=x;
else t=y;
/*下面的IF語句是把剛才x,y中的大值與z比較,如果Z大于T就說明Z最大放到Z*/
/*否則就是X和Y中的較大值為最大值*/
if(z>t)t=z;
printf("The max valule is %d",t);
}
我這是一個比較簡單的代碼,應該能看明白。
C語言中if(
*語句的一般格式if(表達式) [else](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語句,一律用花括號括起來.。
C語言里面if語句的嵌套看不懂~
if/else if語句是一對判斷組合;多個順序if是平行的運行判斷的。
舉例說明:if(我有錢){我就去炒股;}else if(我有時間){我就去旅游;}上面的語句意思如下:如果我有錢(if判斷成立),則我只能去炒股,即使我有時間又有金錢也不能去旅游;而如果我沒有錢(if判斷不成立),則要看我是否有時間,有時間就去旅游(沒錢去旅游就苦了)。if(我有金錢){我就去炒股;}if{我有時間){我就去上網;}if(我有時間和金錢){我就去旅游;}這樣的判斷意思是說:如果我有錢(第一個if成立),我可以炒股,如果我沒有錢但有時間(第二個if成立),我可以上網(辦公室的免費網絡);而如果我有了錢又有時間(第三個if成立),我就可以去旅游了(好爽啊!)不知樓主明白些沒有呢?。
c語言for循環嵌套if語句
兩種方法,一種是重新賦值,程序段如下 for(i=0;i 兩種方法,一種是重新賦值,程序段如下 for(i=0;i<Maxi;i++) for(j=0;j<Maxj;j++) if(true) { i=-1; break; //從此處跳出本層循環,由于賦值i=-1,執行完 //break語句之后,執行外層循環i++指令,使得 //i=0;外層循環相當于重新開始,j的值無需處理, //因每次進入內層循環,j值均會被for語句賦初值0 } 第二種方法是無條件轉移指令: sign: for(i=0;i<Maxi;i++) for(j=0;j<Maxj;j++) f(true) goto sign; //條件為真跳轉至sign語句 一般情況下,應當避免使用goto無條件跳轉指令,因為很多人認為程序可讀性會因為goto的引入而變差,但是在不少情況下goto可以使得程序代碼簡單,效率提高,個人認為適當使用goto指令并無不可,樓主可自己作出選擇。 答案是D,其前面最近的尚未配對的if C語言中,所有的執行語句都只能出現在函數之中。同樣,函數的調用也只能出現在某函數的函數體內。函數的調用以兩種方式出現:函數的嵌套與函數的遞歸。 C語言中,所有函數的定義都是互相平行和獨立的,一個函數的定義不能包含另一個函數的定義,即不允許函數的嵌套定義。但函數的調用可以通過用一個函數調用另一個函數來實現,這就形成了函數的嵌套調用!C語言不限制嵌套的個數和層數,這樣我們就可以自由,合理的組織程序的模塊結構。 擴展資料: 特點 1、對象復用:如果編寫面向對象的代碼,就提高了重用以前編寫的代碼模塊的機會。同樣,如果創建面向對象的數據庫對象,也就提高了數據庫對象能夠被重用的機會。 2、標準支持:如果創建標準的對象,那么它們被重用的機會就會提高。如果有多個應用或多個表使用同一數據庫對象集合,那么它就是既成事實的數據庫對象標準。 3、定義訪問路徑:對于每一個對象,用戶可定義在其上運行的過程和函數,從而可以使數據和訪問此數據的方法聯合起來。有了用這種方式定義的訪問路徑,就可以標準化數據訪問的方法并提高對象的可復用性。 參考資料:搜狗百科——嵌套 三、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||xx) printf(Good); else printf(Bad); 對于上述情況, Turbo C2.0規定: else語句與最近的一個if語句匹配, 上例中的else與if(yx)相匹配。為了使else與if(x>20||x20||xx) 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) y=x; else y=-x; printf(%f\n,y); } 程序比較簡單,這兒就不分析了。 其實Trubo C 2.0把一些常用的功能都寫好了,我們只需要使用就可。 例如求絕對值的功能在C的庫里面就有。看下面的: #include math.h main() { 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=4 y=3*x-2; 程序如下: main() { float x,y; scanf(%f,&x); 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的對應關系就亂了。 c語言for循環嵌套if語句
C語言對嵌套if語句的規定是: else總是與【 】配對
C語言if語句的嵌套 和 提供一些關于if else的小程序