前言
言简意赅,C语⾔结构指的是顺序结构、选择结构、循环结构。生活中的事情处理也就是这些结构的组合。
我们可以使⽤ if 、 switch 实现分⽀结构,使⽤ for 、 while 、 do while 实现循环结构。
一、分支结构
1. if 语句
语法如下
if ( 表达式 )
语句
在C语⾔中,0为假,⾮0表⽰真
注意: if 和 else 语句中默认都只能控制⼀条语句,一定得加上{}
if ( 表达式 )
{
语句1
}
else
{
语句2
}
嵌套if
在 if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断。
例子如下:要求输⼊⼀个整数,判断输⼊的整数是0,还是正数或者负数。
int main()
{
int num = 0;
scanf("%d", &num);
if(num == 0)
printf("输⼊的数字是0\n");
else if(num > 0) //这⾥的if 相当于嵌套在els语句中,形成了嵌套结构
printf("输⼊的数字是正数\n");
else
printf("输⼊的数字是负数\n");
return 0;
}
悬空else问题
先来看下面这段代码
程序中有多个 if 和 else , 但else 总是跟最接近的 if 匹配。所以上图else与第二个if匹配,所以出现如上图什么都不输出的结果。
为了避免这种结果就得加上大括号,让程序更加清晰。
2. switch语句
语法如下:
switch (expression)
{
case value1: statement
case value2: statement
default: statement
}
练习:输⼊任意⼀个整数值,计算除3之后的余数
int main()
{
int n = 0;
scanf("%d", &n);
switch(n%3)
{
case 0:
printf("整除,余数为0\n");
break;
case 1:
printf("余数是1\n");
break;
case 2:
printf("余数是2\n");
break;
}
return 0;
}
switch语句中的default
switch 后的表达式中的值⽆法匹配代码中的 case 语句的时候,可以加入default ⼦句。
例子如下:
注意:
• switch 后的 expression 必须是整型表达式
• case 后的值,必须是整形常量表达式
• 根据表达式 expression 不同的值,执⾏相应的 case 分⽀。若无则就执⾏ default 分⽀
•case 和后边的数字之间必须有空格
•每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句