实验04 选择结构程序设计9999
选择结构程序设计实验报告

嘉应学院计算机学院实验报告课程名称程序设计基础实验名称实验地点指导老师实验时间提交时间班级姓名座号一、实验目的和要求(1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if语句的使用(包括if语句的嵌套)。
(4)熟练掌握多分支选择语句—switch语句。
(5)结合程序掌握一些简单的算法。
(6)进一步学习调试程序的方法。
二、实验环境和方法实验方法:(一)综合运用课本所学的知识,用不同的算法实现在不同的程序功能。
(二)结合指导老师的指导,解决程序中的问题,正确解决实际中存在的异常情况,逐步改善功能。
(三)根据实验内容,编译程序。
实验环境:Windows xp Visual C++6.0三、实验内容及过程描述实验步骤:①进入Visual C++ 6.0集成环境。
②输入自己编好的程序。
③检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时改正。
④进行编译和连接。
如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提示找到出错位置和原因,加以改正。
再进行编译,如此反复直到不出错为止。
⑤运行程序并分析运行结果是否合理。
在运行是要注意当输入不同的数据时所得结果是否正确,应运行多次,分别检查在不同情况下结果是否正确。
实验内容:本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
(1)有一函数:()()()⎪⎩⎪⎨⎧≥-<≤-<=10x11310x1121xxxxy写程序,输入x的值,输出y相应的值。
用scanf函数输入x的值,求y的值。
程序如下:#include<stdio.h>int main(){float x,y;int i;while(i<1000){printf("请输入x的值:");scanf("%f",&x);if(x<1)y=x;else if(1<=x&&x<10)y=2*x-1;elsey=3*x-11;printf("y的值为:%f\n",y);}程序运行结果如下:(2)从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。
实验四 选择结构程序设计

实验四 选择结构程序设计 实验题目 1. 了解C语言表示逻辑量的方法(以0代表“假”,以1代表“真”)。
2. 熟练掌握if语句和switch语句
实验时间 2011 学年 第一 学期 14 周 ( 2011年11 月 15 日— 日) 学生姓名 文瑞 学号 2011211278 班级 0311103
实验地点 设备号 E49 指导教师
三、实验内容 1. 以下几段源程序有错,请调试修改正确。 ① /*源程序实现的功能:输入两个实数,按从小到大的顺序输出*/ main() { float a,b,t; scanf(“%f,%f”,&a,&b); if (a>b) t=a;a=b;b=t printf(“%5.2f,%5.2f”,a,b); }
≡ File Edit Search Run ═[■]════════════════════════ #include void main() { float a,b,t; scanf("%f,%f",&a,&b); if(a>b) { t=a;a=b;b=t; } printf("%5.2f,%5.2f",a,b); }
3.6,3.8 3.60, 3.80
② 该源程序实现的功能是:有如下函数关系: x (x>0) y= 2 (x=0) 3x (x<0)
根据输入的x值,求出y的值。 main( ) { int x,y; printf(“Enter x:”); scanf(“%d”,&x); if x>0 y=x; else if(x=0) y=2; else y=3*x; printf(“x=%d y=%d\n”,x,y); } ≡ File Edit Search Run ╔═[■]═══════════════════════ ║#include ║void main() ║{int x,y; ║printf("Enter x:"); ║scanf("%d",& x); ║if(x>0) ║y=x; ║else if(x==0) ║y=2; ║else y=3*x; ║printf("x=%d,y=%d\n",x,y); ║} ║ ║5 x=-4,y=-12 Enter x:
练习04 选择结构程序设计

练习04选择结构程序设计一、练习目的1.掌握1)逻辑表达式的含义及其用法2)关系表达式的含义及其用法3)if语句的书写方法及其执行流程,特别注意①嵌套②if与else配对③=”与“==”之间的区别4)switch语句的书写方法及其执行流程,特别注意以下几种情况①缺少break②嵌套③几个case共享一组语句二、练习要求1.不用抄题,写清题号,直接给出答案三、练习内容1. 以下不正确的语句为【】。
(A)if( x>y ) ;(B)if( x<y ) { x++; y++; }(C)if( x=y )&&( x!=0 ) x+=y;(D)if( x!=y ) scanf(“%d”,&x); else scanf(“%d”,&y);2. 以下程序的输出结果是【】。
void main( ){int x=2 , y= -1, z=2 ;if( x<y )if( y<0 ) z=0 ;else z+=1 ;printf(“%d\n”,z) ;}(A)3(B)2(C)1(D)03. 请阅读以下程序void main( ){int a=5,b=0,c=0;if(a=b+c) printf(“***\n”); else printf(“$$$\n”);}以上程序【】。
(A) 有语法错,不能通过编译(B) 可以通过编译但不能通过连接(C) 输出***(D) 输出$$$4. 以下程序的运行结果是【】。
void main(){int m=5;if(m++>5) printf(“%d\n”,m); else printf(“%d\n”,m--);}(A) 4 (B) 5 (C) 6 (D) 75. 当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是【】。
if(a<b)if(c<d) x=1;elseif(a<c)if(b<d) x=2;else x=3;else x=6;else x=7;(A) 1 (B) 2 (C) 3 (D) 66. 执行下列程序,输入为1的输出结果是【】,输入为3的输出结果是【】。
第04章选择结构程序设计

