Hello~我是芝士,前面的文章中给大家介绍了一些C语言初识篇的内容,对C语言的一些基本的语法以及程序的书写有了初步认识,后面给大家分享C语言语句篇,本篇分享C语言的分支语句
。
目录
关于C语言中的语句,这里进行一个简单的介绍。C语句可分为以下五类:
- 表达式语句
- 函数调用语句
- 控制语句
- 复合语句
- 空语句
今天要介绍的是C语言的控制语句中的分支语句。关于控制语句可以分为以下三大类:
- 分支语句(条件判断语句):if语句、switch语句
- 循环语句:while 语句、do while 语句、for语句
- 转向语句:break语句、goto语句、continue语句、return语句
1. if 语句
if 语句的介绍主要分为以下几个模块:
1.1 语法形式
if 语句也是选择语句,我们在进行选择的时候有单项选择、两项选择以及多项选择,在进行两项以及多项选择时通常会与else连用
,构成if...else
语句结构,具体的语法结构如下:
1. 单项选择结构
if(表达式)
执行语句;
注:只有if里面的表达式判断为真(非零),才会对语句进行执行,否则没有输出。
2. 两项选择结构
if(表达式)
执行语句1;
else
执行语句2;
注:当if里面的表达式判断为真(非零),语句1进行执行,否则执行else的语句2。
3. 多项选择结构(这里以三项为例)
if (表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
注:当if里面的表达式1判断为真(非零),执行语句1,
否则对else if的表达式2进行判断,为真执行语句2,
表达式1和2都为假,执行语句3。
下面用具体的程序进行测试:
#include <stdio.h>
int main()
{
int a = 10;
//单项选择结构
if (a !=0)
{
printf("Hello world\n");
}
//两项选择结构
if (a == 0)
{
printf("a的值为0\n");
}
else
{
printf("a的值不为0\n");
}
//多项选择结构
if (a ==0)
{
printf("a的值为0\n");
}
else if (a == 1)
{
printf("a的值为1\n");
}
else
{
printf("a的值不为0也不为1");
}
return 0;
}
得到输出结果:
Hello world
a的值不为0
a的值不为0也不为1
从以上程序代码中我们发现有一个{ }
符号也叫做代码块
,这是分支语句的组成部分之一。当要执行多条语句时,适当的使用{ }可以使代码的逻辑更加清楚
,具体的理解我们后面进行详细介绍。
1.2 else使用
我们在实际运用时,常常涉及到两个及两个以上的分支选择,因此else的配合使用能够帮助我们实现更多功能。
1.2.1 悬空else
上面的程序我们简单地体验了else的使用,else不仅仅能够与if构成if...else语句,还能够与if构成else if 进行选择判断
。需要注意的是:如果有多个 if 和 else,else总是跟最接近的if进行匹配,这样的匹配原则也叫做悬空else问题。具体可以见下面代码:
#include <stdio.h>
int main()
{
int a = 1;
int b = -1;
if (a < 0)
if (b == -