实验三 选择结构程序设计

实验三 选择结构程序设计

ID:6842133

大小:47.00 KB

页数:6页

时间:2018-01-28

实验三  选择结构程序设计_第1页
实验三  选择结构程序设计_第2页
实验三  选择结构程序设计_第3页
实验三  选择结构程序设计_第4页
实验三  选择结构程序设计_第5页
资源描述:

《实验三 选择结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验三选择结构程序设计一、实验学时2学时二、实验目的(一)掌握C语言关系表达式和逻辑表达式的运算和使用;(二)正确使用条件控制语句(if语句、switch语句)进行选择结构程序设计。三、预习要求(一)关系运算符和关系表达式、逻辑运算符和逻辑表达式;(二)if语句的三种形式(单分支、双分支、多分支),以及if语句的嵌套;(三)switch语句的形式。四、实验内容(一)分析下面程序,掌握关系及逻辑表达式的运算规则。/*c3-1.c*//*关系及逻辑表达式运算规则*/#include"stdio.h"voidmain(){inta=3,b=5,c=8;if(a++<3&&c-

2、-!=0)b=b+1;printf("a=%dtb=%dtc=%d",a,b,c);}注意该程序中的条件判断表达式a++<3&&c--!=0是一个逻辑表达式,关系表达式a++<3的值为假,因此后一部分c--!=0就不再计算。(二)输入下面两段程序并运行,掌握case语句中break语句的作用。1./*c3-2.c*//*c3-3.c*//*不含break的switch*//*含break的switch*/#include"stdio.h"#include"stdio.h"voidmain()voidmain(){inta,m=0,n=0,k=0;{inta,m=

3、0,n=0,k=0;scanf("%d",&a);scanf("%d",&a);switch(a)switch(a){case1:m++;{case1:m++;break;case2:case2:case3:n++;case3:n++;break;case4:case4:case5:k++;case5:k++;}}printf("%d,%d,%d",m,n,k);printf("%d,%d,%d",m,n,k);}}分别从键盘上输入1、3、5,写出程序运行的结果。(三)完善程序,从键盘上输入x的值,按下式计算y的值。┌xx<1y=┤2x-11≤x<10└3x-1

4、1x≥10编程提示:注意逻辑表达式的正确表达方法,数学中的1≤x<10应使用C语言的逻辑表达式(x>=1&&x<10)来表示。下面是用多分支选择结构实现本题的程序结构:/*c3-4.c*//*if语句实现的多分支结构*/#include"stdio.h"voidmain(){定义变量;输入x;if(_______________)按y=x为变量y赋值;elseif(_______________)按y=2x-1为变量y赋值;else按y=3x-11为变量y赋值;printf("y=%f",y);}注意:在赋值语句中加乘号。(四)编写程序,给出一个百分制成绩,要求输出

5、相应的等级A、B、C、D、E。90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。编程提示:1.先定义一个整型变量存放百分制成绩、定义一个字符型变量存放相应的等级成绩;2.输入百分制成绩;3.将百分制成绩按10分,分档作为switch语句中括号内的表达式;4.按case10:case9:case8:case7:case6:default:这六种匹配情况分别选择不同的入口;5.输出转换后的等级成绩。(五)下面程序运行时从键盘上分别输入(20,15),(15,20),写出运行结果。/*c3-5.c*//*分支结构中的复合

6、语句*/#include"stdio.h"voidmain(){inta,b,t;t=0;scanf("%d,%d",&a,&b);if(a>b)t=a;a=b;b=t;printf("a=%d,b=%d",a,b);}(六)编写程序,给出一个不多于3位的正整数n,要求:(1)求出它是几位数;(2)分别打印出每一位数字(数字之间加一个空格);(3)按逆序打印出各位数字(数字之间加一个空格)。编程提示:1.定义变量(考虑需要几个变量)并输入一个3位以下的正整数n2.将n拆分成三个一位数:表达式:n%10可将一个三位数n拆分出三位数中的个位数;表达式:n/100可将一个

7、三位数n拆分出三位数中的百位数;表达式:((n%100))/10或(n-(n/100)*100)/10可将一个三位数n拆分出三位数中的十位数。3.用一个嵌套的选择结构,按照百位数、十位数是否为0决定n为几位数。4.按相反的顺序输出n。思考:如果是对一个5位的正整数进行上述处理,程序应如何改动?(七)写出与表达式z=(x>=y?x:y)等价的if语句,并上机验证。五、实验注意事项(一)C程序中表示比较运算的等号用“==”表示,赋值运算符用“=”表示,不能将赋值号“=”用于比较运算。(二)控制表达式是指任何合法的C语言表达式(不只限于关系或逻

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。