分支与循环语句中,一般包括以下几点,我将按顺序解释各个语句,希望我的解释可以给大家带来全新的认识,如果有解释不清楚或者不严谨的地方欢迎大家在评论区留言,我也是一个学习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;
}
运行结果:
以上就是本篇文章的全部内容了,还有更多的知识点,将在后面陆续更新,感谢大家的阅读,如果有解释错误或者是不理解的欢迎在评论区留言。谢谢!