}
编程:输入两个整数,输出其中的大数。
提示:改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。 5.if语句的第三种形式为if-else-if形式(嵌套的if)
当有多个分支选择时,可采用if-else-if语句,其一般形式为: if(表达式1) 语句1;
else if(表达式2) 语句2;
else if(表达式3) 语句3;…else if(表达式m) 语句m; else 语句n;
其语义是:依次判断表达式的值,当出现某个值为真时, 则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n 。 然后继续执行后续程序。
编程:要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。 在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。 这是一个多分支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。在嵌套中要特别注意if和else的配对问题。为了避免二义性,C语言规定,else 总是与它前面最近的if配对。 6. 分析以下程序的运行结果并上机调试。
程序1:
#include \void main() {
int a=3,b=4,c=5,d=0; if(a>b) d=a; else
if(c>b) d=c; else d=b;
printf(\}
程序2: #include \
void main() {
int a=3,b=4,c=5,d=0; if(a>b)
if(c>b) d=c; else d=b; else d=a;
printf(\
16
}
程序3:
#include \void main() {
int a=3,b=4,c=5,d=0; if(a>b)
if(c>b) d=c; else d=b;
printf(\}
程序4:
#include \void main() {
int a=3,b=4,c=5,d=0; if(a>b)
{if(c>b) d=c;} else d=b;
printf(\}
编程:比较键盘依次输入的两个数a和b的大小关系,并根据大小关系分别输出1(若a>b)、0(若a=b)、-1(若a
7.条件运算符和条件表达式
由条件运算符组成条件表达式的一般形式为: 表达式1? 表达式2: 表达式3
其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式3的值作为整个条件表达式的值。用条件表达式对4中要求的输出两个数中的大数的程序重新编程。
8.switch语句
C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为: switch(表达式) {
case 常量表达式1: 语句1; case 常量表达式2: 语句2; …
case 常量表达式n: 语句n; default : 语句n+1; }
在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出
17
整个switch 语句。 这是与前面介绍的if语句完全不同的,应特别注意。
程序分析题。分析以下程序,对分析的结果上机检验。 #include \void main( ) {
int x=1,y=0,a=0,b=0; switch(x) {
case 1:
switch(y) {
case 0: a++;break; case 1: b++;break; } //abc case 2:
a++;b++;break; }
printf(\}
在程序中的//abc前面,}后面添加一个break; 再次运行该程序,程序结果有何变化?在实验报告中对结果作出解释。
三、对上述实验进行总结,写出实验报告,把你通过本实验掌握的内容整理出来。
实验五 选择结构程序设计(二) 一、实验目的
进一步掌握选择结构程序设计,熟练运用选择语句编写程序,提高调试和修改程序的能力。 二、实验内容
1.输入三个整数,输出最大数和最小数。
分析:首先比较输入的a,b的大小,并把大数装入max, 小数装入min中,然后再与c比较,若max小于c,则把c赋予max;如果c小于min,则把c赋予min。因此max内总是最大数,而min内总是最小数。最后输出max和min的值即可。
2.有一函数:
18
x
y=
x<1 1= 2x-1 3x-11 x>=10 用scanf函数输入x的值(分别为x<1,1—10,>=10三种情况),求y值。 分析:y是一个分段表达式。要根据x的不同区间来计算y的值。所以应使用if语句。 3.编写程序,输入三角形三边 a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。实验步骤与要求: (1) 输入一组数据3,4,8,观察程序运行结果,并与实验二中程序2做比较 (2) 另外再输入几组数据进行测试: 3,4,5 3,3,3 3,3,5 (3)如果程序有误,可采用“单步跟踪执行”的调试方法,确定错误的出处。 4.输入某学生的成绩,经处理后给出学生的等级,等级分类如下: 90分以上(包括90): A 80至90分(包括80):B 70至80分(包括70):C 60至70分(包括60):D 60分以下: E 方法一:(用if语句的嵌套) 分析:由题意知如果某学生成绩在90分以上,等级为A;否则,如果成绩大于80分,等级为B;否则,如果成绩大于70分,等级为C;否则,如果成绩大于60分为D;否则,如果成绩小于60分,等级为E;但当我们输入成绩时也可能输错,出现小于0或大于100,这时也要做处理,输出出错信息。因此,再用if嵌套前,应先判断输入的成绩是否在0~100之间。 19
相关推荐: