C语言程序设计实验报告实验.pdf
《C语言程序设计实验报告实验.pdf》由会员分享,可在线阅读,更多相关《C语言程序设计实验报告实验.pdf(41页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、-1-/41 C语言程序设计实验报告 2013 2014 学年第二学期班级姓名学号指导教师-0-/41 实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C+6.0一、实验目的:1了解在Visual C+6.0环境下如何编辑、编译、连接和运行一个C程序;2通过运行简单的C程序,初步了解C源程序的特点。二、预习内容:教材 C语言程序设计教程第1 章。三、实验内容:1.在 Visual C+6.0环境下输入并运行下面的程序:#include int main()printf(This is a C program.n);return 0;2.在 Visua
2、l C+6.0 环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。#include int main()int a,b,sum a=3;b=4;sun=a+b;print(“%d+%d=%dn”,a,b,sum);return 0;四、实验结果:1.运行结果(或截图):This is a C program.Press any key to continue-1-/41 2.(1)改正后的源程序:#include int main()int a,b,sum;a=3;b=4;sum=a+b;printf(%d+%d=%dn,a,b,
3、sum);return 0;(2)运行结果(或截图):3+4=7 五、思考题:1.一个 C程序上机的步骤有哪些?答:上级输入与编辑源程序 对原程序进行编译 与库函数链接 运行可执行的目标程序。2.组成 C程序的基本单位是函数,一个函数包括哪几个部分?答:一个函数包括两部分:分别为函数头或函数首部和 函数体。成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C+6.0一、实验目的:1掌握整型、实型与字符型这三种基本类型的概念;2掌握常量及变量的使用方法;3.掌握基本算术运算符及其表达式的使用方法;4.掌握+、-运算符、赋值运算符及其表达式的使用方法
4、。二、预习内容:-2-/41 教材 C语言程序设计教程第2 章。三、实验内容:1.在 Visual C+6.0环境下输入下面的程序,编译、连接、调试该程序。main()char m,n;m=280;n=320;printf(“%dt%dn”,m,n);printf(“%ct%cn”,m,n);2.在 Visual C+6.0环境下输入并运行下面的程序,观察分析运行结果。#include int main()int a=3,b=4,c=8;float d,e;d=a+b/c;e=a+(float)b/c;/请将此处d 改为 bprintf(d=%f,e=%fn,d,e);3.在 Visual C
5、+6.0环境下输入并运行下面的程序,观察分析运行结果。#include main()int a,b,c,d,i,j,m,n;a=b=c=d=3;i=a+;j=+b;m=c-;n=-d;printf(a=%d,b=%d,c=%d,d=%d,i=%d,j=%d,m=%d,n=%dn,a,b,c,d,i,j,m,n);4.在 Visual C+6.0环境下输入并运行下面的程序,观察分析运行结果。#include main()int a=4;a+=a-=a*a+a;printf(a=%dn,a);-3-/41 四、实验结果:1.运行结果(或截图):24 64 2.运行结果(或截图):d=3.00000
6、0,e=3.500000 d=3.000000,e=3.375000 3.运行结果(或截图):a=4,b=4,c=2,d=2,i=3,j=4,m=3,n=2 4.运行结果(或截图):a=-32 五、思考题:1.给变量命名应该注意哪些问题?答:每个变量必须进行数据类型说明;2.程序 2 的运行结果中,d 和 e 的值为什么不同?答:d 的赋值语句中,除法是两个整型数字的运算,其结果没有小数位;而e 中对 b 进行了强制转换为实型,所以其除法运算结果有小数位。-4-/41 3.程序 3 的运行结果中,i 和 j 的值为什么不同?m和 n 的值为什么不同?/改为程序3 答:i(m)是通过后自增(后自
7、减)实现的,而后自增(后自减)是先参与其他运算,后对变量递增(递减);而 j(n)是通过前自增(前自减)实现的,其是先对变量递增(递减),后再参与其他运算。4.请分析表达式a+=a-=a*a+a 的运算过程(写出运算步骤)。答:先将a-(a*a+a)赋值给a,再将 a+a 赋值给 a。成绩指导教师签名-5-/41 实验三实验项目名称:简单的输入输出及顺序程序设计所使用的工具软件及环境:Visual C+6.0一、实验目的:1.掌握整型、实型与字符型数据的正确输入方法(scanf函数的使用);2.掌握整型、实型与字符型数据的正确输出方法(printf函数的使用);3.掌握编写顺序程序的方法。二、
8、预习内容:教材 C语言程序设计教程第3 章。三、实验内容:1.编写 C程序,按下列公式计算并输出S的值,其中a 和 b 的值有键盘输入。2)(2baabsmain()int a,b;float s;scanf(“%d,%d”,&a,&b);s=2.0*a*b/(a+b)/(a+b);printf(“s=%fn”,s);输入并调试。将 scanf 函数改为scanf(“%d%d”,&a,&b);再编译,运行。观察结果。2.在 Visual C+6.0环境下输入并运行下面的程序,观察分析程序运行过程及结果。#include int main()int a,b,sum;printf(请输入第一个整数
9、:);scanf(%d,&a);printf(请输入第二个整数:);scanf(%d,&b);sum=a+b;printf(%d+%d=%dn,a,b,sum);3.设圆半径r=1.5,编写程序求圆周长、圆面积和圆球的体积。要求用scanf语句输入半径,输出时取小数点后两位。-6-/41 四、实验结果:1.输入数据4,5 输入修改后的数据4 5 45运行结果s=0.493827 运行结果s=0.493827 s=0.493827 原因字符控制串中有“,”,所 以 输 入 时 必 须 有“,”原因字符控制串中没有除说明符以外的其他字符,所以输入时可以通过空格分隔字符控制串中没有除说明符以外的其他
10、字符,所以输入时可以通过回车分隔 2.运行结果(或截图):请输入第一个整数:1 请输入第二个整数:2 1+2=3 3.(1)程序中用到的变量(类型)单精度浮点数(2)算法(用伪代码描述或自然语言)c=2*pi*r;s=pi*r*r;v=4*(pi*r*r*r)/3;(3)源程序清单#include int main()#define pi 3.14 float r,c,s,v;-7-/41 printf(请输入圆的半径:);scanf(%f,&r);c=2*pi*r;s=pi*r*r;v=4*(pi*r*r*r)/3.0;printf(c=%.2f,s=%.2f,v=%.2fn,c,s,v);
11、(4)运行结果(或截图)请输入圆的半径:1.5 c=9.42,s=7.07,v=14.13 五、思考题:scanf(“%d,%d”,&a,&b)与 scanf(“%d%d”,&a,&b)输入数据的方式有什么不同?从两种输入方式的对比中你得到什么启发?答:第一种输入方式用户必须以“,”分隔,而第二者可用空格、回车分隔,用户在不知情的情况下,很难知道用“,”分隔输入的数据。所以编程人员可以在scanf()语句前用 printf()语句进行注释,让用户知道用什么来分隔输入的数据。成绩指导教师签名-8-/41 实验四实验项目名称:选择结构程序设计所使用的工具软件及环境:Visual C+6.0一、实验
12、目的:1.正确使用关系运算符和关系表达式;2.正确使用逻辑运算符和逻辑表达式;3.熟练使用if语句实现选择结构程序;2.熟练使用switch语句实现多分支选择结构程序。二、预习内容:教材 C语言程序设计教程第4 章。三、实验内容:1.下面程序的功能是:输入学生成绩,若成绩在90 分以上,输出“Excellent!”;若成绩在6089分之间,输出“Pass!”;若成绩在 60 分以下,输出“Fail!”。请将程序补充完整,并上机运行程序。#include int main()int score;printf(请输入分数(0-100):);scanf(%d,&score);if(score100|
13、score=90 )printf(Excellent!n);else if(score=60 )printf(Pass!n);else printf(Fail!n);运行该程序4 次,分别输入4 个不同的数据,对应4 种不同的情况,记录运行结果:2.有如下分段函数:10101111312xxxxxxy请输入 x 的值,求解对应的y 值。3.给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90-100输入数据20 61 99 111 运行结果Fail!Pass!Excellent!Input Error!-9-/41 为 A,80-89 为 B,70-79 为 C,60-69 为 D,6
14、0 分以下为 E。用 switch语句写。四、程序中所用的变量及其类型:2.变量:x、y;数据类型:都为单精度浮点数3.变量:score 数据类型:整型五、算法(用伪代码或自然语言描述):2.if(x=10)printf(y=%fn,3*x-11);else if(x=1)printf(y=%fn,2*x-1);else printf(y=%fn,x);3.switch(score/10)case 10:printf(An);break;case 9:printf(An);break;case 8:printf(Bn);break;case 7:-10-/41 printf(Cn);break
15、;case 6:printf(Dn);break;default:printf(En);六、源程序清单:2.#include int main(void)float x,y;printf(请输入一个x:);scanf(%f,&x);if(x=10)printf(y=%fn,3*x-11);else if(x=1)printf(y=%fn,2*x-1);else printf(y=%fn,x);return 0;3.#include int main(void)int score;-11-/41 printf(请输入一个成绩:);scanf(%d,&score);switch(score/10)
16、case 10:printf(An);break;case 9:printf(An);break;case 8:printf(Bn);break;case 7:printf(Cn);break;case 6:printf(Dn);break;default:printf(En);return 0;-12-/41 七、实验结果:2.运行结果(执行程序3 次,分别输入不同的3 个数,对应3 种不同的情况):3.运行结果(执行程序5 次,分别输入5 组不同的数据,对应5 种不同的情况):成绩指导教师签名输入数据2 11-5 运行结果3.000000 22.000000-5.000000 输入数据99
17、 80 70 62 59 运行结果A B C D E-13-/41 实验五实验项目名称:简单循环程序设计所使用的工具软件及环境:Visual C+6.0一、实验目的:1.掌握循环程序的基本结构;2.熟练掌握while、dowhile及 for 语句,并会用来编写循环结构程序。二、预习内容:教材 C语言程序设计教程第4 章。三、实验内容:1.编写一个程序,计算并输出数列:1,3,5,2n-1,的前几项之和,其中 n 由键盘输入。要求分别用 3 种循环语句实现。方法 1:用 for语句实现。main()long s,n,k,i;scanf(“%ld “,&n);k=2*n-1;s=0 ;for(i
18、=1;i=k;i+=2 )s+=i;printf(“1+3+%ld=%ldn”,k,s);方法 2:用 while语句实现。main()long s=0 ,n,i=1;scanf(“%ld”,&n);while(i=(2*n-1)s+=i;i+=2 ;printf(“1+3+%ld=%ldn”,2*n-1,s);方法 3:用 do-while语句实现。main()long s=0,n,i=1;scanf(“%ld”,&n);do s+=i;i=i+2;while(i=(2*n)-1 );printf(“1+3+%ld=%ldn”,2*n-1,s);填上所缺的空,运行程序,写出结果。2.输入两个
19、正整数,求其中最大公约数和最小公倍数。四、程序中所用的变量(类型及其初值):-14-/41 2.变量 i,k,j,m,least,greatest均为整型变量,没有对其赋予初值。五、算法(用伪代码描述):2.for(j=i;j=1;j-)/此处 for 循环为求最大公约数 if(i%j=0)greatest=j;else ;if(k%greatest=0)printf(%d和%d的最大公约数为%d!n,i,k,greatest);break;else ;least=i*k/greatest;printf(%d和%d最小公倍数为%d!n,i,k,least);六、源程序清单:2.#include
20、 int main(void)int i,k,j,m,least,greatest;/i,k 存储的是两个正整数,least为最小公倍数,greatest为最大公约数printf(请输入两个正整数(中间以空格分隔):);scanf(%d%d,&i,&k);for(j=i;j=1;j-)/此处 for 循环为求最大公约数 if(i%j=0)greatest=j;else ;-15-/41 if(k%greatest=0)printf(%d和%d的最大公约数为%d!n,i,k,greatest);break;else ;least=i*k/greatest;printf(%d和%d最小公倍数为%d
21、!n,i,k,least);return 0;七、实验结果:1.在下表中写出输入的数据及其运行结果:2.运行结果(或截图):请输入两个正整数(中间以空格分隔):36 12 36 和 12 的最大公约数为12!36 和 12 最小公倍数为36!成绩指导教师签名方法 1 方法 2方法 3输入数据12 12 12 运行结果1+3+23=1441+3+23=1441+3+23=144-16-/41 实验六实验项目名称:多层循环程序设计及break、continue 语句在循环程序中的应用所使用的工具软件及环境:Visual C+6.0一、实验目的:1.掌握多层循环程序的执行过程及设计方法;2.掌握 b
22、reak 及 continue语句在循环程序中的使用方法。二、预习内容:教材 C语言程序设计教程第4 章。三、实验内容:1.百马百担问题。有100 匹马,驮100 担。大马驮3 担,中马驮2 担,两个小马驮1 担。问大、中、小马各多少?(考虑适当减少循环次数)2.编程输出100 以内的所有素数。3.编程输出所有水仙花数(所谓“水仙花数”,是指一个3 位数,其各位数字的立方和等于该数本身,例如,153=13+53+33,所以 153 是一个水仙花数)。四、程序中所用的变量(类型及其初值):1.变量 x,y,z均为整型变量,均未赋予初值2.整型变量x,y,均未赋予初值3.整型变量i,m,n,n 初
23、值为 0,m、n 未赋予初值五、算法(用伪代码或自然语言描述):1.for(x=0;x=20;x+)for(y=0;y=33;y+)z=100-x-y;if(z%2=0&3*x+2*y+z/2=100)printf(大马有%d匹,中马有%d匹,小马有%d匹!n,x,y,z);2.for(i=1;i=100;i+=1)-17-/41 for(j=2;j=i;+j)if(i%j=0)if(i=j)printf(%-5d,i);else break;3.for(i=100;i=999;+i)int m,n=0;m=i%10;n+=m*m*m;m=(i/10)%10;n+=m*m*m;m=(i/100
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实验 报告
限制150内