汉扬编程 C语言入门 C语言学习:选择结构语句if else

C语言学习:选择结构语句if else

C语言提供两种选择结构语句,即if语句和switch语句。我们先讲if语句,if语句是实现选择结构最常用的语句。

C语言学习:选择结构语句if else

if 和 else 是C语言32个关键字中两个新的关键字,

C语言学习:选择结构语句if else

if 意为“如果”,else 意为“否则”,用来对条件进行判断,并根据判断结果执行不同的语句。

C语言学习:选择结构语句if else

C语言学习:选择结构语句if else

总结起来,if else 的结构为:

if(判断条件)

{

语句块1

}

else

{

语句块2

}

意思是,如果判断条件成立,那么执行语句块1,否则执行语句块2 。其执行过程可表示为下图:

所谓语句块(Statement Block),就是由{ }包围的一个或多个语句的集合。

如果语句块中只有一个语句,也可以省略{ }。

举例:求两个数中的较大值:

#include <stdio.h>

int main()

{

int a, b, max;

printf(\”输入两个整数:\”);

scanf(\”%d %d\”, &a, &b);

if(a>b) max=a;

else max=b;

printf(\”%d和%d的较大值是:%d\\n\”, a, b, max);

return 0;

}

运行结果:

仔细的看一下,是不是觉得if语句还是挺简单得。

多个if else语句if else 语句也可以多个同时使用,构成多个分支。

意思是,从上到下依次检测判断条件,当某个判断条件成立时,则执行其对应的语句块,然后跳到整个 if else 语句之外继续执行其他代码。如果所有判断条件都不成立,则执行语句块n,然后继续执行后续代码。

也就是说,一旦遇到能够成立的判断条件,则不再执行其他的语句块,所以最终只能有一个语句块被执行。

例如,使用多个 if else 语句判断输入的字符的类别:

#include <stdio.h>

int main(){

char c;

printf(\”Input a character:\”);/*请输入一个字符*/

c=getchar();

if(c<32)/*控制字符*/

printf(\”This is a control character\\n\”);

else if(c>=\’0\’&&c<=\’9\’)/*数字字符*/

printf(\”This is a digit\\n\”);

else if(c>=\’A\’&&c<=\’Z\’)/*大写字符*/

printf(\”This is a capital letter\\n\”);

else if(c>=\’a\’&&c<=\’z\’)/*小写字符*/

printf(\”This is a small letter\\n\”);

else

printf(\”This is an other character\\n\”);/*其它字符*/

return 0;

}

运行结果:

本例要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。这是一个多分支选择的问题,用多个 if else 语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“w”,输出显示它为小写字符。好好看这个例子,还是挺考C语言基本知识的,重点记忆。

在使用 if 语句时还应注意以下两点:

在 if 语句中,判断条件必须用括号括起来。

语句块由{ }包围,但要注意的是在}之后不需要再加分号;(当然加上也没错)。

if语句的嵌套if 语句嵌套时,要注意 if 和 else 的配对问题。C语言规定,else 总是与它前面最近的 if 配对(就近原则),例如:

if(a!=b) // ①

if(a>b) printf(\”a>b\\n\”); // ②

else printf(\”a<b\\n\”); // ③

③和②配对,而不是和①配对。

if语句的基本用法差不多了,有什么问题的可以评论。选择结构语句的switch语句下次说。

欢迎订阅点赞,谢谢!

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/cjia/6748.html

(elseif和else if)第十章、c控制语句之分支if、else

UNIX传奇史上最关键的10位牛人,谁是你的No.1?

发表评论

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

返回顶部