初学C语言探究分支语句(if..else篇)

分支与循环语句中,一般包括以下几点,我将按顺序解释各个语句,希望我的解释可以给大家带来全新的认识,如果有解释不清楚或者不严谨的地方欢迎大家在评论区留言,我也是一个学习C语言的小白,希望和各位志同道合的朋友共同进步。谢谢!

 1.if 选择条件语句

这个语句的功能是判断表达式是否成立,如果成立,就执行语句,如果不成立,就不会执行表达式后面的语句,如下图所示:

 

 

 简单代码形式如下所示:

语法结构:
if(表达式) 
语句;
//也可以写成
if (表达式) 
  {语句1} 

//第二种写法适用于语句多的情况,要注意大括号的对齐,以免括号过多让自己眼花缭乱

下面有一题简单的代码题可以帮助大家理解if语句的使用。

我们可以定义一个a,如果a=1,那么打印“青山是大帅哥”,如果a!=1,就会打印“青山不是大帅哥”,哈哈哈,题目很有意思对吧,让我们开始解题吧。

解题代码如下:

#include<stdio.h>
main()
{
    int a = 0;
    scanf("%d", &a);
    if (a == 1) printf("青山是大帅哥\n");
    printf("青山不是大帅哥\n");
    return 0;

}

运行结果:

 

 有些朋友就会说了,你看看你输入1之后,打印了两个句子,不符合题目要求,哈哈,朋友你先别急,我们回到上面看,如果成立,执行语句,如果不成立就会执行表达式后面的指令,因为成立a=1所以他执行了“青山是大帅哥”这个语句,但是后面语句他也会执行,因为C语言是顺序结构,当然如果他没有符合a=1这个条件,就不会打印“青山是大帅哥”这个语句,而是跳过这个指令,执行下一句“青山不是大帅哥”这个语句,哈哈哈是不是很巧妙呢,当然我们为了美观,也可以在a=1的时候只打印青山是大帅哥,那就是我们下面学习的if..else语句。

1.2 if..else语句

这个语句判断表达式是否成立,如果成立会立刻执行语句块A,如果不成立则实行语句块B,如下图所示:

简单的程序代码如下:

​语法结构:
if(表达式) 语句;//也可以写成if (表达式) {语句1} 

if(表达式) 语句1;//if (表达式) {语句2} 

else 语句2;
//注意大括号和小括号之间需要用空格隔开
​

 学习到这个知识以后我们再来做前面留下的题目。题目有所改变。

我们可以定义一个a,如果a=1,只能打印“青山是大帅哥”,如果a!=1,只能打印“青山不是大帅哥”,来吧,让我们开始吧。

解题代码如下:

#include<stdio.h>
main()
{
    int a = 0;
    scanf("%d", &a);
    if (a == 1) printf("青山是大帅哥\n");
    else printf("青山不是大帅哥\n");
    return 0;

}

运行结果:

 看吧,这就是我们想要的结果了。学习是由浅至深的,那么接下来我们就要学习if语句的嵌套了,准备好了,冲冲冲!

1.3if..else 的嵌套

一个if又包含一个或者多个if语句称为if语句的嵌套。嵌套if语句的语法格式如下:

if (表达式)
		if (表达式)  语句1;
		else 语句2;
	else
		if (表达式) 语句3;
		else 语句4;

这种在if语句中又包含了if的选择结构,常用于解决比较复杂的选择问题,其中每一条语句都必须经过多个条件共同决定才能执行。

嵌套if语句有以下几个特点:

1.嵌套if语句使用非常灵活,任何if语句都可以嵌套;

2.被嵌套的if语句本身又可以是一个嵌套的if语句;

3.在多种嵌套的if语句中,else总是与离他最近的并且没有配对的if配对。

我们可以利用下面两种方面解决if else的配对问题。

1.利用空语句,使if子句数量与else子句数量相同。

	if ()
		if ()  语句1;
		else ;
	else
		if () 语句2;
		else 语句3;

2.利用{}(大括号)确定配对关系,将没有else子句的if语句用{}括起来。

	if ()
	{
		if ()  语句1;
	}
	else
		if () 语句2;
		else 语句3;

作者个人是比较喜欢用第二个方法的,第二个方面对于我们初学者来说还是很友好的,也很好理解。

对于这个知识点呢,我也出了一道题,方便大家理解,哈哈哈

如何判断一个青山是不是一个帅哥呢?首先青山要是一个男生(男生用m,女生用f。)才能是帅哥吧哈哈哈,其次如果青山在25岁以下,那就是妥妥的小鲜肉了,如果大于30到40之间呢,可能就是一个更有男人味的帅哥了,当然啦,如果大家都觉得(认可用1,不认可用0)青山是帅哥,那么青山什么时候都可以是帅哥啦!

那么可以总结,青山是男生,小于25岁或者30岁到40岁之间,是帅哥,还有一个情况就是,青山被大家认可了,就一直是帅哥,其他情况都不是,那么解题代码如下:

 因为这个代码有很多种情况,我就不在这里为大家一一介绍了,感兴趣的朋友可以自己尝试一下,虽然这个是有一点点难度的,但是我们面对困难更应该迎难而上。

 1.4多分支if..else..if 语句

不知不觉就到了我们最后一个知识点了,加油坚持就是胜利!!!

多分支if..else..if语句事实上也是一种特殊的嵌套嵌套if语句,不断地在else子句中嵌套if语句可形成多层嵌套。

用以下形式来表示多分支if..else..if语句,使得读起来既层次分明,又不会占用太多篇幅:

	if (表达式) 语句1;
	else if (表达式2) 语句2;
	else if (表达式3) 语句3;
	......
	else if (表达式n) 语句n;
	else 语句m;

以上嵌套的if语句可以理解为:从上向下逐一对if后面的表达式进行检测。当某一个表达式的值为非零(真)时,就会执行预此有关的子句中的语句,其余部分不执行,直接跃过去,如果所有表达式的值都为0,就会执行最后else的子句。

多分支if..else..if将会是我们用的比较多的对比语句,对此我也出了一题,让我们对这个知识点进行巩固。

利用C语言编译器做一个简易的计算器,输入要求为“8*9=72”,或者“5/2=2.5”。动动我们的脑筋来做一做吧!

解题代码:

#include<stdio.h>
int main() {
	float a = 0, b = 0;
	char c;
	scanf("%f %c %f", &a, &c, &b);
	if (c == '+')
		printf("计算结果是 %.2f", a + b);
	else if (c == '*')
		printf("计算结果是 %.2f", a * b);
	else if (c == '-')
		printf("计算结果是 %.2f", a - b);
	else if (c == '/')
		printf("计算结果是 %.2f", a / b);
	else printf("输入错误请重新输入!\n");
	return 0;
}

运行结果:

 

 以上就是本篇文章的全部内容了,还有更多的知识点,将在后面陆续更新,感谢大家的阅读,如果有解释错误或者是不理解的欢迎在评论区留言。谢谢!

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值