C语言中的分支、循环语句之if语句

0. 引入

众所周知,C语言是一门结构化的程序设计语言。那么,这里的结构化指的是什么呢? 

这里的结构指的是顺序结构、选择结构、循环结构三大结构类型。仔细想想,我们的生活也不过就这三种结构,所以,C语言也就可以依靠这三种结构来实现我们的各种需求了。

有结构,自然也就有对应的语句:

顺序结构——我们平常写代码大多用的就是顺序结构;

选择结构——C语言中的分支语句,包括if和switch语句;

循环结构——C语言中的循环语句,包括for、while和do-while语句。

接下来我就注意给大家介绍上述语句。

1. if语句

if语句的语法如下:

if(表达式)
   语句

当表达式的内容为真时,开始执行语句内容;为假时,则跳过语句。其流程图如下:

下面来一个例子:

接下来问题来了,那如果输入的数字不是0,我也想打印东西,怎么办呢?

那就要引入else语句了。

2. else语句

else的语法规则和if的差不多,只是不用写表达式了而已:

if(表达式)
   语句;
else
   语句;

那我们上边的例子就可以这么来写了:

但是,我们也知道,人生的选择并不是二选一。所以,想要写出有更多选择的分支语句,就要借助else if语句了。

3. else if 语句

else if语句的语法形式和if语句的语法形式一摸一样。

下面来看一下下面一个例题:

如果年龄<18岁,打印"少年"
如果年龄在18岁⾄44岁打印"⻘年"
如果年龄在45岁⾄59岁打印"中⽼年"
如果年龄在60岁⾄89岁打印"⽼年"
如果90岁及以上打印"⽼寿星"

这个就涉及到了多个选择,就要派上else if语句了。完整的代码体现如下:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age < 18)
		printf("少年\n");
	else if (age >= 18 && age < 44)
		printf("青年\n");
	else if (age >= 44 && age < 59)
		printf("中老年\n");
	else if (age >= 59 && age < 89)
		printf("老年\n");
	else
		printf("老寿星\n");
	return 0;
}

当然这个题目中涉及到了&&操作符,在后期的文章中我会再跟大家提到这个事。

到这里,有的好奇宝宝就会问了:“if语句可不可以嵌套使用呢?”

答案是:可以!

其实,else if语句就可以相当于一个嵌套的if语句。它可以变成如下形式:

else
{
    if(表达式)
        语句
}

4. if语句的代码规范

其实这一趴我想说的是一个if语句控制多条命令的书写形式,具体点就是:

#include <stdio.h>
int main()
{
 int age = 0;
 scanf("%d", &age);
 if(age >= 18) 
     printf("成年了\n");
     printf("可以谈恋爱了\n");
 else 
     printf("未成年\n");
     printf("不可以早恋哦\n");
 return 0;
}

这么写对吗?

答案是:不对的!

因为一个if默认跟的是下面的一条语句,如果有两条及以上的话就要用大括号括起来,所以正确的写法应该是:

int main()
{
    int age = 0;
    scanf("%d", &age);
    if (age >= 18)
    {
        printf("成年了\n");
        printf("可以谈恋爱了\n");
    }
    else
    {
        printf("未成年\n");
        printf("不可以早恋哦\n");
    }
    return 0;
}

好了,if语句就给大家介绍到这里啦,我们下期见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值