欢迎来到天天文库
浏览记录
ID:43343370
大小:1.42 MB
页数:36页
时间:2019-10-08
《c语言程序设计 第4章_分支结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言程序设计教程(第2版)第4章分支结构第4章分支结构本章主要内容1.if语句的基本结构2.if~else语句基本结构3.if语句的嵌套结构4.switch语句的基本结构5.程序案例分析第4章分支结构顺序结构:程序按照语句的先后顺序进行数据处理。分支结构:程序要对问题进行判断,根据判断的结果,选择不同的处理方式,进行不同的操作。C语言用于实现分支的结构:if结构switch结构4.1.1if语句if语句结构是一种常用的分支结构,是最简单的一种单分支结构,该结构构成一个二叉结构。if语句的一般形式为。if(<表达式>)<语句A>语法功能:先判
2、断<表达式>的值,若该值为“真”,则:执行<语句A>;否则:什么也不执行。注意:1.<表达式>:一般为条件表达式或逻辑表达式。2.if语句中的<语句A>一般情况下都是以复合语句的形式出现,即用一对花括号将语句括起来。如果语句只有一条,则可以不需要花括号3.if结构的流程图:4.1if结构4.1if结构例1:从键盘任意输入两个实数a和b,要求a的值总是小于或等于b的值,然后输出这两个数a和b的值。分析:根据题意,要求a≤b。方案:先输入一个较小的数,赋给变量a,再输入一个较大的数,赋给变量b。问题:输入的限制对用户不合理。如果先输入的值较大,后输入的值较
3、小,则结果为a≥b。方案修正:不论输入的大小顺序怎样,总是会有a≤b的结果。4.1if结构算法的流程图如图所示:其中虚线框为if结构。程序的难点:交换a,b的值。程序见:example4_1.c例2:从键盘输入一个整数,求该数的绝对值。阅读例4-2的问题和程序。4.1if结构4.1.2if_else语句if_else语句的一般形式为:if(<表达式>)<语句A>else<语句B>式中<表达式>,一般为条件表达式或逻辑表达式。语法功能:先判断<表达式>的值,若其值为“真”,则执行<语句A>,否则执行<语句B>。注意:结构中的<表达式>、<语句A>
4、与<语句B>的规定同if结构。if_else结构的流程图如图所示。4.1if结构例3:设计一个猜数游戏,由计算机产生一个随机数magic,从键盘输入一个数guess,若输入的数guess的大小等于随机数magic,则输出“Gratulation!YouAreright.”。否则,输出“Sorry!YouAreWrong.”。分析:计算机产生的随机数有两种:①伪随机数。②真随机数。伪随机数:实际上是一组预先排好的一个数列,可通过函数rand()获取;真随机数:通过一个随机种子对伪随机数进行重新排列而得,该随机种子可以是任何数。如果取时间作为随机种子,
5、则所得的随机数即为真随机数,真随机数可通过函数srand(unsignedseed)获取。为简单起见,本题由计算机产生的数就用随机函数rand()直接取伪随机数。4.1if结构算法流程图如图所示:虚线框代表if_else结构。程序:example4_3.c思考:怎样获取计算机的真随机数?修改程序example4_3.c:example4_3a.c4.1if结构4.1.3if语句的嵌套在if或else的分支下又可以包含另一个if语句或if_else语句。嵌套的形式有两种:规则嵌套和任意嵌套。1.规则嵌套规则嵌套的形式为:if(<表达式1>)<语句1>
6、elseif(<表达式2>)<语句2>elseif(<表达式3>)<语句3>…elseif(<表达式n>)<语句n>else<语句n+1>4.1if结构规则嵌套的流程图如图所示:4.1if结构例4:从键盘输入+、−、*、/中的任一个,输出对应的英文单词:plus、minus、mutiply、divide,若输入的不是这4个字符中的任一个,则输出“Sorryyouarewrong”。算法的流程图如图所示:程序程序:example4_4.c4.1if结构在if_else嵌套的结构中,else总是与离它最近的上一个if配对。程序的书写可按缩进对齐方式,增加
7、程序代码的美观和程序的可读性。if_else结构的嵌套层次不提倡太多,否则会影响程序的执行效率,并且容易出现判断上的漏洞,导致程序出现不正确的结果。良好的程序书写风格有助于对程序的理解,请注意程序的书写风格,养成良好的编程习惯。注意4.1if结构2.任意嵌套任意嵌套是在if_else结构中的任一执行框中插入if结构或if_else结构。例5:编写程序,通过输入x的值,计算阶跃函数y的值。4.1if结构算法的流程图如图所示:两个虚线框均为if_else结构。程序:examle4_5.c请思考规则嵌套的算法,并写出程序上机验证。4.1if结构对多重if
8、_else结构,最容易出现问题的是if与else配对错误。阅读程序:example4_6.c
此文档下载收益归作者所有