- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模块化程序设计习练题及答案
第四章 模块化程序设计练习题及参考答案
一、填空题
1、以下程序的运行结果是(111),把x定义为静态变量运行结果是(123)。
void increment(void)
{ int x=0; x+=1; printf(%d,x);}
main()
{ increment(); increment(); increment(); }
2、若输入的值是-125,以下程序的运行结果是(-125=-5*5*5)
#include math.h
main()
{ int n; void f(int n); scanf(%d,n); printf(%d=,n);
if(n0) printf(-); n=fabs(n); fun(n);
}
void fun(int n)
{ int k,r;
for(k=2;k=sqrt(n);k++)
{ r=n%k;
while(r==0)
{
printf(%d,k); n=n/k;
if(n1)printf(*);
r=n%k;
}
}
if(n!=1) printf(%d\n,n);
}
3、设有以下宏定义:
#define WIDTH 80
#define LENGTH WIDTH+40
则执行赋值语句:v=LENGTH*20;(v为int型)后,v的值是(880)
4、设有以下宏定义:
#define WIDTH 80
#define LENGTH (WIDTH+40)
则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是(2400)
5、下面程序的运行结果是(5)
#define DOUBLE(r) r*r
main()
{ int x=1,y=2,t; t=DOUBLE(x+y); printf(%d\n,t);}
6、下面程序的运行结果是(36)
#define MUL(z) (z)*(z)
main()
{ printf(%d\n,MUL(1+2)+3); }
7、下面程序的运行结果是(212)
#define POWER(x) ((x)*(x))
main()
{ int i=1; while(i=4) printf(%d,,POWER(i++)); }
8、下面程序的运行结果是(9)
#define MAX(a,b) (ab?a:b)+1
main()
{ int i=6,j=8,k; printf(%d\n,MAX(i,j)); }
二、选择题
1、以下正确的说法是(D)建立自定义函数的目的之一是:
A)提高程序的执行效率 B)提高程序的可读性
C)减少程序的篇幅 D)减少程序文件所占内存
2、以下正确的说法是(B)
A)用户若需调用标准库函数,调用前必须重新定义
B)用户可以重新定义标准库函数,若如此,该函数将失原有含义。
C)系统根本不允许用户重新定义标准库函数。
D)用户若需调用标准函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调用。
3、以下正确的函数定义形式是(C)
A)double fun(int x,int y) B)double fun(int x;int y)
C)double fun(int x,int y); D)double fun(int x,y)
4、以下正确的说法是(D)。在C语言中:
A)实参与其对应的形参各占用独立的存储单元。
B)实参和与其对应的形参共占用一个存储单元。
C)只用当实参和与其对应的形参同名时才共占用存储单元。
D)形参是虚拟的,不占用存储单元。
5、若调用一个函数,且此函数中没有return语句,则正确的说法是(D)该函数:
A)没有返回值 B)返回若干个系统默认值
C)能返回一个用户所希望的函数值 D)返回一个不确定的值
6、以下不正确的说法是(B)。C语言规定:
A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式
C)实参可以为任意类型 D)形参应与对应的实参类型一致
7、以下正确的说法是()
A)定义函数时,形参的类型说明可以放在函数体内
B)return后边的值不能为表达式
C)如果函数值的类型与返回值类型不一致,以函数值类型为准。
D)如果形参与实参的类型不一致,以实参类型为准。
8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是()
A)地址传递 B)单向值传递
C)由实参
文档评论(0)