4.4 逻辑运算符及其表达式
关系表达式只能描述单一条件,例如“x>=0”。如果需要描述 “x>=0”、同时“x<10”,就要借助于逻辑表达式了。
1、逻辑运算符及其优先次序
&&,||,!
!(右结合) 算术运算符
关系运算符
&&(左)
2、逻辑运算的值
||(左) 赋值运算符
逻辑运算的值也为“真”和“假”两种,用“1”和“0 ”来表示。但反过来 在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”
);
case 4: case 6: case 9: case 11: days=30; ( break );
case 2: if(year%4==0&&year%100!=0||year%400==0) ( days=28 );
else ( days=29);
default: days=-1; }
if(days==-1) printf(“input error\n”); else printf(“year: %d month: %d days: %d\n”,year,month,days);
例如条件语句:
if(a>b) max=a;
else max=b; 可用条件表达式写为: max=(a>b)?a:b;
✓ 条件运算符为?和:,它是C语言中唯一的一个三目运算符。 ✓ 由条件运算符组成条件表达式的一般形式为: ✓ 表达式1? 表达式2: 表达式3 ✓ 其求值规则为:如果表达式1的值为真,则以表达式2 的值 作为条件表达式的值,否则以表达式2的值作为整个条件表达 式的值。
4.2 用if语句实现选择结构
实验四 答案 选择结构程序设计

