c语言程序设计实验指导书 实验四 选择结构程序设计,C语言实验习题实验四选择结构程序设计.doc...

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

下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。

2.下载的文档,不会出现我们的网址水印。

3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。

文档包含非法信息?点此举报后获取现金奖励!

下载文档到电脑,查找使用更方便

20

积分

还剩页未读,继续阅读

关 键 词:语言

实验

习题

选择

结构

程序设计

资源描述:

实验四 选择结构程序设计

【目的与要求】

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; /*amax)

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==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==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个整数,要求按由小到大的顺序输出。

展开阅读全文

温馨提示:

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。

5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。

7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

bb6249c6567dd4384e6ab3556cfc22ed.gif 

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

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

链接地址:https://www.renrendoc.com/p-45560284.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值