本文由课件及笔记整理完成
1. 分支语句(选择结构) 1.1 if语句 1.1.1 语句结构//最简
if(表达式)
语句;//双分支
if(表达式)
语句1;
else
语句2;//多分支
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
具体示例:
注意点:#include
int main()
{
int score = 0;
scanf("%d ", & score);
if (score >= 0 && score < 60)
{
printf("不及格n");
}
else if (score >= 60 && score < 85)
{
printf("良好n");
}
else
{
printf("优秀n");
}
return 0;
}
- 表达式为真,语句就会执行。【在C语言中,0表示假,非0表示真】
- 作为判断的表达式不可以写成(60<=score<85)。如果score为1,不满足大于等于60,但是满足小于85,会造成矛盾。
- 最后一个else是不必须存在的。
- “{ }”代表一个代码块,if后的“{ }”并不是必要的。没有的话只会执行一条语句,有的话能够控制“{ }”中的所有语句。
如下:
#include
int main()
{
int a = 1;
int b = 2;
if (a == 2)
if (b == 2)
printf("Rightn");
else
printf("Wrongn");
return 0;
}
当你写出这个代码,是不会有打印结果的。
为什么?
因为这里的else是与最近的if匹配。
解决:
#include
int main()
{
int a = 1;
int b = 2;
if (a == 2)
{
if (b == 2)
{
printf("Rightn");
}
}
else
{
printf("Wrongn");
}
return 0;
}
这说明:
适当的“{ }”对代码有很大的作用,可以使代码逻辑更加清楚。
1.1.3 书写形式//代码1
int main()
{
int a = 2;
if (a = 2) //“ = ” 表示赋值,把1赋值给a
{
printf("Rightn");
}
return 0;
}
//代码2
int main()
{
int a = 2;
if (a == 2)//“ == ” 表示判断,判断a是否为2
{
printf("Rightn");
}
return 0;
}
代码1与代码2的区别在于if后面的表达式
二者所表达的意思截然不同,尽管在这个地方能够运行,但
为保证不会出现这种情况,可以采取以下方法:
1.2 switch语句int main()
{
int a = 1;
if (1 == a)//因为a是个变量,在 1 = a 这样的情况下,编译器会报错,变量不可以给常量赋值,因此可以规避少了一个“ = ”的错误。
{
printf("Rightn");
}
return 0;
}
switch语句常用于多个分支的情况。
1.2.1 语句结构1.2.2 switch语句中的breakswitch (整型表达式)
{
case 整型常量表达式;
语句;
}
break语句将语句划分为不同的分支
#include
int main()
{
int a = 1;
switch(a)//a必须为整型常量表达式(即int),不能为float等,字符属于整型的一种(因为机器中字符由ASCII码值表示)
{
case 1;//case决定入口
printf("一n");
break//break决定出口 (与case一起实现分支)case 2;
printf("二n");
break
}
return 0;
}
最好在最后一个case语句后加一个break语句。
1.2.3 switch语句中的default- default是switch语句中输错的提示
- 可以把default写在任意case可以出现的位置
- 每个switch语句只能出现一条default
- 习惯上将其放在最后。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)