C语言程序设计 第2版 工业和信息化普通高等教育十二五 规划教材立项项目 习题答案 作者 姚琳 教材课后题答案-第4章

上传人:w****i 文档编号:94398226 上传时间:2019-08-06 格式:DOC 页数:7 大小:61.50KB
返回 下载 相关 举报
C语言程序设计 第2版 工业和信息化普通高等教育十二五 规划教材立项项目 习题答案 作者 姚琳 教材课后题答案-第4章_第1页
第1页 / 共7页
C语言程序设计 第2版 工业和信息化普通高等教育十二五 规划教材立项项目 习题答案 作者 姚琳 教材课后题答案-第4章_第2页
第2页 / 共7页
C语言程序设计 第2版 工业和信息化普通高等教育十二五 规划教材立项项目 习题答案 作者 姚琳 教材课后题答案-第4章_第3页
第3页 / 共7页
C语言程序设计 第2版 工业和信息化普通高等教育十二五 规划教材立项项目 习题答案 作者 姚琳 教材课后题答案-第4章_第4页
第4页 / 共7页
C语言程序设计 第2版 工业和信息化普通高等教育十二五 规划教材立项项目 习题答案 作者 姚琳 教材课后题答案-第4章_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《C语言程序设计 第2版 工业和信息化普通高等教育十二五 规划教材立项项目 习题答案 作者 姚琳 教材课后题答案-第4章》由会员分享,可在线阅读,更多相关《C语言程序设计 第2版 工业和信息化普通高等教育十二五 规划教材立项项目 习题答案 作者 姚琳 教材课后题答案-第4章(7页珍藏版)》请在金锄头文库上搜索。

1、习题4一.单项选择题1.以下函数值的类型是【 】。 fun(float x) float y; y=3*x-4; retun y; ) A.不确定 B.float C.void D.int【答案】 D2.若有以下函数调用语句:fun(a,(x,y),fun(n+k,d,(a,b);,在fun函数调用语句中实参的个数是【 】。 A.3 B.4 C.5 D.6【答案】 A3.以下对C语言函数的有关描述中,正确的是【 】。 A.在C语言中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B. C语言中的函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数 D.C程序

2、中有调用关系的所有函数必须放在同一个源程序文件中【答案】 A4.以下叙述不正确的是【 】。 A.在不同的函数中可以使用相同名字的变量 B.函数中的形式参数是局部变量 C.在一个函数内定义的变量只在本函数范围内有效 D.在一个函数内的复合语句中定义的变量在本函数范围内有效【答案】D 5.C语言规定,除main函数外,程序中各函数之间【 】。 A.既允许直接递归调用也允许间接递归调用 B.不允许直接递归调用也不允许间接递归调用 C.允许直接递归调用不允许间接递归调用 D.不允许直接递归调用允许间接递归调用【答案】C6.C语言中形参的默认存储类别是【 】。 A.自动(auto) B.静态(stati

3、c) C.寄存器(register) D.外部(extern)【答案】A7.以下叙述正确的是【 】。 A.每个C语言程序都必须在开头使用预处理命令:#include B.预处理命令必须在C源程序的首部 C.在C语言中,预处理命令都以“#”开头 D.C语言的预处理命令只能实现宏定义和条件编译功能【答案】C8.C语言的编译系统对宏替换命令是【 】。 A.在程序运行时进行代换的 B.在程序连接时进行代换的 C.和源程序中其他C语言同时进行编译的 D.在对源程序中其他成分正式编译之前进行处理【答案】D 9.以下关于宏的叙述正确的是【 】。 A.宏名必须用大写字母表示 B.宏定义必须位于源程序所有语句之

4、前 C.宏替换没有数据类型限制 D.宏替换比函数调用耗费时间【答案】C10.函数fun的功能是计算xn。double fun(double x,int n)int i; double y=1;for(i=1;i=n;i+) y=y*x;return y;主函数中已经正确定义m、a、b变量并赋值,并调用fun函数计算:m=a4+b4-(a+b)3。实现这一计算的函数调用语句,以下正确的为【 】。A.m=fun(a4)+fun(b4)-fun(a+b)3);B.m=fun(a,b,a+b) C.m=fun(a,4)+fun(b,4)-fun(a+b),3); D.m=fun(a,4),(b,4),

