- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第7章 分支结构C部分
大学计算机基础
——
系统工具与环境
(理工科用)
赵 欢 肖德贵
李丽娟 洪跃山
编著
第二部分 C语言程序设计基础
第7章 分支结构
大学计算机基础
——系统工具与环境(理工科用)
1. if语句的基本结构
2.if~else语句基本结构
3. if语句的嵌套结构
4. switch语句的基本结构
5.程序案例分析
本章主要内容
第7章 分支结构
顺序结构:程序按照语句的先后顺序进行数据处理。
分支结构:程序要对问题进行判断,根据判断的结果,选择不同的处理方式,进行不同的操作。
C语言用于实现分支的结构:
if结构
switch结构
7.1.1 if语句
if语句结构是一种常用的分支结构,是最简单的一种单分支结构,该结构构成一个二叉结构。
if语句的一般形式为。
if(表达式)
语句A
语法功能:
先判断表达式的值,若该值为“真”,
则:执行语句A;
否则:什么也不执行。
注意:
1. 表达式:一般为条件表达式或逻辑表达式。
2. if语句中的语句A一般情况下都是以复合语句的形式出现,即用一对花括号将语句括起来。如果语句只有一条,则可以不需要花括号
3. if结构的流程图 :
7.1 if结构
例1:从键盘任意输入两个实数a和b,要求a的值总是小于或等于b的值,然后输出这两个数a和b的值。
分析:根据题意,要求a≤b。
方案:先输入一个较小的数,赋给变量a,再输入一个较大的数,赋给变量b。
问题:输入的限制对用户不合理。如果先输入的值较大,后输入的值较小,则结果为a≥b。
方案修正:不论输入的大小顺序怎样,总是会有a≤b的结果。
7.1 if结构
7.1 if结构
算法的流程图如图所示:
其中虚线框为if结构。
程序的难点:交换a,b的值。
程序见:example7_1.c
例2:从键盘输入一个整数,求该数的绝对值。
阅读例7-2的问题和程序。
7.1 if结构
7.1.2 if_else语句
if_else语句的一般形式为:
if(表达式)
语句A
else
语句B
式中表达式 ,一般为条件表达式或逻辑表达式。
语法功能:
先判断表达式的值,若其值为“真”,
则执行语句A,否则执行语句B。
注意:
结构中的表达式、语句A与语句B的规定同if结构。
if_else结构的流程图如图所示。
4.1 if结构
例3:设计一个猜数游戏,由计算机产生一个随机数magic,从键盘输入一个数guess,若输入的数guess的大小等于随机数magic,则输出“Gratulation! You Are right.”。否则,输出“Sorry! You Are Wrong.”。
分析:计算机产生的随机数有两种:
①伪随机数。②真随机数。
伪随机数:实际上是一组预先排好的一个数列,可通过函数rand()获取;
真随机数:通过一个随机种子对伪随机数进行重新排列而得,该随机种子可以是任何数。如果取时间作为随机种子,则所得的随机数即为真随机数,真随机数可通过函数srand(unsigned seed)获取。
为简单起见,本题由计算机产生的数就用随机函数rand()直接取伪随机数。
算法流程图如图所示:
虚线框代表if_else结构。
程序:example7_3.c
思考:
怎样获取计算机的真随机数?
修改程序example7_3.c : example7_3a.c
7.1 if结构
7.1.3 if语句的嵌套
在if或else的分支下又可以包含另一个if语句或if_else语句。
嵌套的形式有两种:规则嵌套和任意嵌套。
1.规则嵌套
规则嵌套的形式为:
if(表达式1)
语句1
else if(表达式2)
语句2
else if (表达式3)
语句3
…
else if (表达式n)
语句n
else
语句n+1
7.1 if结构
规则嵌套的流程图如图所示:
7.1 if结构
例4:从键盘输入+、−、*、/中的任一个,输出对应的英文单词:plus、minus、mutiply、divide,若输入的不是这4个字符中的任一个,则输出“Sorry you are wrong”。
算法的流程图如图所示:
文档评论(0)