C Programming Language>第三章 void maine int snum, score, char grade scanf( %d%d",&snum, &score if(score)94) grade=5 ●分层缩进对齐的形式, 便于阅读,便于调试。 else if(score>79) ●else总是与它前面最接 grade= 4 近的还没有配对的i配对 else if(score>59) grade=3 ●进入i语句后至多执行 其中的一个语句,即使嵌 e⊥se 套形式也不例外; grade=2 printf( %d %c\n", snum, grade US bajia( ustc,odL. co94959
void main(){ int snum, score; char grade; scanf("%d%d",&snum, &score ); if(score>94) grade='5'; else if(score>79) grade='4'; else if(score>59) grade='3'; else grade='2'; printf("%d %c\n",snum, grade ); } ⚫ 分层缩进对齐的形式, 便于阅读,便于调试。 ⚫else总是与它前面最接 近的还没有配对的if配对 ⚫进 入if语句后至多执行 其中的一个语句,即使嵌 套形式也不例外;
C Programming Language>第三章 、多分之选择语句( switch) switch语句形式: 功能:根据表 switch(表达式) 达式的值是否 与某常量表达 case常量表达式1:语句1式i相同,来选 case常量表达式2:语句2择执行若干语 句中的一个语 句或一个语句 case常量表达式n:语句n 序列。若要真 正起到多分支 default:语句n+1] 选择执行功能 ,须配合使用 break语句。 US bajia( ustc,odL. co94959
三、多分之选择语句(switch) switch(表达式){ case 常量表达式1:语句1 case 常量表达式2:语句2 …… case 常量表达式n:语句n [ default :语句n+1 ] } switch语句形式: 功 能 :根据表 达 式 的值是否 与 某 常量表达 式i相同,来选 择 执 行若干语 句 中 的一个语 句 或 一个语句 序 列 。若要真 正 起 到多分支 选 择 执行功能 , 须 配合使用 break语句
C Programming Language>第三章 真正能起到多分支选择执行功能的形式 switch(表达式) case常量表达式1:语句1; break; case常量表达式2:语句2; break; case常量表达式n:语句n; break; default:语句n+1] break语旬用于终止 switch语 句的执行,跳出 switch结构。 US bajia( ustc,odL. co94959
switch(表达式){ case 常量表达式1:语句1; break; case 常量表达式2:语句2; break; …… case 常量表达式n:语句n; break; [ defalt :语句n+1 ] } 真正能起到多分支选择执行功能的形式: break语句用于终止switch 语 句的执行,跳出switch 结构
C Programming Language>第三章 说明: switch(表达式)[ 0表达式和常量表达式i要求是 case常量表达式1: 整形或字符形,且两者类型相 语句1; break case常量表达式2 ②常量表达式i的值必须互不相 语句2; break; 同,它们只起相当于语句入口 标号的作用,没有条件判断分 case常量表达式n: 支执行的功能; 6执行时若常量表达式i的值与 语句n; break; 表达式相等,就顺序执行其后 I default 的语句,否则执行 default后 语句n+1] 的语句n+1; US bajia( ustc,odL. co94959
说明: 表达式和常量表达式i要求是 整形或字符形,且两者类型相 同; 常量表达式i的值必须互不相 同,它们只起相当于语句入口 标号的作用,没有条件判断分 支执行的功能; 执行时若常量表达式i的值与 表达式相等,就顺序执行其后 的语句,否则执行defalt后 的语句n+1; switch(表达式){ case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; …… case 常量表达式n: 语句n; break; [ defalt : 语句n+1 ] }
C Programming Language>第三章 输入:A void maino i 输出 grade>85 char grade grade>75 scanf %c", &grade grade>60 switch(grade)i grade<60 error! case A': printf( grade>85\n") lsc case B: printf( grade)75 \n) case C: printf( grade>60\n") case'D': printf grade<60\n") default: printf error US bajia( ustc,odL. co94959
void main(){ char grade; scanf("%c",&grade ); switch(grade){ case 'A': printf("grade>85\n"); case 'B': printf("grade>75\n"); case 'C': printf("grade>60\n"); case 'D': printf("grade<60\n"); default : printf("error!" ); } } 输入:A 输出:grade>85 grade>75 grade>60 grade<60 error!