③数据的输出格式采用以下形式:w=输入值,x=计算值
④分别以行李重30公斤,80公斤为自变量,运行该程序。记录运行结果;
⑤源程序以ex4_8.c命名保存。
答案
/*文件名:ex4_8.C */
/*程序功能:计算行李托运费*/
#include <stdio.h>
printf("input x,y,z");
scanf("%d,%d,%d",&x,&y,&z);
if(x<y)
if(y<0)
z=0;
else
z++;
printf("z=%d\n",z);
}
具体要求:
①从键盘上给x、y、z分别输入2,-1,2,分析程序运行的结果。
②从键盘上给x、y、z分别输入3,5,2,分析程序运行的结果。
程序运行结果:
a=2,b=1
在“case 3: a++; b++;”语句的下一行再加入default: a++; b++;语句,则运行结果不变。
(5)ex4_5.c
#include <stdio.h>
void main()
{
int a,b,n=0;
printf("input a,b:");
scanf("%d,%d",&a,&b);
if(x<0&& x!=-3)
y=x*x+x-6;
else if(x>=0 && x<10&& x!=2 && x!=3)
实验4选择结构程序设计答案

实验4选择结构程序设计答案一、实验目的1.掌握关系运算符和关系表达式的使用方法。
2.掌握逻辑运算符和逻辑表达式的使用方法。
3.掌握if语句、witch语句、条件运算符(?:)的使用方法。
4.掌握选择结构程序的设计技巧。
二、实验内容1.改错题(1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。
纠正程序中存在的错误,以实现其功能。
程序以文件名y4_1.c保存。
#includemain(){charch,c1,c2;printf(\ch=getchar();if((ch>='a')||(ch<='z'))//if((ch>='a')&&(ch<='z'))ch-=32;c1=ch-1;c2=ch+1;if(ch='A')c1=ch+25;//if(ch=='A')eleif(ch='Z')c2=ch-25;//eleif(ch=='Z')putchar(c1);putchar(ch);putchar(c2);putchar('\\n');}(2)下列程序的功能为:输入3个整数后,输出其中最大值。
纠正程序中存在的错误,以实现其功能。
程序以文件名y4_2.c保存。
#includemain(){inta,b,c,ma某;printf(\请输入3个整数:\\n\canf(\ma某=a;if(c>b){if(b>a)ma某=c;}if(c>a)ma某=c;ele{if(c>a)ma某=b;}if(b>a)ma某=b;printf(\3个数中最大者为:%d\\n\}(3)下列程序的功能为:输入1-4月份号,输出该月份对应的英语表示法。
实验四+选择结构程序设计

else
printf("%d,%.2f\n",n*n,sqrt(n));
return 0;
}
结果截图
4、程序代码
#include <stdio.h>
#include <math.h>
int main()
{Байду номын сангаас
int x, y;
scanf("%d%d", &x, &y);
if(x > 0 && y > 0)
{
char s[100];
int i;
printf("输入字符串:");
gets(s);
for(i=0;s[i];i++)
if(s[i]>='A'&&s[i]<='Z')s[i]+=32;
else if(s[i]>='a'&&s[i]<='z')s[i]-=32;
puts(s);
}
结果截图
3、程序代码
实验目的
1、输入输出语句的练习。
2、变量的定义与使用。
3、选择结构程序的初步练习:if……else…..
1、用户从键盘输入一个时间,判断其合理性,如果合理,就输出该时间,否则,输出“不合理的时间”。例如:
输入:18:1:2
输出:18:01:02
输入:18: 67: 103
输出:不合理的时间
2、大小写转换。用户从键盘输入一个字母(大写或小写两种),如果是大写字母,输出其小写字母,否则输出大写字母。
实验4 选择结构程序设计

实验四 选择结构程序设计(4学时)实验前必须做的操作.........——..新建文件夹:......首先在各自对应的计算机ncre(k:)盘上对应座位号文件夹内新建一个文件夹,文件夹的名字为“班级+学号的后两位+姓名”,如座位号为K02,航海1111班、学号后两位是02的、姓名为“张强”的同学,则其对应的文件夹名字是:航海111102张强。
然后在刚才建好的文件夹里面再建立一个文件夹,文件夹为“实验4”。
【实验目的】1、 理解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
2、 进一步巩固printf()和scanf()函数的使用方法。
3、 学会正确使用关系运算符和关系表达式、逻辑运算符和逻辑表达式。
4、 掌握if 语句三种形式的用法。
5、 掌握switch 、break 语句的用法。
6、 熟悉选择结构程序段中语句的执行过程。
7、 学会设计分支结构的程序,结合程序掌握一些基本的算法。
8、 巩固利用VC++对C 程序的查错方法,进一步提高修改程序错误的能力。
9、 学习跟踪调试程序,掌握简单的单步调试方法。
【实验内容】[实验任务一]:程序的跟踪调试和变量值的监视练习(可不上交、但必须操作、理解,掌握其方法) 程序跟踪调试实例4-1:程序跟踪调试和变量值的监视示例(请仔细按以下各步骤进行操作):输入x ,计算并输出下列分段函数 f(x) 的值(保留1位小数)。
(需要存盘)⎪⎩⎪⎨⎧=≠=0001)(x x x x f10.0f(10.00) = 0.1【操作步骤】:(1)输入源程序,并以error4_1.c 文件名最终保存在实验4文件夹里,然后执行“编译/Build ”—>“编译/Compile ”,出现第一个编译错误是:双击该出错信息,箭头指向else 所在行,出错信息指出在else 前缺少分号。
在y = 1 / x 后面补上分号后,重新编译,新出现的第一个出错信息(警告信息):双击该错误信息,箭头指向scanf("%f", x);所在行,出错原因是x 的前面少了&。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
吉林大学应用技术学院 计算机应用技术系
第 1 页 共 2 页
实验四 选择结构程序设计
1.实验目的
(1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if语句。
(4)结合程序掌握一些简单的算法。
2.实验内容和步骤
(1)完善程序。
下面程序的功能是,输入月份,输出该月有多少天(假设不考虑闰年的情况)。
请在横线处填写正确的表达式或语句,使程序完整。上机调试程序,使程序的运
行结果与书中的结果一致。
#include
int main()
{
int m, days;
printf("54127xxx--ranxiangjin\n"); /* 将xxx替换为自己的学号,ranxiangjin替换为
自己的姓名 */
printf(“请输入月份”);
scanf(“%d”,&m);
if ( )
days = 31;
else if ( m == 4 || m == 6 || m == 9 || m == 11 )
;
else days = 29;
printf( “ ”, m,days );
return 0;
}
运行结果举例:
吉林大学应用技术学院 计算机应用技术系
第 2 页 共 2 页
(2)有一函数:
用scanf函数输入x的值,求y值。
运行程序,输入x的值(分别为x < 1、1~10、x >= 10这3种情况),检查
输出的y值是否正确。(要求在程序中首先输出自己的学号及姓名,类似于第1
题)
运行结果举例:
(3)给出一个百分制成绩,要求输出成绩等级优、良、中、及格、不及格。
90~100为优、80~89分为良、70~79分为中、60~69分为及格,60分以下(0~59)
为不及格。
运行结果举例: