C语言程序设计 实验报告2--选择结构

  • 格式:doc
  • 大小:103.50 KB
  • 文档页数:7

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

福建农林大学金山学院实验报告

系(教研室):专业:年级:

实验课程: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

int main()

{int x,y;

printf("输入x:");

scanf("%d",&x);

if(x<0&&x!=-3)

{y=x*x+2*x-6;

printf("x=%3d,y=x*x+2*x-6=%d\n",x,y);

}

else if(x<10&&x!=2&&x!=3)

{y=x*x-5*x+6;

printf("x=%d,y=x*x-5*x+6=%d\n",x,y);

}

else

{y=x*x-x-15;

printf("x=%d,y=x*x-x-15=%d\n",x,y);

}

return 0;

}

2、(1)switch语句:

#include

int main()

{float score;

char grade;

printf("请输入学生成绩:");

scanf("%f",&score);

while(score>100||score<0)

{printf("\n输入有误,请重输");

scanf("%f",&score);

}

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",score,grade); return 0;

}

(2)if语句:

#include

int main()

{float score;

char grade;

printf("请输入学生成绩:");

scanf("%f",&score);

while(score>100||score<0)

{printf("\n输入有误,请重输");