ImageVerifierCode 换一换
格式:DOCX , 页数:73 ,大小:284.64KB ,
资源ID:7087391      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7087391.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计练习题答案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计练习题答案.docx

1、C语言程序设计练习题答案1.1 上机实训项目实验1实验步骤1、进入VC环境 从“开始”“程序”“Microsoft Visual Studio 6.0”“Microsoft Visual C+ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序 在VC环境中选择“文件”菜单,然后单击“新建”菜单项。如图1-2所示图1-2 选择新建 在弹出的新建对话框中设置好相应的内容,如图2-2所示。要事先准备好保存文件的目录,例d:lx目录。在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C语

2、言程序的扩展名“.c”。设置好后,单击“OK”,就回到了VC+的编辑界面,即将进行输入和编辑的源程序文件example.c文件存放在D盘的LX目录下。图1-3 新建对话框的设置 在图1-4的工作区中,输入源程序图1-4 输入、编辑源程序 输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。图1-5 保存源程序 源程序的编译如图2-6所示,单击主菜单的“编译”(Build), 在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。在单击“编译”后,屏幕上会出

3、现一个如图1-7所示的对话框。内容是“This build command requires an active project worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No”,表示不同意,将取消编译。此处选择“是”。图1-6 编译源程序图1-7 要求创建一个工作区 编译完成后将如图1-8所示,此时注意编译窗口中的信息,如果有编译错误,将要对源程序进行修改,然后再重新编译,直到没有错误为止。图1-8编译信息 编译没有错误,完成并

4、生成obj文件后,就可进入程序的连接了。连接的目的是将程序和系统提供的资源(如函数库、头文件等)建立连接,真正生成可以执行的程序文件。如图1-9所示,单击主菜单的“编译”(Build), 在其下拉菜单中选择“构建example.exe”(build example.exe),或者单击工具栏上的“构建”按钮。执行连接后,将在调试窗口中显示连接的信息,如图1-10所示,如果连接有错误,将修改源程序,然后再编译、连接,直至没有错误为止。图1-9 程序的连接图1-10 连接后的信息 程序的执行完成了编译、连接后,就生成了可执行程序文件,些时该程序可执行了。如图1-11所示,单击主菜单的“编译”(Bui

5、ld), 在其下拉菜单中选择“执行example.exe”(Execute example.exe),或者单击工具栏上的“执行”按钮。执行后,将出现图1-12所示的结果。图1-11 执行程序图1-12 执行的结果实验2 程序中包含三处错误,分别为:(1) Int应为int;(2)“sum=25+30”后缺少“;”;(3)缺少“return 0;”实验3 提示:要完成题目任务,一种方法是每一行调用一个printf函数输出,另一种方法是只调用一个printf函数输出。代码分别如下:(1)#include int main (void)printf (This is my first C progr

6、am.n);printf (And programming in C is even more fun.n);return 0;(2)#include int main (void)printf (This is my first C program.nAnd programming in C is even more fun.n);return 0;实验 4 (1)计算33+56的和。解题思路:将例1.2中变量值改为33与56代码如下:#include int main(void) int value1,value2,sum; value1=33; value2=56; sum=value1

7、+value2; printf(“%d+%d=%dn”, value1, value 2,sum);(2)计算1+2+3+4+5解题思路:可以分别建立五个变量value1,value2,value3,value4,value5,赋值后计算value1+value2+value3+value4+value5,代码如下:#include int main(void) int value1,value2,value3,value4,value5,sum; value1=1; value2=2; value3=3; value4=4; value5=5; sum=value1+value2+value

8、3+value4+value5;printf(“%d+%d+%d+%d+%d=%dn”, value1, value 2, value3, value4, value5, sum);实验 5 解题思路:根据摄氏度与华氏温度转换公式进行转换,代码如下:#include int main () float f, c; f = 27.0; c = (f-32)/1.8; printf(f=%fnc=%fn, f, c); return 0; 1.2 课后实训项目一、 选择题1.C ; 2. D; 3.A; 4.C; 5.A二、填空题1. main函数2. ;3. 编译三、分析下面程序,写出运行结果1

9、. The result is 952. we are students. I begin to study C language. 四、找出下面程序中的所有语法错误,然后在计算机上运行输出正确结果。1. (1)Void 应为 void; (2)INT 应为 int;(3) “/* COMPUTE RESULT” 后缺少“*/” ;(4)“printf (The answer is %in sum) ;” 应为“printf (The answer is %dn ,sum);”2. (1)缺少预处理指令#include ;(2)没有声明value1,value2。3. (1)缺少main函数#

10、include ;(2)没有对value1,value2进行声明;(3)输出语句中“The sum of value1 and value2 is %dn”缺少双引号;(4)函数体应由括起来。2.1 上机实训项目实验1解题思路:根据运行结果,了解各种数据类型在内存所占用空间的大小,运行结果如下:int is 4Bchar is 1Blong int is 4Bunsigned int is 4Bfloat is 4Bdouble is 8B实验2解题思路:根据例子,分析VC+6.0短整数、字符型和float型数据的范围,运行结果如下: s=32767 c=127 f=3.1234e+038 s

