*小细节——在C语言中表示取值范围不可以使用1<a<3这样的表达,因为系统会识别1<a的真假,进而根据真假的值来与3进行比较
*我们应该这样来写:1<a&&a<3 &&是并且的意思
一、if...else语句
结构:
1.if
2.if...else...
3.if...if else...else...
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("haha");
else
printf("hehe");
“else的就近原则”:这个else不管位置在哪,都只和第二个if对应,可以用{}将第二个if分隔开,这样else只能与第一个if匹配
小细节——我们在判断变量与数值的大小时,可以将数字放在前面,这样方便我们检查错误,防止误写成num=5。
eg:
int num = 4;
if (5 == num)
printf("hehe\n");
return 0;
二、switch语句
switch多用于分支
int main()
{
int day=0 ;
scanf_s("%d", &day);
switch (day)//switch的括号里面只要整型
{
case 1://case后面应该是整型常量表达式
printf("Monday\n");
break;//记得在每个case后面加break跳出
case 2:
printf("Tuesday\n");
break;
case 3:
printf("Wednesday\n");
break;
case 4:
printf("Thursday\n");
break;
case 5:
printf("Friday\n");
break;
case 6:
printf("Saturday\n");
break;
case 7:
printf("Sunday\n");
break;
}
return 0;
现在我们只做两种区分:工作日与休息日
int main()
{
int day = 0;
scanf_s("%d\n", &day);
switch (day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;
default:
printf("输入错误\n");
break;//case和default没有顺序可言
}
}
随时检测自己:请自己计算出下列代码中n和m的值
int main()
{
int n = 1;
int m = 2;
switch (n)
{
case 1:
m++;//case1执行完以后,没有遇到break就要继续向下执行!!!
case 2:
n++;
case 3:
switch (n)
{
case 1:
n++;
case 2:
m++;
n++;
break;
}
case 4:
m++;
break;
default:
break;
}
printf("m=%d n=%d\n", m, n);
}
*小细节:if、while等语句下面有多个语句时,要用大括号括起来(即代码块)
*continue语句:
int main()
{
int i = 1;
while (i<11)
{
if (5 == i)
continue;//continue的作用是跳出此次循环,进行下次循环。而现在i=5不变,所以现在这段代码成为了死循环
printf("%d ", i);
i++;
}
return 0;
}//continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断
标签:case,int,else,break,switch,循环,printf,分支
From: https://blog.51cto.com/u_16250723/7650540