1.if语句
(1)if语句的语法
if(表达式)
语句;
if(表达式)
语句1;
else
语句2;
如果表达式结果为真,则执行语句1,若表达式结果为假,执行语句2;C语言中,0为假,非0为真。
(2)if语句书写规范
a.bool值和0比较
int i;
if(i == TRUE)
{ … }
if(i == FALSE)
{ … }
TRUE、FALSE被定义为一个固定的值,如i=6,TRUE(1)==i会发生判断错误。
b.整形变量和0比较
int num = 10;
if(num)
{
printf("num = 0\n");
}
//输出:num = 0
c.指针和0比较
int *p;
*p = 20; //运行出错,p没有指向任何单元,就给这个单元赋值,显示访问了不知名空间。
int *p = NULL;
if(p != NULL)
{
*p = 20;
}
d.浮点型和0比较
double a = 29.0;
double b = a / 4.0;
if(a == b * 4.0)
{
printf("相等\n");
}
else
{
printf("不相等\n");
}
//输出结果:相等
浮点数在内存中的存储方式使得有些浮点数在内存中无法精确存储,这样必然有精度的丢失,使计算不准确,因此无法使用==直接判断浮点数的相等。设置一个能接受的精度,保证误差在精度范围内即可。
//判断一个浮点数是否等于20
#define EXp = 0.0000000001
flout f = 19.99999;
if( ((f-20.0)>-EXP) && ((f-20.0)<EXP) )
printf("f无限接近于20");
2.switch语句
switch(常量表达式)
{
case 整形常量;
语句;
break;
default:
break;
}
#include<stdio.h>
int main()
{
int num = 5;
switch(num)
{
case 1:
printf("Monday\n");
break;
case 2:
printf("Tuesday\n");
break;
case 3:
printf("Wedensday\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;
defult:
break;
}
return 0;
}
#include<stdio.h>
int main()
{
int num = 5;
switch(num)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("Weekday");
break;
case 6:
case 7:
printf("Weekend\n");
break;
defult:
break;
}
return 0;
}
3.goto语句
当需要跳出两层、三层或多层的循环时,使用goto语句远远比使用break语句跳出循环简单
for(…)
{
for(…)
{
for(…)
{
if(disaster)
goto error;
}
}
}
error:
if(disaster)
...
来源:CSDN
作者:茉茗柒杪
链接:https://blog.csdn.net/Cherry_jim/article/details/104156793