Include <stdio . h> maino int score; 方法一程序 printf(" Please enter score: ) scanf( %d",&score); if( score<0‖ score>100)/对输入数据的合法性进行检查* printf(Input error!\ni 在else分支嵌套 else if tscore > 90) 没有ee会怎样? printf( %d--excellent\n", score): else if (score >=80) rinf("yod--good \n", score); else if (score >=70 printf( %od-fit exactly\n", score) else if( score》60) printf( %d--passn", score) Ise printf( yod--fail \n", score)
6 #include <stdio.h> main() { int score; printf("Please enter score:"); scanf("%d", &score); if (score < 0 || score > 100) /*对输入数据的合法性进行检查*/ printf("Input error!\n"); else if (score >= 90) printf("%d--excellent\n", score); else if (score >= 80) printf("%d--good\n", score); else if (score >= 70) printf("%d—fit exactly\n", score); else if (score >= 60) printf("%d--pass\n", score); else printf("%d--fail\n", score); } 方法一程序 • 在else分支嵌套 • 没有else会怎样?
用于判断分支 方法二 的表达式 Score/10有1种情况 表达式的所有 可能结果列举 在case后 10 switch(score/10) [case 10 case 9: m ntf(%d----excellent\n, score): break 当上面的情况与下边 18: printf("%d----good\n",score): break: 的情况相同,后边的ase7; printf(%d- fit eve-ry \n"score) break 分支语句可省略 case 6: printfrsoz----pass \n" score): break 当遇到 break时,程 序转到 switch语句的 的》后边 default:prnt(“%d-- fail\n” score) break defau表示除上述 情况以外的所有情况
7 方法二 输出A Score/10有11种情况 10 9 输出A 0 输出E … switch(score/10) {case 10: case 9: printf(“%d----excellent\n”,score);break; case 8: printf(“%d----good\n”,score);break; case 7: printf(“%d----fit exactly\n”,score);break; case 6: printf(“%d----pass\n”,score);break; case 5: case 4: case 3: case 2: case 1: case 0: printf(“%d----fail\n”,score);break; } default: printf(“%d----fail\n”,score);break; • 用于判断分支 的表达式 • 表达式的所有 可能结果列举 在case后 • 当上面的情况与下边 的情况相同,后边的 分支语句可省略 • default表示除上述 情况以外的所有情况。 • 当遇到break时,程 序转到switch语句的 的}后边
include <stdio. h> VO d maIn 0 int score; 方法二程序 printf("Please enter score scan &score) if(score<ollscore>100) 执行过 printf(“ nput error!\n) ese 程?? switch(score/10) case 10: case 9: printf("%d----excellent \n", score); break; case8:prnf(“%d---godn”, score): break case 7: printf("%d----fit exactly \n", score): break case 6: printf("%d----passin",, score); break default: printf("%d----fail\n", score) break
8 #include <stdio.h> void main() { int score; printf("Please enter score:"); scanf("%d", &score); if(score<0||score>100) printf(“Input error!\n”); else { switch(score/10) { case 10: case 9: printf(“%d----excellent\n”,score);break; case 8: printf(“%d----good\n”,score);break; case 7: printf(“%d----fit exactly\n”,score);break; case 6: printf(“%d----pass\n”,score);break; case 5: case 4: case 3: case 2: case 1: case 0: printf(“%d----fail\n”,score);break; } } } 方法二程序 default: printf(“%d----fail\n”,score);break; 执行过 程??
涉及到的语法知识 - switch语句 般用于菜单等多分支的情况 般结果为多个离散 switch(表达式) 值的情况 ease常数1:语句序列1; ease常数2:语句序列2 defau1t:语句序列n; 更详细的语法知识请 查阅P96-97
9 涉及到的语法知识 -switch语句 ▪ 一般用于菜单等多分支的情况 switch (表达式) { case 常数1:语句序列1; case 常数2:语句序列2; ………… default:语句序列n; } 一般结果为多个离散 值的情况 更详细的语法知识请 查阅P96-97