福建农林大学金山学院实验报告
系(教研室): 专业: 年级:
实验课程: C语言程序设计 姓名: 学号: 实验室号: 计算机号: 实验时间: 指导教师签字: 成绩: 实验2:选择结构程序设计
一、 实验目的和要求
1. 了解C语言表示逻辑量的方法
2. 正确使用逻辑运算符和逻辑表达式,掌握if语句和switch语句 3. 结合程序掌握一些简单算法,并学习调试程序
二、 实验内容和原理
1.有一函数:
x2+2x-6 (x<0,x≠-3) y = x2-5x+6 (0≤x<10,x≠2,x≠3) x2-x-15 (x=-3,x=2,x=3,x≧10) 写一程序,用scanf函数输入x,输出y值。
2.分别用if语句和switch语句编程实现:给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
3.输入4个整数,要求按由小到大顺序输出。
4.有三个整数a,b,c,由键盘输入,输出其中最大的数,请编写程序。(用两种方法实现)
5.输入出租车类型和里程,计算打车的费用。计算方式为:3公里以内10元;3公里以上0车型每公里1.5元,1车型每公里2元。
三、 实验环境
1. 硬件:PC机;
2. 软件:Windows操作系统、Visual C++ 6.0,DEV-CPP 。
四、 算法描述及实验步骤
1、 先用scanf函数输入,再用if语句的嵌套来计算该方程。
2、 (1)用switch语句时,对输入的数据进行检查,在用score/10将其强制转换得到一个
整型。最后用switch语句执行使其得到一个字符型字母。 (2)用if语句分成各个分数段将符合要求的输出对应的字符。 3、 用if语句依次比较的方法排出其大小顺序。
4、 (1)先用scanf函数输入,再用if语句的嵌套比较其大小顺序。 (2)带入一个中间数用条件表达式比较其大小顺序。
5、 在标题写入条件,3公里以下直接输出。3公里以上判断车型,再带入相应车型计算车
费。
五、 调试过程
第2题中,在做if语句时模仿了switch语句,造成输出没有结果,应该在每个if后都要加上输出printf。
第5题中,类型你是整型,应该用int不是float。在有个大前提下,用while语句会出现一些错误,可改为用if语句,或在第一次输出时标出备注。
六、 实验结果
1、
2、(1)switch语句:
(2)if语句:
3、
4(1)、
(2)、
5、
七、 总结
通过此次实验本人更加熟练的掌握了程序C语言逻辑运算符和逻辑表达式的应用,也深深了解到了,C语言的强大,同时是我对这门语言的兴趣更加深厚。做完本次实验,我纠正了以往的一个观点,学习一门语言不要以为看书看明白了就以为对这方面的知识掌握了,学习语言更为重要的是要会使用,不能仅仅是以为明白就可以了事,合上书本,能够应用这方面的知识写出一个程序来,才能算对它的初步掌握
附录:
1、#include
printf(\输入x:\scanf(\if(x<0&&x!=-3) {y=x*x+2*x-6;
printf(\}
else if(x<10&&x!=2&&x!=3) {y=x*x-5*x+6;
printf(\} else
{y=x*x-x-15;
printf(\}
return 0; } 2、(1)switch语句: #include
printf(\请输入学生成绩:\scanf(\
while(score>100||score<0)
{printf(\输入有误,请重输\scanf(\ }
switch((int)(score/10)) {case 10: case 9:grade='A';break; case 8:grade='B';break; case 7:grade='C';break; case 6:grade='D';break; case 5: case 4: case 3: case 2: case 1: case 0:grade='E'; }
printf(\成绩是%5.1f,相应的等级是%c.\\n\return 0; }
(2)if语句:
#include
printf(\请输入学生成绩:\scanf(\
while(score>100||score<0)
{printf(\输入有误,请重输\