二级c语言-分支结构实验报告.doc
《二级c语言-分支结构实验报告.doc》由会员分享,可在线阅读,更多相关《二级c语言-分支结构实验报告.doc(12页珍藏版)》请在冰点文库上搜索。
![二级c语言-分支结构实验报告.doc](https://file1.bingdoc.com/fileroot1/2023-5/7/e54fa9b1-1792-4463-95cd-5f8a831fcddb/e54fa9b1-1792-4463-95cd-5f8a831fcddb1.gif)
南京工程学院
电力工程学院
2012/2013学年第1学期
实验报告
课程名称c语言程序设计基础
实验项目名称分支结构
实验学生班级电力卓越121
实验学生姓名汤晨
同组学生姓名无
实验时间10.28
实验地点电力工程基础实验室
实验报告成绩:
评阅教师签字:
年月日
电力工程学院二OO七年制
说明
1.实验报告为实验的重要考核依据之一,每个实验必须定一份实验报告.本实验报告原则上要求手写。
2.本实验报告各项内容的具体格式、字数可由指导教师根据实验具体情况提出具体要求。
各项内容可另附页,为便于归档,附页尺寸不得大于本实验报告尺寸,并注意粘牢于附页粘贴处。
3.实验报告封面中的“实验名称”应为实验教学大纲上所列的规范名称,“实验地点”应写出实验室的具体名称。
请确认无误后再填写。
4.实验报告的建议格式为:
一、实验目的和要求;
二、主要实验仪器和设备;
三、本次实验内容
(一)实验项目名称(按本次实验各项目填写)
1、原理或接线图
2、实验步骤及注意事项
3、实验预习过程中所遇到问题
……
四、实验记录及数据处理(主要内容包括实验具体实施步骤、 实验原始数据、计算过程与结果、数据曲线、图表等。
具体 格式按指导教师要求)
五、实验结论(主要内容包括本实验小结、实验体会或疑 问等。
具体格式按指导教师要求)
5.实验成绩由实验预习、实验表现、实验报告三部分组成。
其中前两项各占总成绩的30%。
实验报告成绩依据报告的科学性、全面性、规范性及书写态度综合考核。
实验报告采用百分制,占实验总成绩的40%,教师请阅本报告后需签字并给出实验报告百分制成绩。
6.实验报告需按要求时间以班级为单位交给指导教师,最长时间不得超过两周,实验报告如有明显抄袭者或不交者,实验总评成绩按0分记。
一、实验目的和要求
1.熟练掌握if语句的基本结构和switch语句的多分枝结构;
2.掌握c语言中关系表达式和逻辑表达式的正确书写;
3.掌握if语句的正确使用,尤其注意else和elseif语句的使用
4.能利用if和switch语句编写选择结构程序
二、主要实验仪器和设备
电脑TurboC2.0
三、本次实验内容
1、题目
1.1设计一个程序,输入一个整数,判断他的奇偶性
(1)算法说明:
输入整数→判断奇偶性→输出是奇数还是偶数
(2)程序清单:
#include
voidmain()
{ inta,b;
printf("请输入a,我们将帮助您判断奇偶性\n");
scanf("%d",&a);
b=a%2;
switch(b)
{case0:
printf("这是偶数\n");break;
case1:
printf("这是奇数\n");
}
}
(3)运行结果:
(4)分析与思考:
经常忘记加&,以至于不能正常调式与运行。
想不起来加\n,运行之后才发现打出的字很混乱。
其他的很顺利。
1.2求分段函数y=f(x)的值,f(x)表达式如下
x^-1x<-1
f(x)=x^-1《x《1
x^x>1
(1)算法说明:
输入x→判断x在哪个范围→进行x的计算→输出答案y
(2)程序清单:
#include
voidmain()
{ intx,y;
printf("请输入x,我们将帮你算出y\n");
scanf("%d",&x);
if(x<=-1)
y=x*x-1;
else
if(x>1)
y=x*x+1;
else
y=x*x;
printf("%d\n",y);
}
(3)运行结果:
(4)分析与思考
其实这题目开始没大搞清变量的定义
我将定义为int但是如果输入小数怎么办?
后来我觉得定义为float比较好,那要不要将判断语句中的1,-1都写成浮点型呢?
#include
voidmain()
{ floatx,y;
printf("请输入x,我们将帮你算出y\n");
scanf("%f",&x);
if(x<=-1)
y=x*x-1;
else
if(x>1)
y=x*x+1;
else
y=x*x;
printf("%f\n",y);
}
由此得出→不同类型的变量可以比较大小
1.3写个程序,输入圆的半径再输入数字0或1.若为0计算面积,若为1.计算周长
(1)算法说明:
输入半径a,作为计算的变量→同时输入选择数字
→判断是要算周长还是面积→进入不同公式进行计算→输出计算结果
(2)程序清单
#include
#include
voidmain()
{ floatr,t,pi;
inta;
printf("请输入圆的半径,再输入数字a=0球面积或1求周长\n");
scanf("%f%d",&r,&a);
pi=3.14;
switch(a)
{case1:
t=2*pi*r;printf("周长=%.2f",t);break;
case0:
t=pi*r*r;printf("面积=%.2f",t);
}
}
(3)运行结果
(4)思考与讨论
第一次运行时候出了问题,因为变量定义得不对。
所以下次要注意
注:
附页可粘贴于此页,注意粘贴整齐,不要超过页面边界。
1.4已知银行不同期限的存款年利率为:
活期0.72%一年1.98%二年2.25%三年2.54%五年2.79%
(1)算法说明
先选择活期还是定期→输入存款金额和年数→判断应该进入哪个公式进行计算→输出结果
(2)程序清单(老师,我为了让程序清单在一个页面,没有改变字体…..)
#include
voidmain()
{inta,s;
floaty,b,m;
printf("活期请输入0,否则输入1\n");
scanf("%d",&a);
switch(a)
{ case0:
printf("请输入天数和钱数\n");
scanf("%f%f",&y,&m);
b=m+0.0072*y*m*0.8/360;printf("%f\n",b);
break;
case1:
printf("请输入年份s(2或3或4或5)和钱数m\n");
scanf("%d%f",&s,&m);
switch(s)
{ case1:
b=m+0.0198*m*0.8;printf("%.1f元\n",b);break;
case2:
b=m+0.0225*m*2*0.8;printf("%.1f元\n",b);break;
case3:
b=m+0.0254*m*3*0.8;printf("%.1f元\n",b);break;
case4:
b=m+0.0254*m*3*0.8;printf("%.1f元\n",b);break;
case5:
b=m+0.0279*5*m*0.8;printf("%.1f元\n",b);break;
}
}
}
(3)运行结果
(4)分析与思考
一开始的时候,因为同时处理年份、钱数,活期、定期、会又乱又麻烦,所以先判断活期还是定期在运算钱数和日期比较好
1.5判断输入字符属于哪一类:
大写、小写、数字和其他。
(1)算法说明
输入字符→判断
(2)程序清单
#include
voidmain()
{ charb;
printf("请输入一个字母或者数字,我们将为你区分大小写和数字\n");
scanf("%c",&b);
if(b>='A'&b<='Z')
printf("大写\n");
if(b>=97&b<=122)
printf("小写\n");
if(b>='0'&b<='9')
printf("数字\n");
if(b<'0'||b>'9'&b<'A'||b>'Z'&b<'a'||b>'z')
printf("其它\n");
}
(3)运行结果
(4)思考与讨论
第一次用的是else
Printf(“其他”)
后来发现不对,因为他与上一个未配对的if配对,结果就错了。
所以在用else
时要小心。