如何学习C语言判断语句?策略if 语句是第一步

C语言,是全球使用最多的编程语言。上次我们谈到了switch语句,但在C语言中,if条件构成的选择结构程序很重要。在实际问题中,往往需要对不同变量进行比较,然后

各位老铁们,大家好,今天由我来为大家分享如何学习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

如何学习C语言判断语句?策略if 语句是第一步

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;

如何学习C语言判断语句?策略if 语句是第一步

if(表达式1)

{

if(表达式2)

语句块1;

}

别的

语句块2;

3)避免添加分号“;”在if/else 语句之后

在C语言中,由分号“;”组成的语句称为空语句。它不执行任何操作,通常用于清空循环体。如果不小心加了分号“;”在if/else 语句之后,程序执行可能会违反您的意图并导致意外结果。例如:

如果(表达式);

语句块;

初衷是如果表达式为真则执行语句块。现在我不小心加了一个分号“;” if之后,上面的表达式实际上就变成了下面的形式:

如果(表达式)

;

语句块;

也就是说,如果表达式为true,则执行空语句。然后执行语句块。此时,上面的语句块不再是在表达式为true的条件下执行,而是会无条件执行。

可以看出误用了分号“;”会带来难以预料的后果。而且,这种错误在程序编译时是无法发现的,也不会出现错误信息。所以建议大家编程的时候一定要小心。

用户评论

如何学习C语言判断语句?策略if 语句是第一步
神经兮兮°

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语言判断语句?策略if 语句是第一步
素衣青丝

感觉这篇写得真的不错,我以前在这方面一直磕磕碰碰的,现在终于有点理解了。如果语句是C语言的基础,好好把它学好真的很重要啊!

    有14位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
肆忌

学习编程需要循序渐进,从基础掌握开始就很有道理。像if语句这种基础概念确实要夯实基础,才能学到更高的编程知识!

    有12位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
寂莫

这个文章讲的很详细 banget! 虽然我是个初学者,但是我理解了文章在说什么。我会试着练习这些在项目里面,谢谢分享!

    有17位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
情深至命

C语言入门难度真的不低,但还好有这篇博客来指点迷津,特别是对if语句的分析非常详细,帮我摆脱了许多困惑!学习编程真是一个循序渐进的过程啊。

    有9位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
龙卷风卷走爱情

我一直以为学习C语言很困难,看完这篇文章我好像觉得更容易了。原来判断语句只需要掌握一些简单的语法规则就可以。这个攻略的确不错!

    有14位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
该用户已上天

这篇博文虽然入门友好,但对于已经有一定编程经验的同学来说,可能有些过于基础化了。建议作者可以加入更多进阶的内容,比如嵌套if语句的使用等。

    有13位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
月下独酌

我觉得文章里分析过浅,并没有真正说明“if”语句的灵活运用和常见场景。例如,如何结合循环语句进行更高效地程序设计?

    有18位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
歇火

学习C语言的关键在于掌握语法规则,而这篇文章确实很好的讲解了如何理解“if”语句这个基础语法。我以后学习编程的时候会参考这篇博客。

    有16位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
焚心劫

我觉得学习C语言最难的是“逻辑思维”。写程序需要你像解谜游戏一样,一步一步分析代码的执行流程。文章里没有对这个问题进行深入讲解,有点遗憾!

    有18位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
娇眉恨

文章内容比较简单易懂,很适合初学者参考学习,但是对于经验丰富的老手来说可能太过基础了. 希望作者可以出更多深度的内容.

    有12位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
凉城°

我以前写代码的时候经常会遇到各种语法错误,现在明白了“if”语句的使用方式,很多问题都解决了。感谢作者的细致讲解!

    有10位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
顶个蘑菇闯天下i

C语言真的太难了! 不过这篇文章讲得不错,至少让我对 “if” 语句有了点认识。 我会继续努力学习C语言!

    有16位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
安之若素

文章很好看懂,帮我解决了 "if" 语句 的问题,之前总找不到合适的位置使用它,现在终于有点头绪了。

    有6位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
拉扯

我觉得文章的实例太简单了,没有包含实际应用场景的案例讲解,对于想要实战经验的小伙伴来说不太实用。

    有11位网友表示赞同!

如何学习C语言判断语句?策略if 语句是第一步
笑叹★尘世美

学习编程需要不断练习, 这篇文章虽然介绍了一些“if” 语句的使用规则,但我还是要去多写代码才能真正熟练掌握。

    有14位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/187229.html

(0)
小su的头像小su
上一篇 2小时前
下一篇 2小时前

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注