C语言条件语句(就做个笔记,云储存一下)
循環語句
1,基本用法
if(條件成立){
? ? ? ? ........;
}
if(條件成立){
? ? ? ? ........;
}else{
????????........;
}
if(條件成立)
? ? ? ? ........;
else
????????........;
//沒有大括號的話,只能識別隨后的一條語句
2,優先級
| 算術運算符 | |
| 關系運算符 | 大小關系運算符? ?>? <? ?>= <= 判斷相等運算符? ==? != |
| 賦值運算符 |
?判斷是否相等的==和!=的優先級比其他的低,而連續的關系運算是從左到右進行的.?
5>3==6>4 //輸出1
6>5>4 //輸出0
int i,j,k;
i=2;j=3;
k = i*j==6;
printf("%d\n", k);//輸出1int i,j,k;
i=5; j=10; k=1;
printf("%d", k>i<j);//輸出1if ( 1<=n<=10 ); //可以通過編譯,只不過什么都沒有執行,從左往右判斷
3,注釋
//? 單行注釋
/* ......... */ 多行注釋
4,多個if的問題
//判斷正整數位數
#include <stdio.h>
int main(){int x,count;scanf("%d",&x);if(x>999){count=4;}if(x>99){count=3;}if(x>9){count=2;}if(x>0){count=1;}printf("%d",count);return 0;
}輸入1234 123 12
輸出1 1 1//我們編程寫的是計算機的執行步驟。
輸入1234,進入第一個if語句,count賦值4
再次成功進入第二個if語句,count更新為3.......
5,從高向低走,從低向高走原則
//判斷正整數位數//此代碼只要輸入,就只輸出1.無法判斷
#include <stdio.h>
int main(){int x,count;scanf("%d",&x);if(x>0){count=1;}else(x>9){count=2;}else(x>99){count=3;}else(x>999){count=4;}printf("%d",count);return 0;
}//正確寫法
#include <stdio.h>
int main(){int x,count;scanf("%d",&x);if(x>999){count=4;}else(x>99){count=3;}else(x>9){count=2;}else(x>0){count=1;}printf("%d",count);return 0;
}//大于號時,遵循從高向低原則
小于號遵循從低向高
6,輸出格式控制
可以加寬度限定詞,指定數據的輸出寬度
整型
printf("%3d",i);
默認輸出寬度為3,如果實際寬度超出3則以實際寬度輸出,如果不足3則輸出右對齊,左邊補空格。如果是%-3d那么就是左對齊,右邊補空格.
浮點型
?printf("b=%5.1f",b); ?
? 輸出值占5位數,小數點占后1位,右對齊,左邊補空格。?
printf("%6.1f",-1.1); //輸出值-1.1,左端補了2個空格
printf("%6.1f,1.3"); //輸出值1.3,左端補了3個空格
7,嵌套分支
else 總是和最近的if匹配
#include <stdio.h>
int main(){int num_1=60,num_2=30;if (num_1==20)if (num_2==40)printf("MY turn");else printf("YOUR turn");return 0;
}//輸出為空
?8,級聯if—else
if(exp1){
? ? ? ? st1;
}else if(exp2){
? ? ? ? st2;
}else{
? ? ? ? st3;
}
其實第一個else與上一個if在一起
第二個else與第二個if在一起。? ?這個僅僅是兩個if_else連在一起
9,多路分支
switch(控制表達式){
? ? ? ? case 常量:
? ? ? ? ? ? ? ? 語句...;
? ? ? ? ? ? ? ? break;
? ? ? ? case 常量:
? ? ? ? ? ? ? ? 語句...;
? ? ? ? ? ? ? ? break;
? ? ? ? default:
? ? ? ? ? ? ? ? 語句;
}
//控制表達式,其結果只能是整型或字符型
//case 后的常量必須不同
//常量? ? ? ? ?
常數? ? ?或? ? ? ? 常數計算表達式(編譯時是知道結果的)
case只是一個路牌
switch語句可以看作是一種基于計算的跳轉,計算控制表達式的值后,程序會跳轉到相匹配的case(分支標號)處。分支標號只是說明switch內部位置的路標,在執行完分支中的最后一條語句后,如果后面沒有break,就會順序執行到下面的case里去,直到遇到一個break,或者switch結束為止。
switch(choice){case 1: price = 3.0; break;case 2: price = 2.5; break;case 3: price = 4.0; break;case 4: price = 3.5; break;case 1: price = 3.0; break;default: price = 0.0; break;
}//有兩個case 1,所以這個switch語句不合法
#include <stdio.h>
int main(){int n=4;switch(1){case n%2:printf("dg");case 3%2:printf("saos"); }return 0;
}[Error] 'n' cannot appear in a constant-expressionn需定義為常量,才可以出現在case后的 常量/常量表達式中#include <stdio.h>
int main(){const int n=4;switch(1){case n%2:printf("dg");case 3%2:printf("saos"); }return 0;
}
總結
以上是生活随笔為你收集整理的C语言条件语句(就做个笔记,云储存一下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1m流量多少钱啊?
- 下一篇: PTA混淆总结(就做个笔记储存一下)