1、1、以下正确的说法是( B )(A) 用户若需要调用标准库函数,调用前必须重新定义(B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义(C) 系统根本不允许用户重新定义标准库函数(D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调2、以下正确的函数声明形式是( A )(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);3、以下正确的函数形式是( D )(A) doub
2、le fun(int x, int y) z=x+y; return z;(B) fun(int x,y) int z; return z;(C) fun(x,y) int x,y; double z; z=x+y; return z;(D) double fun(int x, int y) double z; z=x+y; return z;4、以下正确的说法是( A ) 在 C 语言中(A) 实参和与其对应的形参各占用独立的存储单元(B) 实参和与其对应的形参共占用一个存储单元(C) 只有当实参和与其对应的形参同名时才共占用存储单元(D) 形参是虚拟的,不占用存储单元5、若调用一个函数,且
3、此函数中没有 return 语句,则正确的说法是( A )该函数(A) 没有返回值(B) 返回若干个系统默认值(C) 能返回一个用户所希望的函数值(D) 返回一个不确定的值6、以下不正确的说法是( B ) C 语言规定(A) 实参可以是常量、变量和表达式(B) 形参可以是常量、变量和表达式(C) 实参可以为任意类型(D) 形参应与其对应的实参类型一致7、以下正确的说法是( C )(A) 定义函数时,形参的类型说明可以放在函数体内(B) return 后边的值不能为表达式(C) 如果函数值的类型与返回值类型不一致,以函数值类型为准(D) 如果形参与实参的类型不一致,以实参类型为准8、C 语言规定
4、,简单变量做实参时,它和对应形参之间的数据传递方式是( B )(A) 地址传递(B) 单向值传递(C) 由实参传给形参,再由形参传回给实参(D) 由用户指定传递方式9、以下程序有语法性错误,有关错误原因的正确说法是( C )void main()int G=5,k;void prt_char();.k=prt_char(G);.(A) 语句 void prt_char(); 有错,它是函数调用语句,不能用 void 说明(B) 变量名不能使用大写字母(C) 函数说明和函数调用之间有矛盾(D) 函数名不能使用下划线10、C 语言允许函数值类型缺省定义,此时该函数值隐含的类型是( B )(A) f
5、loat 型(B) int 型(C) long 型(D) double 型11、C 语言规定,函数返回值的类型是由( D )(A) return 语句中的表达式类型所决定(B) 调用该函数时的主调函数类型所决定(C) 调用该函数时系统临时决定(D) 在定义该函数时所指定的函数类型所决定12、下面函数调用语句含有实参的个数为( B )func(exp1,exp2),(exp3,exp4,exp5);(A) 1(B) 2(C) 4(D) 513、以下错误的描述是( D )函数调用可以(A) 出现在执行语句中(B) 出现在一个表达式中(C) 做为一个函数的实参(D) 做为一个函数的形参14、以下程序
6、的功能是计算函数 F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。( B ) ( C )#include#includefloat f(float,float);void main()float x,y,z,sum;scanf(“%f%f%f“,sum=f( )+f( );printf(“sum=%fn“,sum);float f(float a,float b)float value;value=a/b;return(value); (A) x-y,x+y(B) x+y,x-y(C) z+y,z-y(D) z-y,z+y (A) x-y,x+y(B) x+y
7、,x-y(C) z+y,z-y(D) z-y,z+y15、以下正确的描述是( B )在 C 语言中(A) 函数的定义可以嵌套,但函数的调用不可以嵌套(B) 函数的定义不可以嵌套,但函数的调用可以嵌套(C) 函数的定义和函数的调用均不可以嵌套(D) 函数的定义和函数的调用均可以嵌套16、以下程序是选出能被 3 整除且至少有一位是 5 的两位数,打印出所有这样的数及其个数。请选择填空。( B )( A )sub(int k,int n)int a1,a2;a2= ;a1=k- ;if(K%3=0n+;return n;else return -1;void main()int n=0,k,m;fo
8、r(k=10;k#includevoid fun(int n)int k,r;for(k=2;k1) printf(“*“);r=n%k;if(n!=1) printf(“%dn“,n);void main()int n;scanf(“%d“,printf(“%d=“,n);if(n0) printf(“-“);n=fabs(n);fun(n);20、下面 add 函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分是_ void add(float a,float b)_;改正后为_ float add(float a,float b)_。void add(float a,float b)float c;c=a+b;return c;21、以下程序的运行结果是_i=7,j=6,x=7 i=2,j=7,x=5_。void fun(int i,int j)int x=7;pirntf(“i=%d; j=%d; x=%dn“,i,j,x);void main()int i=2,x=5,j=7;fun(j,6);printf(“i=%d; j=%d; x=%dn“,i,j,x);22、以下程序的运行结果是_111_。void increment()int x=0;x+=1;printf(“%d“,x);