收藏 分销(赏)

C语言实验习题实验四选择结构程序设计.doc

上传人:xrp****65 文档编号:7051094 上传时间:2024-12-25 格式:DOC 页数:4 大小:42.50KB 下载积分:10 金币
下载 相关 举报
C语言实验习题实验四选择结构程序设计.doc_第1页
第1页 / 共4页
C语言实验习题实验四选择结构程序设计.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
实验四 选择结构程序设计 【目的与要求】 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,把最大数存入max中,用if语句的第一种形式if形式。Max即为a,b,c中的最大值。 #include "stdio.h" main() { int a,b,c,max; /*定义四个整型变量*/ scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); if (a>=b) max=a; /*a>=b*/ else max=b; /*a<b*/ if (c>max) max=c; /*c是最大值*/ printf("max=%d",max); } 若输入下列数据,分析程序的执行顺序并写出运行结果 (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;否则,如果成绩大于80分,等级为B;否则,如果成绩大于70分,等级为C;否则,如果成绩大于60分为D;否则,如果成绩小于60分,等级为E;但当我们输入成绩时也可能输错,出现小于0或大于100,这时也要做处理,输出出错信息。因此,再用if嵌套前,应先判断输入的成绩是否在0~100之间。 #include"stdio.h" main() { int score; char grade; printf("\nplease input a student score:"); scanf("%f",&score); if(score>100||score<0) printf("\ninput error!"); else { if(score>=90) grade='A'; else { if(score>=80) grade='B'; else {if(score>=70) grade='C'; else { if(score>=60) grade='D'; else grade='E'; } } } printf("\nthe student grade:%c",grade); } } 输入测试数据,调试程序。测试数据要覆盖所有路径,注意临界值,例如此题中得100分,60分,0分以及小于0和大于100的数据。 方法二:用switch语句 分析: switch语句是用于处理多分支的语句。注意,case后的表达式必须是一个常量表达式,所以在以用switch语句之前,必须把0~100之间的成绩分别化成相关的常量。所有A(除100以外),B,C,D类的成绩的共同特点是十位数相同,此外都是E类。则由此可得把score除十取整,化为相应的常数。 #include"stdio.h" main() { int g,s; char ch; printf("\ninput a student grade:"); scanf("%d",&g); s=g/10; if(s<0||s>10) printf("\ninput error!"); else { switch (s) { case 10: case 9: ch='A'; break; case 8: ch='B'; break; case 7: ch='C'; break; case 6: ch='D'; break; default: ch='E'; } printf("\nthe student scort:%c",ch); } } 输入测试数据,同方法一一样调试程序并写出结果。 【例3】有一函数: y= x x<1 2x-1 1=<x<10 3x-11 x>=10 用scanf函数输入x的值(分别为x<1,1~10,>=10三种情况),求y值。 分析:y是一个分段表达式。要根据x的不同区间来计算y的值。所以应使用If语句。 main() { int x,y; printf(“please input x :”); scanf(“%d”,&x); if (x<1) { y=x; printf(“y=%d\n”,y); } else if (x<10) { y=2*x-1; printf(“y=%d\n”,y); } else { y=3*x-11; printf(“y=%d\n”,y); } 【作业】 1. c语言如何表示“真”与“假”?系统如何判断一个量的“真”与“假”? 2. 写出下面各逻辑表达式的值。设a=3,b=4,c=5 (1) a+b>c&&b= =c (2) a||b+c&&b-c (3) !(a>b)&&!c||1 (4) !(x=a)&&(y=b)&&0 (5) !(a+b)+c-1&&b+c/2 3. 有3个整数a、b、c,由键盘输入,输出其中最大的数。 4.有一函数: y= x x<1 2x-1 1=<x<10 3x-11 x>=10 写一程序,输入x,输出y。 5.给出一百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89为B, 70~79分为C,60~69分为D,60分以下为E。 6. 给一个不多于5位的正整数,要求: a. 求出它是几位数; b. 分别打出每一位数字; c. 按逆序打出各位数字,例如原数为321,应输出123。 7.输入4个整数,要求按由小到大的顺序输出。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服