
实验三-选择结构程序设计.doc
8页实验三 选择结构程序设计3.1实验要求与目的1.掌握关系表达式和逻辑表达式的正确应用2.条件表达式的正确应用3. 掌握if语句,if-else语句,if语句的嵌套的编程方法4. 掌握switch的编程方法及执行特点5.掌握相关的算法(大小写字母的转换,判断数的奇偶,整数的整除,分段函数的求解,成绩的转换等)6. 培养解决实际问题的能力3.2实验指导结构化程序设计的三大结构:顺序结构、选择结构和循环结构计算机在执行过程时,根据条件选择所要执行的语句,称为选择结构,也称为分支结构在解决实际问题时,可能会因为其种条件的约束产生分支,可能是单分支结构、双分支结构和多分支结构等因此可选择相应的语句进行程序设计C语言程序设计实现单分支结构常采用,if语句; 实现双分支结构常采用:if-else语句; 实现多分支结构常采用:if-else嵌套语句或switch语句选择结构的程序设计除了选择适当的语句外,另一关键问题是条件的正确表示条件可以用表达式来描述,如关系表达式、逻辑表达式等3.1】录入下列程序,输入给定的测试数据,观察其程序执行结果程序文件名为:ex3_1.c 输入测试数据:23 56 程序运行结果:max=56#include 因此该程序的功能是输入两个整数,输出其中的大数单分支结构if语句的一般形式:if(表达式) 语句;其语义,如果表达式的值为非零值(为真),则执行其后的语句,否则不执行该语句小结:1. 表达式也称为条件表达式,可以包括常量、变量和表达式的任意表达式常用的是单一变量,关系表达式和逻辑表达式2. 若语句由两条以上的语句组成时,必须用花括号{}括起来,组合成一条复合语句3.2】编程实现,从键盘输入一个字符型数据,若输入小写字符,则将其转换成大写字符,输出相应的整数;若输入其它字符,则显示出错信息程序文件名为:ex3_2.c分析:根据题意,本程序要解决三个问题,1)输入字符数据;2)判断输入的字符是否是小写字符;3)输出(输出大写字符相应的整数或输出错误信息) 因此根据判断条件输出两种结果的其中一个include 同理,使用该语句时,表达式(条件表达式)是可以包括常量、变量和表达式的任意表达式若语句1或语句2是由两条以上的语句组成,则必须用必须用花括号{}括起来,组合成一条复合语句小结:1. 任意字符在内存中都以ASCII码存储,一个字符数据既可以以字符形式输出(输出格式控制符%c),也可以以整数形式输出(输出格式控制符%d)2. 字符数据可以进行算术运算,即相当于对其字符数据的ASCII码进行运算根据这一特点,可实现大小写字符的相互转换 小写字母转换为大写字母: c=c-32 或者 c=c- a+A大写字母转换为小写字母: c=c+32 或者 c=c+ a-A3. 字符数据可以进行比较运算,因此判断一个字符属于哪个范围可采用下列方式实现属于小写字母的表达式:a<=c&&c<=z 或者 97<=c&&c<=122 属于大写字母的表达式:A<=c&&c<=Z 或者 65<=c&&c<=90属于数值字符的表达式:0<=c&&c<=9 或者48<=c&&c<=57 【3.3】从键盘输入两个整数m,n(假设输入的数m>0,n>0),判断m能否被n整除,若能输出m和n,否则输出m与n的余数程序文件名:ex3_3.c。 分析:分析问题,理出算法,是程序设计的核心,如何实现m能否被n整除是解决该问题的关键m能被n整除的表达式:m%n==0实现程序编写的要点是学会对题意的“翻译”即,从键盘输入数一定采用scanf格式输入函数判断m能否被n整除,其判断结果只有两个,能整除输出原数,否则输出两数的余数,因此可采用选择结构的if-else语句include 一个等号称为赋值号,若a=5,其含义是将5赋给a双等号为算术运算符“等号”,若a==5,其含义是变量a的值与整数5是否相等3.求余运算符“%”,求余运算只能求任意两整数的余数3.4】输入x的值求分段函数y的值程序文件名:ex3_4.c分析:本程序是求分段函数的值,根据x的取值不同,出现了三个分支的情形因此采用多分支的控制结构,嵌套的if语句实现编程思路,当有多分支结构时,可先转换为二分支结构,如选择表达式条件为(x<1),条件为真计算y=x,条件为假继续采用if-else语句判断,在else分支中继续采用if-else二分支结构include 常见的几种嵌套形式形式1: if(表达式1) if (表达式2) 语句1; else 语句2;形式2: if(表达式1) if(表达式2) 语句1;else 语句2; else 语句3;形式3:if(表达式1) 语句1;else if(表达式2) 语句2;else 语句3; 形式4:if(表达式1) if(表达式2) 语句1;else 语句2; else if(表达式3) 语句3;else 语句4;if语句的嵌套不影响if语句的独立性if语句的嵌套使用起来比较灵活,嵌套层次对应时内层的语句要被完整地包含在外层的语句之内小结:1. 编程的方法并非唯一,对于多分支结构也可以用多条简单的if语句实现如下修改后的程序include 如,的合法的C语言表达式,1<=x && x<=10 3.5】 编写实现:利用switch语句模拟两个整数的加、减、乘、除运算如,输入5+2,输出5+2=7 ;如,输入5/2,输出5/2=2.50程序文件名:ex3_5.c分析:本程序的关键是由输入的运算符来决定运算的结果因此引入一个字符变量存放算术运算符,由该变量的字符值来选择做何种运算include