11、=-32768 c=-128 f=1.#INF(越界)通过程序运行结果可知:VC+6.0短整数范围-3276832767;字符型范围-128127;float型范围:0以及-3.4*10-383.4*1038实验3 解题思路:错误1 “j=+3;”应为“j=+i;”。+与运算符只能用于变量,不能用于常量或者表达式,如5+或者(a+b)+都是不合法的。错误2 “k=5.0%2;” 应为“k=5%2;”。%运算符要求参加运算的对象为整数,结果也是整数。实验4解题思路,代码如下:# include int main() int a=3,b=4,c=5; double x=1.2,y=2.4,z=-3

12、.6; long int u=51274,n=128765; char c1=a,c2=b; printf(a=%db=%dc=%dn,a,b,c); printf(x=%7.6fy=%7.6fz=%7.6fn,x,y,z); printf(x+y=%3.2fy+z=%3.2fz+x=%3.2fn,x+y,y+z,z+x); printf(u=%dn=%dn,u,n); printf(c1=%cor%dn,c1,c1); printf(c2=%cor%dn,c2,c2); return 0;实验5 错误:“average=1/2*(96+55);”应改为“average=1.0/2.0*(96

13、+55);” 解题思路:两个整数相除的结果是整数,需要改为两个实数相除。2.2 课后实训项目一、 选择题1)C 以0开头的数字是8进制数字,但是8进制数字里面是没有8的(满8进位),所以出错;2)C;3)D ;4)D;5)D;6)B;m为(n*100+0.5)取整数部分,相当于四舍五入;7)A;8)C;9)B A赋值表达式,C y=y+=5,在C语言+,-都不能位于“=”左边,D强制类型转换;10)B x=x+x-(x-x);11)A;12)C;13)D二、填空题 1) 标识符;2)变量;3)整型、字符型、长双精度型;4)字母、数字、下划线;5)4B;6)f;7)pow(e,x*x+y*y)*

14、(1/fabs(x-y)); 8) 3.5三、分析下面程序,写出运行结果1. i=2,j=2 i=2,j=32. 119,w 97, a 3. 24,683 3.456000,53400.0000004. 2 20.0000005. -6 四、找出下面程序中的所有语法错误,然后在计算机上运行输出正确结果。1. #include int main (void)float a = 5, b = 3; 错误: 应为 int a = 5, b = 3;printf (a % b = %dn, a % b);return 0; 运行结果: a%b=22. #include int mian() 错误1:

15、main char c=China; 错误2; 将字符串赋给字符变量 printf(c=%cn,c); 错误3:双引号 Return 0; 错误4 :return 首字母小写 运行结果c=C3. #include int main( )int a,b,c; a=2;b=3; C=a+b; 错误: C未定义 printf(“%d+%d=%dn”,a,b,c); return 0;运行结果: 2+3=5五、程序设计题1. 解题思路:需要知道三角形求面积公式s=底*高*0.5,根据公式进行编程,代码如下:# include int main() double a,b,c; a=5.0; b=6.0;

16、 c=a*b/2; printf(area is %f,c); return 0;2. 解题思路:知道根据半径r求圆形周长公式l=2以及面积公式S=,代码如下:# include # define PI 3.1416int main() double a,area,length; a=5.0; area=PI*a*a; length=2*PI*a; printf(area is %f and length is%fn,area,length); return 0;3. 解题思路:已知边长a,正方形求面积公式s=a2,代码如下:# include int main() double a,area

17、; a=6.0; area=a*a; printf(area is %f n,area); return 0;4 解题思路:已知圆柱体的底面半径a,高h,圆柱体体积c=,代码如下:# include # define PI 3.1416int main() double a,h,cube; a=6.0; h=10.0;cube=PI*a*a*h; printf(cube is %f n,cube); return 0;3.1 上机实训项目实验1 1 略2答:输出为a b,此时c1=a,c2= ,c3=b3答:输出为 a b此时c1=a,c2=回车 ,c3=b4答:输入123实验2 下面程序是的

18、功能是输入两个整数,输出其和,试调试运行。#include int main() int x,y; printf(请输入两个整数:n); scanf(x=%d,y=%d,&x,&y); printf(%d%+%d=%dn,x,y,x+y); 错误:多写一个%,输出错误。 return 0;实验3解题思路:调用scnaf与printf函数输入输出字符数据,代码如下:#include int main() char a,b,c; scanf(%c,&a); scanf(%c,&b); scanf(%c,&c); printf(%c,a); printf(%c,b); printf(%c,c); r

19、eturn 0; 实验4 下面程序是输入1个整数和1个实数,然后其值,找出其中的错误。#include int main() long x; double y; scanf(%f,%f,&x,&y); 错误1:scanf(%ld,%lf,&x,&y);,double 型数据输入要用%lf; printf(x=%f,f=%fn,x,y); 错误2:printf(x=%d,f=%fn,x,y);,x为整数; 错误3:缺少return 0; 实验 5 代码如下: scanf(_“%d,%f”,&x,&y _); printf(_“x+y=%f”,x+y _) 课后实训项目一、 选择题1)D;2)D;

