目录
一、if语句
1.if语句的语法
1.if(表达式)
语句;
2.if(表达式)
语句1;
else
语句2;
3.多分支情况
int main()
{
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else
{
语句3;
}
return 0;
}
这里的一对{}就是一个代码块。
2.if语句的书写规范
(1)bool值和零的比较
int flag;
if(flag)//如果为真
{
//
}
if(!flag)//如果为假
{
//
}
(2)整型变量和零比较
int num = 10;
if(num == 0)
{
printf("num==0\n");
}
(3)指针和零的比较
int *p = NULL;
if(p != NULL)
{
*p = 20;
}
(4)浮点型和零的比较
#define EXP 0.0000000001
float f = 0.000001;
if((f>-EXP) && (f<EXP))
{
//意味着f是无线接近于0的数字,约等于0
}
二、switch语句
(1)
switch(整型表达式)
case 整型常量表达式;
(2)break
在switch语句中,我们没有办法直接实现分支,搭配break使用才能实现真正的分支。break语句的实际效果是把语句列表划分为不同的部分。
#include<stdio.h>
int main()
{
int day = 0;
switch(day)
{
case 1;
case 2;
case 3;
case 4;
case 5;
printf("weekday\n");
break;
case 6;
case 7;
printf("weekend\n");
break;
}
return 0;
}
(3)default子句
当switch表达式的值并不匹配所有case标签的值时,default子句后面的语句就会执行。
每个switch语句中只能出现一条default子句。
它可以出现在语句列表的任何位置。
编程好习惯:
- 在最后一个case语句后加上一个break语句;
- 在每个switch语句后都放一条default语句,甚至后面还可以加个break。
三、goto语句
最常见的用法就是终止程序在某些深度嵌套的结构的处理过程中,例如一次跳出两层或多层循环。这种情况break是达不到目的的,它只能从最内层循环退出倒上一层循环。
goto语句适合的场景是:
for(...)
for(...)
{
for(...)
{
if(disaster)
goto error;
}
}
...
error:
if(disaster)
//处理错误情况