一.switch语句
switch语句也是一种分支语句,常常用于多分支的情况。
比如
输入1:输出星期一
输入2:输出星期二
输入3:输出星期三
输入4:输出星期四
输入5:输出星期五
输入6:输出星期六
输入7:输出星期日
输入一个数字,根据这个数字决定输出星期几。此问题的代码如下:
#include<stdio.h>
#include<stdlib.h>
int main(){
printf("输入一个表示星期的数字(1-7):");
int num=0;
scanf("%d",&num);
switch(num){
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
default:
//如果前面所有的 case 都没有命中,于是就走到 default 分支中
//如果使用了 switch 语句,必须要写 default 分支
printf("非法输入\n");
break;
}
system("pause");
return 0;
}
当然,任何语句都有其缺点,比如switch case语句局限性:
1.本质上这个和else if相比也没有简单到哪里去
2.如果忘记写break,代码的执行过程就会不大一样,会尝试着继续执行
3.case语句中无法定义变量
4.case语句判定的条件必须是int long short char 等类型的变量
二.while语句中的break和continue
1.有关break的代码介绍为
#include<stdio.h>
#include<stdlib.h>
int main(){
//从1循环到10,如果一旦发现 数字5就结束循环
int i=1;
while(i<=10){
printf("%d\n",i);
if(i==5){
//跳出循环
break;
}
i+=1;
}
system("pause");
return 0;
}
2.有关continue的代码介绍为
#include<stdio.h>
#include<stdlib.h>
int main(){
//for语句也是用来表示循环.
//while语句容易遗漏循环变量的更新操作
//for循环就是为了解决 while 循环的这个缺点
//从1循环到10,如果发现数字5,就跳过5,继续循环后面的数字
int i=1;
while(i<=10){
if(i==5){
i+=1;
continue;
}
printf("%d\n",i);
i+=1;
}
system("pause");
return 0;
}
三.for循环
for循环语句格式:
for(表达式1;表达式2;表达式3)
循环语句;
举个例子:
#include<stdio.h>
#include<stdlib.h>
int main(){
//从 1 打印到 10,不打印5
//for循环的执行过程
//1.执行表达式1(初始化部分)
//2.执行表达式2,判断循环体是否要执行
//3.执行循环体代码
//4.执行表达式3,更新循环变量
//5.执行表达式2,判定循环体是否要执行
//6.如果循环体中带有break,直接跳出循环
//7.如果循环体中带有continue,跳过本次循环的循环体代码,执行表达式3,再执行表达式2
//后边重复 2 3 4 过程....
//如果省略了表达式1,只要对变量进行过初始化的话,不影响
//如果省略了表达式2,循环成了死循环
//如果省略了表达式3,循环变量就没法更新了,其实
//并不是没法更新,可以把更新语句放到循环体中
//for( ;i<=10; ){
// if(i==5){
// ++i;
// continue;
// }
//从 1 打印到 10,不打印 5
int i=1;
for(i=1;i<=10;++i){
if(i==5){
continue;
}
printf("%d\n",i);
}
//while语句
//int i=1;
//while(i<=10){
// if(i==5){
// ++i;
// continue;
// }
// printf("%d\n",i);
// ++i;
//}
system("pause");
return 0;
}