欢迎来到天天文库
浏览记录
ID:57178841
大小:24.50 KB
页数:7页
时间:2020-08-05
《C语言--实验四-选择结构程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验四选择结构程序设计【目的与要求】 1.了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”); 2.学会正确使用逻辑运算符和逻辑表达式; 3.熟练掌握if语句和switch语句。【上机内容】【一般示例】【例1】已知三个数a,b,c,找出最大值放于max中。分析:由已知可得在变量定义时定义四个变量a,b,c和max,a,b,c是任意输入的三个数,max是用来存放结果最大值的。第一次比较a和b,把大数存入max中,因a,b都可能是大值,所以用if语句中if——else形式。第二次比较max和c,把最大数存入m
2、ax中,用if语句的第一种形式if形式。Max即为a,b,c中的最大值。#include"stdio.h"main(){ inta,b,c,max; /*定义四个整型变量*/scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);if(a>=b)max=a; /*a>=b*/else max=b; /*amax) max=c; /*c是最大值*/printf("max=%d",max);} 若输入下列数据,分析程序的执行
3、顺序并写出运行结果(1)a=1,b=2,c=3 (2)a=2,b=1,c=3 (3)a=3,b=2,c=1 (4)a=3,b=1,c=2 (5)a=3,b=3,c=2 (6)a=2,b=1,c=2 【例2】输入某学生的成绩,经处理后给出学生的等级,等级分类如下: 90分以上(包括90):A 80至90分(包括80):B 70至80分(包括70):C 60至70分(包括60):D 60分以下: E方法一:(用if嵌套`)分析:由题意知如果某学生成绩在90分以上,等级为A;
4、否则,如果成绩大于80分,等级为B;否则,如果成绩大于70分,等级为C;否则,如果成绩大于60分为D;否则,如果成绩小于60分,等级为E;但当我们输入成绩时也可能输错,出现小于0或大于100,这时也要做处理,输出出错信息。因此,再用if嵌套前,应先判断输入的成绩是否在0~100之间。#include"stdio.h"main(){ int score; char grade; printf("pleaseinputastudentscore:"); scanf("%f",&score); if(score>100
5、
6、score<0) p
7、rintf("inputerror!"); else {if(score>=90) grade='A'; else {if(score>=80) grade='B'; else {if(score>=70) grade='C'; else {if(score>=60) grade='D'; elsegrade='E'; } } } printf("thestudentgrade:%c",grade);
8、 }} 输入测试数据,调试程序。测试数据要覆盖所有路径,注意临界值,例如此题中得100分,60分,0分以及小于0和大于100的数据。 方法二:用switch语句分析:switch语句是用于处理多分支的语句。注意,case后的表达式必须是一个常量表达式,所以在以用switch语句之前,必须把0~100之间的成绩分别化成相关的常量。所有A(除100以外),B,C,D类的成绩的共同特点是十位数相同,此外都是E类。则由此可得把score除十取整,化为相应的常数。#include"stdio.h"main(){intg,s;charch;p
9、rintf("inputastudentgrade:");scanf("%d",&g);s=g/10;if(s<0
10、
11、s>10) printf("inputerror!");else {switch(s) {case10: case9: ch='A'; break; case8: ch='B'; break; case7: ch='C'; break; case6: ch='D'; break; default:ch='E'; } printf("thestudentscort:%
12、c",ch); }} 输入测试数据,同方法一一样调试程序并写出结果。【例3】有一函数:y=xx<12x-11=
此文档下载收益归作者所有