模块化程序设计练习题答案.docVIP

  • 18
  • 0
  • 约5.95千字
  • 约 8页
  • 2016-11-28 发布于贵州
  • 举报
模块化程序设计练习题答案

第四章 模块化程序设计练习题及参考答案 一、填空题 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)

1亿VIP精品文档

相关文档