**
语句的概念**
首先,在C语言中一条语句是以分号为结尾的。
如:
int a;
printf("%d",a);
如果我们不加分号,编译器会提醒你加分号
下面我们进入到今天的学习:分支与循环语句
首先我们先来看if语句
if语句if语句的基本格式是
if(表达式)
{
想要执行的语句;
}
或
if(表达式)
{
想要执行的语句;
}
else
{
想要执行的语句;
}
或
if(表达式)
{
想要执行的语句;
}
else if(表达式)
{
想要执行的语句;
}
else
{
想要执行的语句;
}
表达式的值是 0 则表示真,执行大括号中的语句 非零则表示假,跳转到if语句的下一条语句
下面,大家判断一下,下面两种语句,哪一个会输出666
int a = 0;
if(a==0)
{
printf("666");
}
int a = 0;
if(a=0)
{
printf("666");
}
我们来分析一下,便于理解
首先,第一块语句,先把0赋值给了a,然后进行判断 a是否等于0?
如果等于 a == 0的值就是1 如果不等于 a == 0 的值就是假
所以执行括号内语句 打印666
下面我们再来看第二条语句
先把0赋值给了a,然后进入if语句表达式,又把0赋值给了a
**注意!**在C语言中 == 才是我们平常说的 = ,而单个的 = 只是赋值而已
所以第二条语句不会执行,但是不会报错,这就给我们寻找代码漏洞增加了难度,为了避免出现这种问题,我们可以怎样 *** 作呢?
int a = 0;
if(0 == a)
{
printf("666");
}
把数字放在前面,变量放在后边,这样计算我们写成了0=a,编译器也会报错,提醒我们修改。
上面我们说的,都是if的单分支用法,还有多分支
什么是单分支和多分支呢,我们画图(多分支借用了别人的)来说明一下
下面我们说说多分支的用法
和if 配套的是else
其多分支语句可以写成
if(a==0)
{
printf("999000");
}
else
{
printf("66660000");
}
上方语句的作用是 如果a等于零 打印 999000 如果a不等于零 打印66660000
还有一种多分支写法是
if(a == 0)
{
printf("1");
}
else if(a == 1)
{
printf("2");
}
else
{
printf("3");
}
上述语句的作用是
如果a等于0,打印1,如果a等于1打印2,如果a既不等于0,也不等于1,我们打印3。
也就是说,当if()和else if中的条件都不满足时,才会执行else中的语句
有一个值得注意的点,一个if只对应一个else else和距离最近的if对应,所以说我们要避免多写else的情况
下面我们来说说嵌套式的if 语句
if(a>0)
{
if(a<5)
{
printf("8");
}
}
只有满足a>0&&a<5这两个条件时,才会执行打印8;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)