众所周知,c语言是结构化的程序设计语言。而c语言中的结构大致能分为三种
1.顺序结构 2.选择结构 3.循环结构,而今天想要分享的是选择结构(也叫分支语句)中的一种if else语句
什么是语句?
当然,在介绍if else语句前,我们要有一个总的概念,什么是语句?
语句是指令式编程语言最小的独立元素,表达程序需要执行的操作
C语言语句可分为以下五类:
1. 表达式语句
2. 函数调用语句
3. 控制语句
4. 复合语句
5.
空语句
而这次,甚至后面几次将要介绍的是控制语句。
控制语句
用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,
C
语言有九种控制语句:
也大致可以分为以下三类:
1.
条件判断语句也叫分支语句:
if
语句、
switch
语句;
2.
循环执行语句:
do while
语句、
while
语句、
for
语句;
3.
转向语句:
break
语句、
goto
语句、
continue
语句、
return
语句。
其实简明扼要一点,什么是语句?在c语言中,一个以结尾为;控制的就是一个语句
if else语句的语法结构
if else语句一共有三种语法结构
当然在开始了解if else之前,我们要知道C语言是如何判断真假的
一般来说,在c语言中,非0就是真,0就是假,有了这个前提,我们就能开始了解第一种语法结构
语法结构1.
if
(
表达式
)
语句
;
在该种语法结构中,if后表达式如果为真,则执行操作。
举例:
#include<stdio.h>
int main();
{
int age = 0;
scanf("%d",&age);
if(age<=18)
printf("未成年”);
return 0;
}
语法结构2.
if
(
表达式
)
语句
1
;
else
语句
2
;
#include<stdio.h>
int main()
{
int age = 0;
scanf("%d",age);
if(age<=18)
{printf ("未成年");}
else
{printf("成年");}
return 0 ;
}
语法结构3
//
多分支
if
(
表达式
1
)
语句
1
;
else if
(
表达式
2
)
语句
2
;
else
语句
3
;
语法结构3的大致用法于2相同,不过是else if可以多次使用。
当然还有一些细节可以补充。
1.if和else默认只能控制一条语句,如果带上{},那么可以控制一条或多条语句
2.else悬空问题
例:
#include<stdio.h>
int main()
{
int a = 0;
int b = 2;
if(a=1)
{if(a=2)
printf("牛的");
}
else
printf("牛逼");
return 0;
}
大家第一眼看到这串代码的时候,很容易认为如果代码运行时,会输出“牛的”,但是在这里就很明显出现了悬空else的问题,导致最后输出的为空。
为什么会出现这样呢?
是因为else和离得最近的if匹配,也就是说,如果该代码没有进入if(a=1)中,那么就直接到return 0;了。
所以,这一点提醒我们,代码书写风格十分重要,如果我们将代码的if(a=2)和else对齐,那么就不容易出现误判的情况。
版权声明:本文为chenchzh23原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。