目录
一.if语句
1.if的使用方法
if(判断){语句}
else(判断){语句}
else{语句}
2.if使用时的注意事项
判断语句不能使用连等式,可以用逻辑操作符&&(并且)、||(或者)来表示
if(1<a<2)//这是一个错误的示范
if(a>1&&a<2)//正确
判断语句的内容如果为假则返回0,如果为真或非零则返回1
int true = 1 < 2;
int false = 1 > 2;
printf("%d %d", true, false);//输出结果为"1 0"
由上面的示例可以看出,"1<2"为真,所以返回1存入变量true;"1>2"为假,所以返回0存入变量false。
另外,C语句中=号表示赋值,==才表示判断,很多同学在这里稍不注意就会出问题,所以当判断变量与常量是否相等时,可以将常量写在前面
int a=1;
if(a=5)
printf("好好学习\n");//输出"好好学习"
if(a==5)
printf("天天向上\n");//不输出
//建议使用if(5==a)
如上面示例如果a=5是将5赋值给a,结果5为非零则返回1,输出"好好学习"; a==5为假则返回0,不执行下一条语句
而如果写作5==a,当我们不小心少打一个=号时程序会报错,这是因为5为常量,不能将变量a的值赋给5,这样也方便之后更快地找到错误
3.悬空else
如果有多个else和if时,else总是跟最近的if匹配
#include<stdio.h>
int main()
{
int b = 2;
int a = 1;
if(1==b)
if(1==a)
printf("学习");
else
printf("天天")
//最终结果为不输出任何值
return 0;
}
上面示例中,else与 if(1==a)匹配,当程序运行时,先判断if(1==b)为假,后面的if(1==b)与else作为一个整体都不执行,故结果为不输出任何值
二.switch语句
1.switch的使用方法
switch(整形)
{
case 整形常量表达式:
语句;
break;
case 整形常量表达式:
语句;
break;
//......
default:
语句;
break;
}
2.switch使用时的注意事项
case后接的必须接整型常量表达式
int a = 1;
case 1://正确
case 1+2://正确
case a://错误
case 3.14://错误
case与default的末尾加的是冒号,不是分号
case 1://正确
case 1;//错误
3.switch中break的使用
#include<stdio.h>
int main()
{
int a = 2;
switch (a)
{
case 1:
printf("一");
case 2:
printf("二");
case 3:
printf("三");
case 4:
printf("四");
case 5:
printf("五");
case 6:
printf("六");
case 7:
printf("七");
}
return 0;
}//输出结果为"二三四五六七"
上面例子中我们想只输出"二",结果却输出了"二三四五六七",这是为什么呢?
原来,case只决定执行switch语句的入口,如果没有break,程序会从case开始一直往后执行下去。下面是修改后的示例
#include<stdio.h>
int main()
{
int a = 2;
switch (a)
{
case 1:
printf("一");
break;
case 2:
printf("二");
break;
case 3:
printf("三");
break;
case 4:
printf("四");
break;
case 5:
printf("五");
break;
case 6:
printf("六");
break;
case 7:
printf("七");
break;
}
return 0;//输出结果为"二"
}
4.switch中default的使用
default可以作为switch语句的一道保险,用于执行所有无法与case匹配的值
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);//输入任意非1~7的整形
switch (a)
{
case 1:
printf("一");
break;
case 2:
printf("二");
break;
case 3:
printf("三");
break;
case 4:
printf("四");
break;
case 5:
printf("五");
break;
case 6:
printf("六");
break;
case 7:
printf("七");
break;
default:
printf("输入错误");
}
return 0;//输出结果为"输入错误"
}
建议在每一个switch语句中都加入default,这样可以降低程序出bug的几率
最后,感谢大家观看!