5、(a+b),3);【答案】C二.读程序写结果1. #include int a=3; int fun(int x) if(x=0) return a; return fun(x-1)*x; void main() int a=10;printf(%dn,fun(5)+a); 【答案】3702. #include void main() int a=24,b=16,c; c=abc(a,b); printf(%dn,c); abc(int x,int y) int z; while(y) z=x%y;x=y;y=z;return x;【答案】83. #include func(int a,int

6、 b) static int m=0,i=2; i+=m+1; m=i+a+b; return m; void main() int k=4,m=1,n; n=func(k,m);printf(%d,n);n=func(k,m);printf(%dn,n);【答案】8,l74. #include #define PT 5.5#define S(x) PT*x*xvoid main()int a=1,b=2; printf(%4.2fn,S(a+b);【答案】 9.505. #include int d=0; fun(int x) int d=5; d+=x+; printf(%d,d); vo

7、id main() int a=1; fun(a); +d;a+;printf(%dn,d);【答案】616. #include f(int a)int b=0;static c=3;a=b+,c+;return a; void main()int a=2,i,k;for(i=0;i2;i+) k=f(a+); printf(%dn,k);【答案】07. #include #define f(x) x*xvoid main()int a=6,b=2,c; c=f(a)/f(b);printf(%dn,c);答案:368.#include int x=3;void main() int i;fo

8、r(i=1;ix;i+) incre();printf(n);incre() static int x=1;x*=x+1;printf(%2d,x);【答案】 2 69. #include #define X 5 #define Y X+1 #define Z Y*X/2 void main() int a; a=Y; printf(%d,Z); printf(%dn,-a); 【答案】7,510. #include #define N 2 #define Y(n) (n+1)*n) void main() printf(%d,2+(N+Y(5);printf(%dn,2+(N+Y(4+1);

9、【答案】34,29三程序填空1.编一函数,判断1000年到2010年之间的某年是否为闰年,若是返回1,否则返回0。 #include fun(int m) return (m%4=0)&(m%100!=0)|(m%400=0);void main() int n; for (n=_1_;n2009;n+) if(_ 2_) printf(year:%d is a leap! n,n);【答案】11000 2 fun(n)2.编写两个函数,分别求出两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。 #include #include fmax(int m,

10、int n)int r; r=m%n; while (_1_) m=n;n=r;r=m%n; return n;fmin(int m,int n) return _2_;void main() int a,b; scanf(%d%d,&a,&b); printf(fmax is:%dn,fmax(_3_); printf(fmin is:%dn,fmin(_3_);【答案】1 r!=0 2fmax(m,n) 3 a,b3.编写函数,根据整型形参m的值,计算公式t=1-1/22-1/321/m2的值。例如,若m=5,则应输出0.536389。#include #define N 5float f

11、un(int m)float t=1; int i; for(i=2;i=_ 1_;i+) t=t-1.0/i/i; return t;void main() printf(t(N)=%fn,_2_);【答案】1 m 2 fun(N)4.编一函数,判断某一整数是否为回文数,若是返回1,否则返回0。所谓回文数就是该数正读与反读是一样的。例如12321就是一个回文数。 #include #include huiwen(int m)int t,n=0; t=m; while(t) n+; t= t/10; /*求出M是几位的数*/ t=m; while(t) if(t/(int)pow(10,n-1

12、)!=t%10) /*比较其最高位和最低位*/ return 0; else t=_1_; /*去掉其最高位*/ t=_2_; /*去掉其最低位*/ n=n-2; /*位数去掉了两位*/ return 1;void main() int x; scanf(%d,&x); if (_3_) printf(%d is a huiwen!n,x); else printf(%d is not a huiwen!n,x);【答案】1 t%(int)pow(10,n-1) 2 t/10 3 huiwen(x)5.编写一个求水仙花数的函数,然后通过主函数调用该函数求100到999之间的全部水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如:153就是一个水仙花数:153=1*1*1+5*5*5+3*3*3#include #include

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号