各位老铁们,大家好,今天由我来为大家分享如何学习C语言判断语句?策略if 语句是第一步,以及的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
一、if语句
在运算符章节中,我们学习了问号表达式。即当某个条件表达式为真时,问号表达式的结果就是冒号之前的结果。当条件表达式为假时,问号表达式的结果是冒号后面的内容。这里我们可以分析一下,问号表达式实际上是一个条件判断函数表达式,也就是说:
如果条件表达式的计算结果为true:
那么结果就是A;
否则:
那么结果就是B。
其实,这是我们生活中经常需要处理的情况,如果……那么……否则……那么……
二、 if语句基本用法
if语句的基本用法有以下四种形式。我们以ab中的最大值为例,分别看一下。
1)简单的if语句形式
if(某个条件)执行某项操作。如图中的if语句,即如果ab,且a=b,则使a取最大值,最后输出
这种语句形式的语义是:如果表达式为真,则执行该语句块;如果为真,则执行该语句块。否则,该语句块将被跳过,并执行整个if 分支语句后面的其他语句。上述语句块可以是一条语句,也可以是多条语句的组合。
2)if-else语句形式
if(表达式)语句a
else语句b,即满足表达式时执行语句a,否则执行语句b
该语句形式的语义是:如果表达式为真,则执行语句块1;如果表达式为真,则执行语句块1。否则,执行语句块2。也就是说,必须执行语句块1和语句块2之一。然后,执行整个if 分支语句后面的其他语句。
3) if-else-if 语句形式
if (表达式1) 语句1
else if (表达式2) 语句2
else 语句3
即当满足表达式1时,执行语句1,但不满足表达式1,而当满足表达式2时,执行语句2,不满足语句3。
这种语句形式的语义是,依次判断每个表达式,如果表达式为真,则执行对应的语句块,然后跳出整个if分支语句,执行后面的语句;如果前m个表达式不成立,则执行Then语句块n,然后跳出整个if分支语句,执行后面的语句;即程序一定会执行整个if分支语句的n个语句块之一。
4)if语句的嵌套形式
即在if语句内写入其他if语句,如图
所谓if语句的嵌套形式,是指该if语句的某个分支中还有另一个if语句。通俗的理解是,前三种使用形式中的语句块也是一个if语句,并且可以是前三种使用形式中的任何一种。 C语言的C89标准规定编译器必须支持至少15级嵌套; C99标准将限制提高到127级。不过,虽然支持这么多层嵌套,但在实际编程应用中,为了保持程序的可读性和简单性,还是应该尽可能减少嵌套层数。
三、 if语句用法技巧
1)合理调整if分支的顺序
在编写应用程序时,应合理调整if分支的顺序,将大概率为true的情况对应的语句块直接放在if后面,而不是放在else后面。这样有利于减少程序判断次数,提高执行效率。
例如,我们将学生的成绩分为三个分数范围:60分及以上、40-60分、40分以下。显然,大多数学生通过,即某个学生通过的可能性更大,分数低于60 的可能性较小,分数低于40 的可能性更小。在编写处理学生分数的应用程序时,形式通常使用if-else-if 语句。 60分及以上的学生的处理状态应直接放在if语句之后,40-60分的学生应放在else if语句之后。 40 分钟的情况在else 语句之后处理。这样的安排很符合大家的逻辑思维习惯。如果顺序颠倒过来,if语句处理40分或更少,else if语句处理40-60段,60分或更多放在else语句后面,这实际上会使分数比较次数增加一倍。
2)else组合问题
C语言编程应用if语句时,要注意else的匹配问题,else总是与最接近的不匹配的if组合在一起。如果不注意这个问题,程序的执行结果可能会与预期相去甚远。请看下面的例子。
if(表达式1)
if(表达式2)
语句块1;
别的
语句块2;
if(表达式1)
{
if(表达式2)
语句块1;
}
别的
语句块2;
3)避免添加分号“;”在if/else 语句之后
在C语言中,由分号“;”组成的语句称为空语句。它不执行任何操作,通常用于清空循环体。如果不小心加了分号“;”在if/else 语句之后,程序执行可能会违反您的意图并导致意外结果。例如:
如果(表达式);
语句块;
初衷是如果表达式为真则执行语句块。现在我不小心加了一个分号“;” if之后,上面的表达式实际上就变成了下面的形式:
如果(表达式)
;
语句块;
也就是说,如果表达式为true,则执行空语句。然后执行语句块。此时,上面的语句块不再是在表达式为true的条件下执行,而是会无条件执行。
可以看出误用了分号“;”会带来难以预料的后果。而且,这种错误在程序编译时是无法发现的,也不会出现错误信息。所以建议大家编程的时候一定要小心。
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/187229.html
用户评论
神经兮兮°
imparare le istruzioni condizionali in linguaggio C mi ha fatto capire meglio come scrivere script più complessi. L'articolo è molto chiaro e fornisce esempi semplici ma efficaci.
有12位网友表示赞同!
素衣青丝
感觉这篇写得真的不错,我以前在这方面一直磕磕碰碰的,现在终于有点理解了。如果语句是C语言的基础,好好把它学好真的很重要啊!
有14位网友表示赞同!
肆忌
学习编程需要循序渐进,从基础掌握开始就很有道理。像if语句这种基础概念确实要夯实基础,才能学到更高的编程知识!
有12位网友表示赞同!
寂莫
这个文章讲的很详细 banget! 虽然我是个初学者,但是我理解了文章在说什么。我会试着练习这些在项目里面,谢谢分享!
有17位网友表示赞同!
情深至命
C语言入门难度真的不低,但还好有这篇博客来指点迷津,特别是对if语句的分析非常详细,帮我摆脱了许多困惑!学习编程真是一个循序渐进的过程啊。
有9位网友表示赞同!
龙卷风卷走爱情
我一直以为学习C语言很困难,看完这篇文章我好像觉得更容易了。原来判断语句只需要掌握一些简单的语法规则就可以。这个攻略的确不错!
有14位网友表示赞同!
该用户已上天
这篇博文虽然入门友好,但对于已经有一定编程经验的同学来说,可能有些过于基础化了。建议作者可以加入更多进阶的内容,比如嵌套if语句的使用等。
有13位网友表示赞同!
月下独酌
我觉得文章里分析过浅,并没有真正说明“if”语句的灵活运用和常见场景。例如,如何结合循环语句进行更高效地程序设计?
有18位网友表示赞同!
歇火
学习C语言的关键在于掌握语法规则,而这篇文章确实很好的讲解了如何理解“if”语句这个基础语法。我以后学习编程的时候会参考这篇博客。
有16位网友表示赞同!
焚心劫
我觉得学习C语言最难的是“逻辑思维”。写程序需要你像解谜游戏一样,一步一步分析代码的执行流程。文章里没有对这个问题进行深入讲解,有点遗憾!
有18位网友表示赞同!
娇眉恨
文章内容比较简单易懂,很适合初学者参考学习,但是对于经验丰富的老手来说可能太过基础了. 希望作者可以出更多深度的内容.
有12位网友表示赞同!
凉城°
我以前写代码的时候经常会遇到各种语法错误,现在明白了“if”语句的使用方式,很多问题都解决了。感谢作者的细致讲解!
有10位网友表示赞同!
顶个蘑菇闯天下i
C语言真的太难了! 不过这篇文章讲得不错,至少让我对 “if” 语句有了点认识。 我会继续努力学习C语言!
有16位网友表示赞同!
安之若素
文章很好看懂,帮我解决了 "if" 语句 的问题,之前总找不到合适的位置使用它,现在终于有点头绪了。
有6位网友表示赞同!
拉扯
我觉得文章的实例太简单了,没有包含实际应用场景的案例讲解,对于想要实战经验的小伙伴来说不太实用。
有11位网友表示赞同!
笑叹★尘世美
学习编程需要不断练习, 这篇文章虽然介绍了一些“if” 语句的使用规则,但我还是要去多写代码才能真正熟练掌握。
有14位网友表示赞同!