高级语言程序设计(C)实验与练习册答案(共20页).doc
《高级语言程序设计(C)实验与练习册答案(共20页).doc》由会员分享,可在线阅读,更多相关《高级语言程序设计(C)实验与练习册答案(共20页).doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验一(1) C程序运行环境及简单程序的运行(解答) P23 1编辑、运行简单的C程序下面是一个简单的C程序,请输入、编译并运行之,观察并记下屏幕的输出结果,最后以文件名sy1_1.c存盘。 #include main() int a,b,sum,m,f; /*定义整型变量a,b,sum,m,f*/float d; /*定义实型变量d */printf(Please Input a,b n ); /*输出语句*/scanf(%d%d,&a,&b); /*输入语句由键盘输入两个数分别赋予a和b*/sum=a+b; /*赋值语句*/m=a-b;f=a*b;d=a/2.0;
2、printf(%d + %d=%dn,a,b,sum); /*输出语句*/printf(%d - %d=%dn,a,b,m);printf(%d * %d=%dn,a,b,f);printf(%d / %f=%fn,a,2,d);运行结果:2 改错题(1)下列程序的功能为:计算x*y的值并将结果输出;请纠正程序中存在错误(程序中有8处错误),使程序实现其功能,程序以文件名sy1_2.c存盘。#include main / main改为main() int x=2;y=3;a / 改为 int x=2,y=3,a;A=x*y / 改为 a=x*y;print (a=%d,a); / 改为prin
3、tf (a=%d,a);printf(n); 改正后源程序:#include main() int x=2,y=3,a;a=x*y;printf(a=%d,a);printf(n);(2)下列程序的功能为:计算圆面积并将结果输出;请纠正程序中存在错误(程序中有8处错误),使程序实现其功能,程序以文件名sy1_3.c存盘。 #include stdio.h; main(); float r;area; r=5.0;area=3.14159r*r;printf(area=%dn,area)改正后源程序:#include main() float r,area; r=5.0; area=3.1415
4、9*r*r; printf(area=%fn,area);(3)下列程序的功能为:正确使用控制字符(水平制表符);请纠正程序中存在错误,使程序实现其功能,程序以文件名sy1_4.c存盘。#include stdio.hmain()char x,y,z;x=”a”;y=/t;z=”b”;printf(第1行为:%c%c%cn,x,y,z); printf(第2行为:%c%c%c%cn,x,y,y,z);改正后源程序:#include stdio.hmain()char x,y,z;x=a;y=t;z=b;printf(第1行为:%c%c%cn,x,y,z); printf(第2行为:%c%c%c
5、%cn,x,y,y,z);运行结果:实验一(2) 数据类型、运算符和表达式P261若有定义 “int x,a,b,c;” ,写出顺序执行下列表达式后 x 的值,然后通过程序(程序以文件名sy1_5.c存盘)验证。 要求:先利用操作系统自带的计算器按表达式的运算次序计算下列表达式的结果,然后利用验证程序计算表达式的结果。 x=a=b=10 x=25%(c=3) x*=x+=x-=x x=(a=4%3,a=1)验证程序: #includemain() int x,a,b,c; x=a=b=10; printf(x=%dn,x); x=25%(c=3); printf(x=%dn,x); x*=x+
6、=x-=x; printf(x=%dn,x); x=(a=4%3,a=1); printf(x=%dn,x); 运行结果:2改错题(1)下列程序的功能为:已知圆锥半径r和高h,计算圆锥体积v。请纠正程序中存在错误(程序中有7处错误),使程序实现其功能,程序以文件名sy1_6.c存盘。#include stdio.hmain(); float r=10,h=5;v=1/3*3.14159*r2*h;printf(v=%dn,v)改正后源程序:#include main() float r=10,h=5,v;v=1.0/3*3.14159*r*r*h;printf(v=%fn,v);(2)下列程序
7、的功能为:通过键盘输入两个整数分别存放在变量x、y中,不借用第3个变量实现变量x、y互换值。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy1_7.c存盘。#include stdio.hmain()int x,y;printf(请输入两个整数n);scanf(%d%d,x, y);printf(初始状态下的x:%d y: %dn);x=x+yy=x-y;x=x-y; printf(最终状态下的x:%d y: %d/n,x,y);改正后源程序:#include stdio.hmain()int x,y;printf(请输入两个整数n);scanf(%d%d,&x,&y);printf(
8、初始状态下的x:%d y: %dn,x,y);x=x+y;y=x-y;x=x-y; printf(最终状态下的x:%d y: %dn,x,y);3程序填空(1) 下列程序的功能为:输出小写字母a,b,请填写适当的符号,使程序实现其功能,程序以文件名sy1_8.c存盘。#include main ()char c1,c2;c1=97; c2=98;printf( %c,%c ,c1,c2);(2) 下列程序的功能为:从键盘输入3个整数分别存入变量a、b、c,然后,将变量a的值存入变量b,将变量b的值存入变量c,将变量c的值存入变量a,输出经过转存后变量a、b、c的值。(提示:使用中间变量)。请填
9、写适当的符号或语句,使程序实现其功能,程序以文件名sy1_9.c存盘。#include main ()int a,b,c, m ;printf(Please input a,b,c: );scanf(%d%d%d, &a,&b,&c ); m=a ; a=c ; c=b ; b=m ;printf(a=%d b=%d c=%dn,a,b,c);4编程题(1) 编写一个程序实现如下功能:从键盘输入三个大写英文字母,把它们转换成小写字母后输出(程序以文件名sy1_10.c存盘)。参考程序:(注意输入必须是大写字母)#include main()char c1,c2,c3;scanf(%c,%c,%
10、c,&c1,&c2,&c3);c1=c1+32;c2=c2+32;c3=c3+32;printf(%c,%c,%cn,c1,c2,c3);(2) 编写一个程序实现如下功能:从键盘输入两个整数a、b,求a2+b2的值并输出(程序以文件名sy1_11.c存盘)。参考程序:#include stdio.hmain()int a,b,c;printf(请输入两个整数n);scanf(%d%d,&a,&b); c=a*a+b*b; printf(c=%dn,c);实验二 设计并运行简单的C程序(解答)1改错题(1)下列程序的功能为: 输入一个华氏温度,要求输出摄氏温度。公式为:C= ,输出取2位小数。请
11、纠正程序中存在的错误(程序中有3处错误),使程序实现其功能,程序以文件名sy2_1.c存盘。#include main() float c,f;printf(请输入一个华氏温度:n);scanf(%f,f);c= =(5/9)*(f-32);printf(摄氏温度为:%5.2fnc);改正后的程序:#include main()float c,f ;printf(请输入一个华氏温度:n);scanf(%f,&f);c=(5.0/9)*(f-32);printf(摄氏温度为:%5.2fn,c);(2)下列程序的功能为:按下列公式计算并输出x的值。其中a和b的值由键盘输入。 x=2ab/(a+b)
12、2请纠正程序中存在的错误,使程序实现其功能,程序以文件名sy2_2.c存盘。 #include main() int a,b; float x; scanf(%d,%d,a,b); x=2ab/(ab)(ab); printf(x=%dn,x); 改正后的程序:#include main() int a,b; float x; scanf(%d,%d,&a,&b); x=2.0*a*b/(a+b)*(a+b); printf(x=%fn,x); (3)下列程序的功能为:从键盘输入一个大写字母,要求改用小写字母输出。请纠正程序中存在的错误,使程序实现其功能,程序以文件名sy2_3.c存盘。#in
13、clude main() char c1,c2; c1=getchar; /* 输入大写字符 */ printf(%c,%dn,c1,c1); c2=c1-26; /* 转变为小写 */ printf(%c,%dn,c2,c2); /* 输出 */改正后的程序:#include main() char c1,c2; c1=getchar(); /* 输入大写字符 */ printf(%c,%dn,c1,c1); c2=c1+32; /* 转变为小写 */ printf(%c,%dn,c2,c2); /* 输出 */2程序填空(1)下列程序的功能为:给定格式输入数据,按输出要求输出结果,请填写适
14、当的符号或语句,使程序实现其功能,程序以文件名sy2_4.c存盘。输入形式 enter x,y:2 3.4输出形式 x+y=5.4#include main() int x;float y;printf (enter x,y: ); scanf(%d%f,&x,&y); printf(x+y=%.1fn,x+y); (2) 下列程序的功能为:设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据r、h,输出计算结果,输出时要求有文字说明,取小数点后位数字。(周长l=2,圆面积s=,圆球表面积sq=,圆球体积vq=;圆柱体积vz=)请填写适当的符
15、号或语句,使程序实现其功能,程序以文件名sy2_5.c存盘。#include main()float pi,h,r,l,s,sq,vq,vz;pi=3.;printf(请输入圆半径r,圆柱高h:n); scanf(%f%f,&r,&h); ;l= 2*pi*r ;s= pi*r*r ;sq= 4*pi*r*r ;vq= 3.0/4*pi*r*r*r ;vz= pi*h*r*r ; printf(圆周长为:%.2fn,l );printf(圆面积为:%.2fn, s );printf(圆球表面积为:%.2fn, sq );printf(圆球体积为:%.2fn, vq );printf(圆柱体积为
16、:%.2fn, vz ); (3) 下列程序的功能为:通过键盘输入两个整数,分别存入变量x,y中,当x小于y时,通过中间变量t互换x,y之值,并输出之。请填写适当的符号或语句,使程序实现其功能,程序以文件名sy2_6.c存盘。#include main() int x,y,t; printf(请输入x,y:n); scanf(%d%d,&x,&y) ; if (xy) t =x; x=y; y=t; /x与y交换 printf(交换后的x:%d y:%d n,x,y);3编程题(1)编写一个程序实现如下功能:输入一元二次方程的系数a,b,c,求方程的根。要求:运行该程序时,输入a,b,c的值,
17、分别使b2-4ac的值大于、等于和小于零,观察运行时的报错信息(程序以文件名sy2_7.c存盘)。参考程序:#include #include void main() float a,b,c,disc,x1,x2,p,q; scanf(a=%f,b=%f,c=%f,&a,&b,&c); disc=b*b-4*a*c; p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(x1=%5.2fnx2=%5.2fn,x1,x2);(2)编写一个程序实现如下功能:在屏幕显示提示信息(“输入一个字符串”),用户输入完成后在屏幕上再现该字符串(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 实验 练习 答案 20
限制150内