一做祝、switch 語法
switch(整型/字符型/枚舉){ //()括號中間只支持 整型/字符型/枚舉
case 值1:
代碼塊1;
break;
.......代表很多個case break;
case 值N:
代碼塊N;
break;
default:
defalut代碼塊;
break;
}
案例
整型案例
printf("請從控制臺輸入一個整型:");
int number;
scanf("%d",&number);
switch(number){
case 1:
printf("語法塊1");
break;
case 2:
printf("語法塊2");
break;
case 3:
printf("語法塊3");
break;
case 4:
printf("語法塊4");
break;
case 5:
printf("語法塊5");
break;
default:
printf("語法default");
break;
}
字符案例:
printf("請從控制臺輸入一個字符后回車:");
char y;
scanf("%c",&y);
switch(y){
case 'a':
printf("語法塊a");
break;
case 'b':
printf("語法塊b");
break;
case 'c':
printf("語法塊c");
break;
case 'n':
printf("語法塊n");
break;
case 56: // 字符 '8'的 ascii碼對應(yīng)十進制 56
printf("語法塊56");
break;
default:
printf("語法塊default");
break;
}
break;講解
break 跳出語法塊.如果case 結(jié)束時 沒有break 就會直接執(zhí)行下一個case 當中的語法,直到碰到break后跳出鸡岗。
案例
printf("請從控制臺輸入一個字符后回車:");
char y;
scanf("%c",&y);
switch(y){
case 'a':
printf("語法塊a");
break;
case 'b':
printf("語法塊b");
case 'c':
printf("語法塊c");
case 'n':
printf("語法塊n");
break;
case 56:
printf("語法塊56");
break;
default:
printf("語法塊default");
break;
}
二混槐、#?語法:
三元表達式
說明語法:
"邏輯表達式"?"為真執(zhí)行?號后面": "為假執(zhí)行:號后面"
前面一定要有賦值語句
案例1:
int a=4,b =10;
char sb = a<b ? 's' : 'b';
printf("%c\n",sb);
對應(yīng)if語句
if(a< b){
sb = 's';
}else{
sb = 'b';
}
案例2:
int a = 4,b = 10;
char sb = a < b?'s':'b';
printf("%c",sb);
練習1:
從控制臺輸入一個整型分數(shù)(0-100)之間:如果大于等于90分則打印優(yōu)秀轩性,大于等于80分小于90分打印良好声登,大于等于70分小于80分還好,大于等于60分小于70分打印及格揣苏,小于60分則打印不級格悯嗓。
答案:
printf("從控制臺輸入一0到100的整數(shù)后回車");
int score;
scanf("%d",&score);
switch(score/10){
case 10:
case 9:
printf("優(yōu)秀");
break;
case 8:
printf("良好");
break;
case 7:
printf("還好");
break;
case 6:
printf("及格");
break;
default:
printf("不及格");
break;
}
作業(yè)1
輸入一個字符,若輸入的為大寫英文字母,則輸入其對應(yīng)的小寫英文字母,若輸入的是小寫字母則輸出對應(yīng)的大寫字母,若輸出的是非英文字母卸察,則原樣輸出绅作。
提示:參照 ascii表碼找思路
答案:
// switch(c){
// case 'a':
// case 'b':
// case 'c':
// case 'd':
// case 'e':
// case 'f':
// case 'g':
// case 'h':
// case 'i':
// case 'j':
// case 'z':
// c -= 32;
// break;
// case 'A':
// case 'B':
// case 'Z':
// c += 32;
// break;
// }
//
// printf("對應(yīng)的輸入字符是:%c",c);
作業(yè)2
預(yù)習 ? :語法
思考題作業(yè)3,(可選)
編寫程序,輸入一個年份蛾派,判斷其是否為閏年俄认。
提示:能被4整除,但不能被100整除為閏年洪乍。能被400整除直接是閏年眯杏。
printf("請輸入一個年份:");
int year;
scanf("%d",&year);
int flag = 0; // 0 不是潤年 1 是潤年
switch((year % 400 == 0 ) || (year % 4 ==0 && year % 100 !=0)){
case 1:
flag = 1;
break;
case 0:
flag = 0;
break;
}
if(flag == 1 ){
printf("%d是潤年",year);
}else{
printf("%d不是潤年",year);
}
作業(yè)4
把上面的練習3改成用 三元表達式(?:)來做
作業(yè)5預(yù)習 循環(huán)語句(for /while /do while)