- 12
- 0
- 约1.48万字
- 约 24页
- 2021-06-27 发布于山东
- 举报
精品文档
精品文档
PAGE
PAGE24
精品文档
PAGE
第五章 分支构造和循环构造
【学习目标】
本章将详尽介绍在C语言中怎样进行流程控制。主要包括分支语句、循环语句、流程跳转语句等。本章的学习要点包括如下几点:
1)if分支语句。
2)switch多分支语句。
3)while循环语句。
4)do-while循环语句。
5)for循环语句。
6)流程跳转语句。
【学习导航】
本章的在整个课程中的位置如图 5-1所示。
图5-1 本章学习导航
任何编程语言中最常有的程序构造就是次序构造。次序构造就是程序从上到下
一行一行地履行,中间没有任何判断和跳转。如图 5-2所示。
如果main方法多行代码之间没有任何流程控制,则程序总是从上向下依次履行,排在前面的代码先履行,排在后边的代码后履行。这意味着:如果没有流程控制,方法里的语句是一个次序履行流,从上向下依次履行每条语句。可是,当我们需要根据不同的情况来有选择的做一些操作时,次序构造就不能知足要求了,这时
候就需要分支构造出马了!
图5-2 次序构造语句的履行流程
5.1分支构造
迄今为止,我们编写的程序都是按次序从 main方法的第一行履行到最后一行。但现实
世界中有些情况是在必须知足一定条件下才发生的, 比方一个学生能拿奖学金必须知足每门
课程在75分以上。选择语句的基本功能是使程序在不同的情况下,履行不同的代码。这样
程序就不单只是次序履行了,能够按照预先定好的逻辑履行不同的流程(比方知足条件 A
就履行流程A,知足条件B就履行流程B)。C语言中有两种选择语句:if语句和switch语句。
if语句
简单形式
基本的if语句的语法为:
if( 表达式)
{
程序代码块;// 如果表达式为真,就履行这段代码
}
if 语句的作用是:当圆括号里的表达式返回值为真,则程序会履行花括号里面的程序
代码块。如果表达式值为假,则不会履行花括号里的程序代码块。其履行流程能够参照图
5-3。
图5-3 基本if条件语句的履行流程
现在我们用这种写法来达成【讲堂案例 5-1】。
【讲堂案例 5-1】在学生成绩管理系统中,需要对学生的成绩进行管理,请编写程序来根据
学生的成绩给出相应信息: 60分以上为“及格”,否则不显示。
【案例目标】会使用 简单if语句
【案例知识要点】 简单if语句的写法、表达式的运用。
【案例程序代码】 simpleIf.c
1#includestdio.h
main()
{
intscore=65;
if(score=60)
{
8 printf( 及格\n);
}
}
【案例代码说明】
第4行定义了一个变量score,初始化为65,用来保存学生成绩。
第6行,系统会计算关系表达式“score=60”的值,返回为true,所以会履行花括号里
的输出语句,程序的输出结果如图5-4:
图5-4Simple.c程序输出结果
试一试(一) :
如果改正一下程序的第 4行,将score的值改为50,再运行。程序的履行结果是怎样的
呢?
说明:因为这时系统在计算第 6行的表达式的值为 false,所以不会履行花括号里的代码。
最终main方法履行完后没有任何输出信息。
试一试(二) :
将程序代码的第 7行和第9行的花括号删除,再运行。程序的履行结果是怎样的呢?
说明:如果程序代码块只有一条语句,则能够省略 {}(但不介绍这种写法,参见下面的【规
则5-1】)。但if语句或else语句的程序代码块中包含多条语句,则必须放在花括号 {}内。
编程规范:
【规则5-1】if、for、do、while语句自占一行,且 if、for、do、while等语句的履行语句部
分不论多少都要加括号 {}。
试一试(三) :
下面的代码片段会输出什么结果?
1#includestdio.h
main()
{
inti=0;
if(i!=0)
i=i+5;
7 i=i+10;
8 printf(%d\n,i);
9}
上面的程序并没有任何语法错误, 所以是能够编译成功并履行的。 可能有读者会以为输
出结果是0,因为程序第5行的表达式返回值显然为false。所以后边的代码是不会履行的。可是不履行的代码只有第6行,第7行是会履行的。因为在if后边没写{}的情况下,if的作用范围只有if后边的第一条语句。从这个例子能够看出,这种写法存在一定的误导,所以优异的编程规范是:即使if后边只有一条语句,也要用{}括起来。【讲堂练习】
编写程序判断输入的数是不是偶数?
编写程序判断输入的年份是不是闰年?
2.完整形式
接下来我们改正一下需求, 假定对某个学生成绩进行判断, 如果大于等于 60则打印“及
格”,如果小于 60分则打印“不及格”。 要达成这个功能就需要用到 if的完整形式。基
本语法如下:
if
您可能关注的文档
最近下载
- 我国服务型政府建设问题探析——以A省为例.doc
- 智能网联汽车技术专业《智能传感器装调与测试》课程标准.docx VIP
- 辽宁石油化工大学无机化学考试题.doc VIP
- GB_T51357-2019:城市轨道交通通风空气调节与供暖设计标准.pdf VIP
- 光伏电站集电线路施工组织设计方案.pdf VIP
- 钢结构构造与识图(第2版) 课件 单元6 门式刚架主结构构造与识图.ppt
- 内经气阴阳五行演示文稿.pptx VIP
- 普通生态学 第四章群落生态学 第五章生态系统生态学课件.ppt
- AQ4273-2016 粉尘爆炸危险场所用除尘系统安全技术规范.docx VIP
- 家纺店合作合同协议.docx VIP
原创力文档

文档评论(0)