C程序设计实验报告(答案.doc

上传人:飞****2 文档编号:78779669 上传时间:2023-03-19 格式:DOC 页数:29 大小:261.50KB
返回 下载 相关 举报
C程序设计实验报告(答案.doc_第1页
第1页 / 共29页
C程序设计实验报告(答案.doc_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《C程序设计实验报告(答案.doc》由会员分享,可在线阅读,更多相关《C程序设计实验报告(答案.doc(29页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 C程序设计实验报告班 级: 学 号: 学 期:2009-2010学年第二学期姓 名: C程序设计实验报告学 期:2009-2010学年第二学期教师姓名: 教研室: 软件工程教研室 实验1 熟悉C语言程序的运行环境,掌握数据描述班 级学 号实 验 室专 业姓 名成绩评定所用软件计算机号教师签名1.1 实验目的1了解在开发环境中如何编辑、编译、连接和运行一个C语言程序。2通过运行简单的C语言程序,初步了解C语言程序的结构特点。3掌握C语言数据类型的概念,学会使用C语言的相关运算符构成表达式。1.2 实验预习1熟悉Turbo C的启动和退出及Turbo C中的编辑、编译、连接和运行命令。2了解下列

2、命令及函数:include、main、printf、scanf。3熟悉Turbo C环境下每个菜单项的功能及相关命令对应的操作。4各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含义。int、short (int)、long (int)、unsigned (int)、float、double、char、void5各类运算符的优先级和结合规则。6常量与变量的区别和联系。表1-1 Turbo C主菜单项功能表菜单项功能菜单项功能File文件操作Project工程(项目)Edit编辑操作Option选项Run运行Debug调试Compile编译Break/watch中断/监视表1-2 Turb

3、o C提示行功能表菜单项功能菜单项功能F1帮助F8单步执行程序F5窗口的缩放F9编译连接F6窗口的切换F10激活主菜单表1-3 Turbo C快捷操作表菜单项功能菜单项功能Alt+F1查看最后一次的帮助信息Ctrl+F1查看与光标所在位置内容相关的帮助信息Alt+F3选择文件装入Ctrl+F2取消单步执行Alt+F5查看运行结果Ctrl+F8设置断点Alt+X退出TCCtrl+F9编译、连接并运行4熟悉Turbo C环境下的块操作。表1-4 基本光标命令功能操作表功能默认键功能默认键字符左Ctrl+S或Left上滚Ctrl+W字符右Ctrl+D或Right下滚Ctrl+Z字左Ctrl+A上一页

4、Ctrl+R或PgUp字右Ctrl+F下一页Ctrl+C或PgDn上行Ctrl+E或Up下行Ctrl+X或Down表1-5 快速光标移动命令功能操作表功能默认键功能默认键行头Ctrl+QS或Home文件头Ctrl+QR行尾Ctrl+QD或End文件尾Ctrl+QC窗口头Ctrl+QE块头Ctrl+QB窗口底Ctrl+QX块尾Ctrl+QK上次光标位置Ctrl+QP表1-6 插入与删除命令功能操作表功能默认键功能默认键插入模式Ctrl+V或Ins左边字符Backspace插入行Ctrl+N删除光标处字符Ctrl+G或Del删除行Ctrl+Y删除光标右边字符Ctrl+T删除至行尾Ctrl+QY上次

5、光标位置Ctrl+QP删除光标Ctrl+H或表1-7 块操作命令功能操作表功能默认键功能默认键标记块首Ctrl+KB块取消Ctrl+KH标记块尾Ctrl+KK块移动Ctrl+KV标记单个字Ctrl+KT读块Ctrl+KR复制块Ctrl+KC写块Ctrl+KW删除块Ctrl+KY表1-8 其他命令功能操作表功能默认键功能默认键异常结束操作Ctrl+U或Ctrl+Break查找Ctrl+QF制表Ctrl+L或Tab查找并替换Ctrl+QA自动缩进Ctrl+OI查找标记Ctrl+QN定界符配对Ctrl+Q或Ctrl+Q退出编辑Ctrl+KQ1.3 实验任务1输入下列程序,记录在Turbo c 下的操

6、作方法。#include main()printf(“I am a student!”);环境的启动操作: 我的电脑磁盘(各机房磁盘目录有所不同)Turbo C文件夹tc。Exe 。程序的编译方法:快捷键是 Alt+F9 ;菜单操作是Compilecompile to OBJ程序的保存方法:快捷键是 F2 ;菜单操作是 File-Save 程序的运行方法:快捷键是Ctrl+F9;菜单操作是 Run 运行结果的查看:快捷键是 Alt+F5 ;菜单操作是 RunUser Screen 环境的退出操作:快捷键是 Alt+X ;菜单操作是 File-Quit 2. 预测结果并上机验证人工分析结果实验运

7、行结果#include main()printf(“*n”);printf(“I am a student!n”);printf(“*n”);*I am a student!*3运行程序输入5,-5;预测结果并上机验证人工分析结果实验运行结果#include#includemain()int a,b,sum; scanf(“%d,%d”,&a,&b); sum=a+abs(b);printf(“a and b is %d”,sum);a and b is 104现欲将编好的上例程序以文件名my.c保存至当前目录下,请阐述方法;当重新进入TC对其进行简单修改后欲将其另存至C盘SY文件夹下(SY文

8、件夹请自行创建),叙述方法。File菜单下单击Save as,输入C:SYmy.c5试编写程序实现下列输出(选做)* * * * * * *main()printf(“*n”);printf(“* *n”);printf(“* * *n”);printf(“* * * *n”); 6预测结果并上机验证(1) main() int a,b; a=b=3; printf(“a=%d,b=%d”,a,b);(2)若将以上程序进行改写,编辑如下:main() int a,b; a=3; b=3.1; printf(“a=%d,b=%d”,a,b);题号人工分析结果实验运行结果(1)a=3,b=3(2)

9、a=3,b=3由此知,若赋值号左右数据类型不一致时,c语言将按赋值号左边变量类型为准。 7若有以下程序段,分析c2的值: 人工分析结果实验运行结果int c1=2,c2; c2=1.0/c1*c1;1若将程序段改为:c2=1/c1*c1;0分析c2所得结果,其中的关键在于除号两端如果都是整型数据,则所得结果截断取整 8现有程序如下:main() int a=7, b=10; a=a+b; b=a-b; a=a-b; printf(“%d,%dn”, a, b ); 程序运行的功能是: 交换a、b两数的值 注:可修改a、b两数的值仔细观察。9. 现有程序如下,分析填空:人工分析结果实验运行结果m

10、ain() int a=0; a+=(a=8); printf(%dn,a);1610. 现有程序如下,分析填空:人工分析结果实验运行结果main() int a=2,b=5; int m=3,n; double c=2.1,d=4.5; n=a/m+b*c-d/m; printf(“%d”,n);911.现有程序如下,分析填空:人工分析结果实验运行结果main () int x=1; printf(“%d %dn”,+x,x+);3 112.现有程序如下,分析填空:人工分析结果实验运行结果main() int x,y,z=0;x=y=1;z+=x+=y;x=z+;y=+x;z=x+y; pr

11、intf(“x=%d,y=%d,z=%d”,x,y,z);x=4,y=3,z=6实验2 顺序结构程序设计与调试班 级学 号实 验 室专 业姓 名成绩评定所用软件计算机号教师签名2.1 实验目的1熟悉C语言的表达式语句、空语句和复合语句。2熟悉函数调用语句,尤其是各输入输出函数的调用语句。3熟悉顺序结构程序中语句的执行过程。4熟悉程序的跟踪调试和变量值的监视。5能设计简单的顺序结构程序。2.2 实验预习1熟悉下列函数:putchar、getchar、printf、scanf2了解顺序结构程序的执行过程。3了解程序的跟踪调试和变量值的监视并能够熟练操作。单步跟踪调试(逐条语句跟踪调试):(1)可按

12、功能键F7进行,要监视某变量的值时,就按CtrlF7键,然后输入相应的变量名,就可以在监视消息窗口中查看到该变量的值。(2)也可逐段运行程序,即每次运行若干条语句。首先利用CtrlF8键在各行光标处设置若干断点,然后按CtrlF9键从程序的第一条语句运行到设置的第一个断点,再按CtrlF9键从设置的第一个断点运行到设置的第二个断点。4了解顺序结构程序的一般构成。2.3 实验任务1若有程序main() int i,j; scanf(i=%d,j=%d,&i,&j); printf(i=%d,j=%dn ,i,j);要求给i赋5,给j赋10,则应该从键盘输入 i=5,j=10 2华氏温度,要求输出

13、摄氏温度,公式为:C=。要求输出结果保留到小数点后两位。已知程序段中有三处错误,由注释语句/*found*/提示下一条语句有错误,请修改程序中的错误并记录程序运行结果。错误原因是正确语句是#include main() float f,c; clrscr(); /*found(1)*/scanf(%d,f);/*found(2)*/c=5/9(f-32);/*found(3)*/printf(f=%f,c=%fn,c,f);Scanf语句中是地址列表scanf(%d,&f);缺少运算符c=5/9*(f-32);输出表列用英文逗号分隔printf(t=%.2f,f=%.2fn,c,f);3. 已

14、知程序功能是通过用户输入三角形三边,求取三角形面积。填空,将程序补充完整。求取公式为;S=(a+b+c)/2 area=sqrt(s*(s-a)*(s-b) *(s-c) 人工填空上机填空#include (1)/*需要添加头文件*/main() float a,b,c,s,area;clrscr();scanf(%f,%f,%f,&a,&b,&c); (2);area=sqrt(3);/*库函数sqrt的含义是开平方*/ printf(area=%fn,area);#include S=(a+b+c)/2(s*(s-a)*(s-b) *(s-c)4.单步跟踪下面程序的执行,每执行一条语句就查

15、看各变量的值。运行时输入一个三位的整数。单步跟踪程序时填写下表,同时分析程序的功能。#include”stdio.h”void main()int n,x1,x2,x3,y;printf(“please input number n”);scanf(“%3d”,&n);x1=n/100;x2=n/10%10;x3=n%10;y=x3*100+x2*10+x1;printf(“y=%3d”,y);nX1X2X3y123123321程序的功能是: 将输入的3位整数逆序排列 实验3 选择结构程序设计与调试班 级学 号实 验 室专 业姓 名成绩评定所用软件计算机号教师签名3.1 实验目的1理解C语言表

16、示逻辑量的方法(以0代表“假”,以非0代表“真”)。2学会正确使用逻辑运算符和逻辑表达式、关系运算符和关系表达式。3学会运用逻辑表达式或关系表达式等表达条件。4熟练掌握if语句和switch语句。5学习跟踪调试程序,针对具体程序组织输入测试数据,观察程序运行能否得到预期的输出结果。6熟悉选择结构程序段中语句的执行过程。3.2 实验预习1熟悉逻辑运算符和逻辑表达式、关系运算符和关系表达式。2熟悉下列语句:if、if-else、switch、break。3.3 实验任务1阅读程序,上机调试并记录程序结果。人工分析结果实验运行结果#include main( ) int x=0; if(x=0) p

17、rintf(x=%dn,x); else printf(x=%dn,x+1); x=0#include main( ) int x=0; clrscr(); if(x=0) printf(x=%dn,x); else printf(x=%dn,x+1); x=1以上两题告诉了你什么:1) c中的赋值号与等于运算符应区分。 2) 若判断表达式值为0,表示假,执行else分支 2阅读程序,上机调试并记录程序结果。人工分析结果实验运行结果实验告诉我们main()int a=4,b=3,c=5,t=0; if(ab)t=a;a=b;b=t; if(abc); printf(%dn,d);0关系运算符无

18、论有多少,总是一个个运算得结果然后参与下一个运算的。4.若从键盘输入58,判断以下程序输出的结果。人工分析结果实验运行结果main() int a; scanf(%d,&a); if(a50) printf(%d,a); if(a40) printf(%d ,a); if(a30) printf(%d ,a); 5. 阅读程序,上机调试并记录程序结果。人工分析结果实验运行结果main() int x=1,a=0,b=0; switch(x) case 0: b+; case 1: a+; case 2: a+;b+; printf(“a=%d,b=%dn ”,a,b); a=2,b=16. 阅

19、读程序,上机调试并记录程序结果。人工分析结果实验运行结果main() int a=13,b=21,m=0;switch(a%3) case 0:m+;break;case 1:m+;switch(b%2) default:m+;case 0:m+;break;printf(“m=%dn”,m);m=37. 阅读程序,上机调试并记录程序结果。人工分析结果实验运行结果实验告诉我们main() int i=1,j=1,k=2; if(j+|k+)&i+); printf(%d,%d,%dn,i,j,k);2,2,2逻辑运算符不是所有的符合都可以参与运算的8. 有一函数 x-1 (x1) y = 2(

20、x-1) (1=x=10)编程求当分别输入x的值为0.3,3.9,11时,y的值。main() float x,y; scanf(%f,&x); if (x1) y=x-1; else if(x10) y=2*(x-1); else y=3*x-10;printf(x=%f,y=%fn,x,y);x=0.3时y=-0.7 ;x=3.9时y=5.8;x=11时y=239. main() char sex;/*孩子的性别*/char sports;/*是否喜欢体育运动*/char diet;/*是否有良好的饮食习惯*/float myHeight, faHeight, moHeight;print

21、f(Are you a boy(M) or a girl(F)?);scanf( %c, &sex);printf(Please input your fathers height(cm):);scanf(%f, &faHeight);printf(Please input your mothers height(cm):);scanf(%f, &moHeight);printf(Do you like sports(Y/N)?);scanf( %c, &sports);printf(Do you have a good habit of diet(Y/N)?);scanf( %c, &die

22、t); if (sex = M | sex = m)myHeight = (faHeight + moHeight) * 0.54;elsemyHeight = (faHeight * 0.923 + moHeight) / 2.0;if (sports = Y | sports = y)myHeight = myHeight * (1 + 0.02);if (diet = Y | diet = y)myHeight = myHeight * (1 + 0.015);printf(Your future height will be %f(cm)n, myHeight);实验4 循环结构程序设

23、计与调试班 级学 号实 验 室专 业姓 名成绩评定所用软件计算机号教师签名4.1 实验目的1掌握用while语句、do-while语句和for语句实现循环的方法。2理解循环结构程序段中语句的执行过程,进一步练习程序的跟踪调试技术。3. 掌握在程序设计中用循环的方法实现各种算法(如穷举法、迭代、递推等)。4. 理解break语句和continue语句的功能和执行过程。4.2 实验预习1熟悉语句:while、do-while、for 、break、continue。2熟悉三种循环语句之间的关系和区别。4.3 实验任务1. 实验指导书P33上机题1,完成下表: 填空位置人工填空语句实验填空语句(1)

24、11(2)00(3)N=100N=a&ch=A&ch=Z) upper+; printf(“大写字母个数=%d,小写字母个数=%d”,upper,lower); 5. 预测结果并上机验证人工分析结果实验运行结果#include main() int x=15;while(x10&x50) x+;if(x/3)x+;break;else continue;printf(“%dn”,x);17176. 预测结果并上机验证人工分析结果实验运行结果#include main() int i=0,a=0; while(i20) for(;) if(i%10)=0) break; else i-; i+=

25、11; a+=i; printf(%dn,a); 3232 7. 编程实现九九乘法表。 main() int i,j; for(i=1;i=9;i+) for(j=1;j=i;j+) printf(“%d*%d=%d”,j,i,i*j); printf(“n”); 8.求3150之间的所有素数。#include #include main()int s=0,i,n,flag; clrscr(); for(i=3;i=150;i+) flag=0; /*语句功能:(1)*/ for(n=2;(2);(3)) /*表达式功能:判断某个数是否是素数,给出判断区间*/ if(i%n=0) flag=1

26、; break; if(flag=0) s=s+i; printf(s=%dn,s);填空位置人工填空语句实验填空语句实验运行结果1标志清02n=sqrt(i)n=sqrt(i)3n+n+9.以下程序的功能是输出100以内能被3整除且个位数为6的所有整数,请填空补充完整。main()int i,j; for(i=0;_;i+) j=i*10+6;if(_) continue;printf(“%d ”,j);填空位置人工填空语句实验填空语句实验运行结果1i10i106 36 66 962j%3!=0j%3!=0实验5 函数定义、调用与编译预处理班 级学 号实 验 室专 业姓 名成绩评定所用软件计

27、算机号教师签名5.1 实验目的1掌握定义函数的方法。2掌握函数实参与形参的对应关系,以及“值传递”的方式。3了解函数的嵌套调用和递归调用。4掌握全局变量和局部变量,动态变量和静态变量的概念和使用方法。5理解宏的概念,掌握宏定义。6了解文件包含的概念。5.2 实验预习1函数的概念、定义格式、声明格式、调用规则及调用过程中数据传递方法过程,函数的嵌套调用和递归调用。2宏定义和文件包含等编译预处理指令。5.3 实验任务1. 预测结果并上机验证人工分析结果实验运行结果#include fun(int x, int y, int z) z=x*x+y*y; main() int a=31; fun(5,

28、2,a); printf(“%d”,a); 31312.预测结果并上机验证人工分析结果实验运行结果#include int a, b; void fun() a=100; b=200; main( ) int a=5, b=7; fun(); printf(“%d %d n”, a,b); 5 75 73.预测结果并上机验证人工分析结果实验运行结果#include int f(int n) if(n=1) return 1;else return f(n-1)+1;main() int i,j=0;for(i=1;i3;i+) j+=f(i);printf(“%dn”,j);334.预测结果并

29、上机验证人工分析结果实验运行结果#include int ff(int n) static int f=l; f=f*n; return f; main() int i; for(i=1;i=5;i+ )printf(“%dn”,ff(i); 12624120126241205.预测结果并上机验证人工分析结果实验运行结果#include #define N 10#define s(x) x*x#define f(x) (x*x)main() int i1,i2;i1=1000/s(N);i2=1000/f(N);printf(“%d %dn”,i1,i2);1000 101000 106.程序

30、填空 (1)定义两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。#include int f1(int m,int n) /*填空位置(1),函数功能:_。*/int z; for(z=m;z=m*n;z+) if(z%m=0)&(z%n=0) return z; main()int m,n,t,s,q; _; /*填空位置(2)*/ scanf(m=%d,n=%d,&m,&n); if(m=1;z-) if(m%z=0)&(n%z=0) return z; 解1:return f1(m,n)/m解2:for(z=n;z=1;z-) i

31、f(m%z=0)&(n%z=0) return z; 实验6 数组定义与使用班 级学 号实 验 室专 业姓 名成绩评定所用软件计算机号教师签名6.1 实验目的1掌握一维数组和二维数组的定义、数组元素的引用形式和数组的输入输出方法。2了解与数组有关的非数值计算方法,如查找、插入、删除和排序法(直接插入排序、直接选择排序和冒泡排序)。3了解与数组有关的数值计算方法,如矩阵运算、线性方程求解等。4掌握字符数组和字符串函数的使用。5掌握函数调用时,数组元素和数组作为函数参数的传递。6.2 实验预习1熟悉循环语句与数组处理语句结合的方法。2复习一维数组、二维数组、字符数组的定义、初始化和数组元素的引用。

32、3复习数组的应用:批量处理数据、查找、排序和矩阵的处理。4复习字符串的含义、存储和字符串函数的功能。5复习函数调用时数组作为参数的传递过程。6.3 实验任务1.预测结果并上机验证人工分析结果实验运行结果#include main() char s=abcdef; s3=0; printf(%sn,s); abcabc 2.预测结果并上机验证人工分析结果实验运行结果#include main()int a44=1,2,-3,-4,0,-12,-13,14 ,-21,23,0,-24,-31,32,-33,0; int i,j,s=0; for(i=0;i4;i+) for(j=0;j4;j+) if(aij0) continue; if(aij=0) break; s+=aij; printf(%dn,s); 58583.预测结果并上机验证人工分析结果实验运行结果#include main()char ch35=AAAA,BBB ,CC; char s=141141abct; printf (%sn,s); printf(%sn,ch1); 141aabc“BBB”141aabc“BBB” 4.预测结果并上机验证人工分析结果实验运行结果#include main() char a=a,b,c,d,e,f,g,h,0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com