{
case 常量1 :语句1; case 常量2 :语句2; ……
default :语句n;
}
case 后面的常量,往往是表达式计算的结果,由于表达式的结果可能有多种情况,因此就配有多条case语句。
输入一成绩 cj,输出该成绩的等级。 int cj;
scanf(“%d”,&cj); switch(cj/10) {
case 9 : printf(“A\\n”); case 8 : printf(“B\\n”); case 7 : printf(“C\\n”);
case 6 : printf(“D\\n”); default : printf(“E\\n”); }
break 语句,可以起到退出整个switch结构。
5 条件语句:
格式: 表达式1?表达式2:表达式3
式1如果为真则取式2作为整个表达式的结果,式1如果为假则取式3作为整个表达式的结果。 x= (x>=0 ? x :-x);
第五章 循环结构
1 while 2 do…while 3 for
例:要求输出5000个* 循环三要素: 初值、终值、步长
三要素可以确定循环执行的次数 1 while 语句
格式: while(表达式){语句1;语句2;…} 循环体 只要表达式结果为真就执行循环体。
输出 1 2 3 4 ….. 100 计算1+2+3…+80的和并输出。 输入一整数 n,计算 n! 并输出。 1*2*3*4…*n
2 do…while…循环 格式:
do {语句1;……} while(表达式); do…while…循环 和 while 循环
区别:
如果循环初始条件一次也不满足,while循环一次也不能执行,而 do …while循环可以执行一次; 但如果循环条件是正常的判断条件,那么while 和 do…while 两者的功能完全相同。
1 - 1/3 + 1/5 – 1/7 +…. 1/101 的和
例:1/1 +1/2 +1/3 +…..1/n 的和,n由自已输入。 int i=1 ,n; double s=0;
scanf(“%d”,&n);
do {s=s+1./i; i++;}while(i<=n); printf(“s=%f\\n”,s);