20、3)C;4)D;5)B;6)A;7)B;8)B;9)C;10)B如果使用的格式符与对应的变量类型不一致,有可能造成读取错误的数据,但系统不报错;11)C;12)C;13)C赋值语句的对象只能是变量,而不是表达式;14)A;15)A;16)D 二、填空题 1) 3;2)%;3)格式控制,输出表列;4)%d,%c,%s;5)&a,&b; a=b三、程序阅读题1. 运行结果 A,662. 运行结果 1,65,1.5,6.53. 输出结果为i:dec=14,otc=177774,hex=fffc,unsigned=65532 4. 输出结果是12 34四、改错题1. 下面程序编译时无错误,运行程序时,

21、从键盘输入1,2,但输出结果不正确,找出程序中的错误并改正之。#include void main() int x,y; scanf(%d,%d,x,y); 改错:scanf(%d,%d,&x,&y); printf(%d,%d,x,y);2. 下面程序是输入两个double型数据,然后输出的和,找出错误并改正之#include void main() double x,y; scanf(“%f %f”,&x,&y); 改错1: scanf(“%lf %lf”,&x,&y); printf(“x+y=%fn,x+y); 改错2: printf(“x+y=%fn”,x+y);五、程序设计题1.

22、解题思路:设置两个整数给变量a,b,输入的大数放在a中,输入的小数放在b中,利用a/b和a%b分别求他们的商和余数,代码如下:#include int main() int a,b,c; int d,e; scanf(%d,%d,&a,&b); if (ab) c=a; a=b; b=c; d=a/b;e=a%b; printf(a=%d,b=%d,d=%d,e=%dn,a,b,d,e); return 0;2. 解题思路:用%(求余)。 比如输入321,321%100 = 21 用321 - (321%100) 再 除以100 即可得: (321 - (321%100))100 = 3 同样

23、,用21%10 = 1 再除以10 即可得:(321%100)-(321%100)%10)/10 = 2 最后,1-(1%1) = 1。代码如下:#include int main() int a; int b,c,d; scanf(%d,&a); b=a%10; c=a/10%10; d=a/100; printf(a=%d,b=%d,c=%d,d=%d,a,b,c,d); return 0;4.1 上机实训项目实验1 正确程序代码为:#include int main()float a,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(ab) t=a;a=b;b=t;

24、/if语句后是个复合语句,需要加上花括号if(ac) t=a;c=a;c=t;if(bc)t=b;b=c;c=t;printf(“%f,%f,%fn”,a,b,c);return 0;实验2 解题思路:分段函数计算,根据不同的x,按照条件选择建立不同的分支执行。参考代码如下:# include int main() float x,y; printf(Please input x:n); scanf(%f,&x); if (x1.0)&(x=10.0) y=3*x-11; printf(The value of y is:%fn,y); return 0;实验3 解题思路:ASCII代码表示的

25、小写字母比大写字母值大32,首先判断是否大写字母,如果是,则当前值加32,如果是小写字母,则当前值减32。参考代码如下:#includeint main() char ch; scanf(%c,&ch); if(ch=A&ch=a&ch=z) ch=ch-32; printf(%cn,ch); return 0;实验4 解题思路:首先要明确构成三角形的条件,两边之和大于第三遍;然后根据等边三角形(三边相等)、等腰三角形(两边相等)、直角三角形(直角边平方和等于斜边平方)分别进行判断,参考代码如下:#include #include void main()int a,b,c;int k, i,

26、j ;int m,o,p;int a1,b1,c1;printf(输入三条边:n); scanf(%d,%d,%d,&a,&b,&c) ;i=a*a+b*b-c*c;j=b*b+c*c-a*a;k=a*a+c*c-b*b;m=abs(a-b);o=abs(a-c);p=abs(c-b);a1=a+b;b1=b+c;c1=a+c;if (a1c)&(b1a)&(c1b)&(mc)&(ob)&(pa) if(m=0)&(o=0) printf(这是一个等边三角形。n); else if (m=0)|(o=0)|(p=0) printf(这是一个等腰三角形。n); else if(i=0)|(j=0

27、)|(k=0) printf(这是一个直角三角形!n); else printf(这是一个任意三角形!n);else printf(这不是一个三角形!n);实验5 解题思路:根据不同的距离,确定折扣和运费,参考代码如下:#include int main() double cost(double x,double y,double z,double p); double f,p,w,s,d; printf(请输入距离:); scanf(%lf,&s); printf(n请输入运费:); scanf(%lf,&p); printf(n请输入货物重量:); scanf(%lf,&w); if (s=250.0)&(s=500.0)&(s=1000.0)&(s2000.0) d=0.15; f=cost(p,w,s,d);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1