今天来整理一下C语言当中的分支和循环语句。主要包括两个方面:如何使用和注意事项。
一、首先第一个是if else语句
int main()
{
if (判断语句)
执行语句;
else if (判断语句)
执行语句;
......
else
执行语句;
return 0;
}
1、在if else语句中如果有多条判断,中间的分支都是用else if,最后一个分支用的是else,如果只有两个分支,那么第一个是if,第二个就是else。
2、如下图
int main()
{
int age = 0;
scanf("%d", &age);
if (18 > age)
printf("少年\n");
else if (18 <= age && 26 > age)
printf("青年\n");
else if (26 <= age && 40 > age)
printf("中年\n");
else if (40 <= age && 60 > age)
printf("壮年\n");
else
printf("老年\n");
return 0;
}
在判断语句中,经常会出现两条或多条判断,应使用与操作符(&&)或者或操作符(||),上述代码第7行,刚开始学习C语言可能会写成“else if (18 <= age < 26)”,这种写法是错误的。若输入数值为60,计算机会先判断“18 <= age”,结果为假,值为零,而“0 < 26”,满足条件,进入循环,结果出错。所以当判断语句出现,记得使用与操作符(&&)或者或操作符(||)。
3、如下图
int main()
{
for (int i = 1; i <= 100; i++)
{
if (1 == i % 2)
{
printf("%d\n", i);
}
}
return 0;
}
代码第5行,一般情况下,我们会写成“if (i % 2 == 1)”,这样写有一点不好,也是我个人超级超级容易犯的一个错,就是少写一个“=”,而如果我们写成上述代码的样子,系统就会报错(如果少写一个“=”的话),因为我们无法给一个整数赋值。
二、接下来是switch语句
int main()
{
int sth = 0;
scanf("%d", &sth);
switch (sth)
{
case 1:
执行语句;
break;
case 2:
执行语句;
break;
case 3:
执行语句;
break;
......
case n:
执行语句;
break;
}
return 0;
}
1、上述代码第5行中,选取的初始值,决定了代码进入switch时的入口,而程序运行遇到的第一个break;则是switch的出口。
2、如下图
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;
default :
break ;
}
return 0;
}
在每一次的case后,我们都可以不写执行语句,程序进入switch后,在第一个break出去。当然,为了代码的健壮性,我们还应该在代码的最后加上default :。
3、如下图
int main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1:
m++;
case 2:
n++;
case 3:
switch (n)//switch允许嵌套使用
{
case 1:
n++;
case 2:
m++;
n++;
break;
}
case 4:
m++;
break;
default :
break;
}
printf("m = %d\nn = %d", m, n);
return 0;
}
switch语句支持嵌套使用。大家可以试试看计算一下这题的结果,结果我会放在文章的最后。
未完待续。。。
内容有点小多,明天晚上再更吧。这几天突然对视频剪辑有点兴趣,等我再研究研究,就发出来给大家批评指正。
ps:结果是:m = 5 n = 3