1、C. double fun(int x , int y)D. double fun(x , y)10. 若某个函数中没有返回值,则应在函数类型处写上关键字(A )。A. void C. float11. C语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是(B )。A. 地址传递 B. 单向值传递C. 由用户指定传递方式D. 实参传给形参,再由形参传给实参12. C语言规定,函数返回值的类型是由( D)决定的。A. return语句中的表达式类型 B. 调用该函数时的主调函数类型C. 调用该函数时由系统临时 D. 在定义函数时所指定的函数类型13. 若用数组名作为函数调用的实参,传
2、递给形参的是(A )。A. 数组首元素的地址 B. 数组中的全部元素的值C. 数组中第一个元素的值D. 数组元素的个数14. 若有以下定义int f(int x),则变量x为(B )。A. 全局变量 B. 局部变量C. 静态变量D. 非法变量15. 一个源文件中定义的全局变量的作用域为(D )。A. 本文件全部范围B. 本程序全部范围C. 本函数全部范围D. 从定义开始至本文件结束16. 在一个C语言程序中(B)。A. main函数必须出现在所有函数之前B. main函数可以在任何地方出现C. main函数必须出现在所有函数之后D. main函数必须出现在固定位置17. 以下不正确的描述为(D
3、)。A. 不同函数中可以使用相同名字的变量B. 形参是局部变量C. 一个函数内部定义的变量只能在本函数范围内有效D. 在一个内部的复合语句中定义的变量可以在本函数范围内有效18. 以下函数的类型是(C)。fff(float x) printf (“%dn”,x*x);A. 与参数X的类型相同B. void型C. int型D. 无法确定19. 以下函数调用语句中,含有的实参个数是(B)。Func(exp1,exp2),(exp3,exp4,exp5);A. 1B. 2C. 4D. 520. C语言中,形参缺省的存储类别是(A)。A. auto(自动)B. static(静态)C. registe
4、r(寄存器)D. extern(外部)21. 若x为int型变量,则以下函数fun的类型为(C)。fun(x) printf(“%dn”,x);A. 返回值为void类型B. 无法确定返回值C. 返回值为int类型D. 无返回值22. 以下叙述正确的是(A)。A. C程序中各函数之间既允许直接递归调用,也允许间接递归调用B. C程序中各函数之间不允许直接递归调用,也不允许间接递归调用 C. C程序中各函数允许直接递归调用,不允许间接递归调用D. C程序中各函数之间不允许直接递归调用,允许间接递归调用23. 以下叙述中不正确的是(C)。A. 一个变量的作用域完全取决于变量定义语句的位置B. 全局
5、变量可以在函数以外的任何部位进行定义C. 局部变量的“生存期”只限于本次函数调用,因此不可能将局部变量的运算结果保存至下一次调用D. 一个变量说明为static存储类别是为于限制其它编译单位的引用24. 以下叙述不正确的是(D)。A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包含一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面 25. 下列说法中正确的是(C)。A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的
6、main()函数必须在程序的开始部分 26. 已知:static int a34;则数组a中各元素(B)。A. 可在程序的运行阶段得到初值0B. 可在程序的编译阶段得到初值0C. 不能得到确定的初值D. 可在程序的编译或运行阶段得到初值027. 一个完整的C源程序是(B )。A. 要由一个主函数或一个以上的非主函数构成 B. 由一个且仅由一个主函数和零个以上的非主函数构成 C. 要由一个主函数和一个以上的非主函数构成 D. 由一个且只有一个主函数或多个非主函数构成 28. 以下关于函数的叙述中正确的是( C)。A. C语言程序将从源程序中第一个函数开始执行 B. 可以在程序中由用户指定任意一个
7、函数作为主函数,程序将从此开始执行 C. C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D. main可作为用户标识符,用以定义任意一个函数 29. 以下关于函数的叙述中不正确的是(B )。A. C程序是函数的集合,包括标准库函数和用户自定义函数 B. 在C语言程序中,被调用的函数必须在main函数中定义 C. 在C语言程序中,函数的定义不能嵌套 D. 在C语言程序中,函数的调用可以嵌套 30. 以下关于函数叙述中,错误的是( D)。A. 函数未被调用时,系统将不为形参分配内存单元 B. 实参与形参的个数应相等,且实参与形参的类型必须对应一致 C. 当形参是变量时,实参可
8、以是常量、变量或表达式 D. 形参可以是常量、变量或表达式 31. 函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是(D )。A. 实参将其地址传递给形参,并释放原先占用的存储单元 B. 实参将其地址传递给形参,调用结束时形参再将其地址回传给实参 C. 实参将其值传递给形参,调用结束时形参再将其值回传给实参 D. 实参将其值传递给形参,调用结束时形参并不将其值回传给实参 32. 若函数调用时,用数组名作为函数的参数,以下叙述中正确的是( A)。A. 实参与其对应的形参共用同一段存储空间 B. 实参与其对应的形参占用相同的存储空间 C. 实参将其地址传递给形参,同时形参也会将该地
9、址传递给实参 D. 实参将其地址传递给形参,等同实现了参数之间的双向值的传递 33. 如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量(C )。A. 为全局变量,在本程序文件范围内有效 B. 为局部变量,只在该函数内有效 C. 为局部变量,只在该复合语句中有效 D. 定义无效,为非法变量 34. 若在一个C源程序文件中定义了一个允许其他源文件引用的实型外部变量a,则在另一文件中可使用的引用说明是(D )。A. extern static float a;B. float a;C. extern auto float a;D. extern float
10、 a;35. 定义一个void型函数意味着调用该函数时,函数( C) A. 通过return返回一个用户所希望的函数值 B. 返回一个系统默认值 C. 没有返回值 D. 返回一个不确定的值 36. 在C语言中,形参必须是( B )。A. 常量 B. 变量 C. 数值 D. 表达式37. C语言规定,程序中各函数之间(A )。A. 既允许直接递归调用也允许间接递归调用 B. 不允许直接递归调用也不允许间接递归调用C. 允许直接递归调用不允许间接递归调用 D. 不允许直接递归调用允许间接递归调用 38. 若程序中定义函数 float myadd(float a, float b) return a
11、+b; 并将其放在调用语句之后,则在调用之前应对该函数进行说明。以下说明中错误的是(A )。A. float myadd( float a,b);B. float myadd(float b, float a);C. float myadd(float, float);D. float myadd(float a, float b);39. 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( A )。40. 在一个C源程序文件中,若要定义一个只允许本源文件中所在函数使用的全局变量,则该变量需要使用的存储类别是( B)。D. extern(外部41. 下面是求n!的递归函数,下划线处应选择
12、( D)。long func(int n ) long s=1; if (n=0|n=1) return(s); else s= ;A. sB. s*nC. s*func(n-1)D. n*func(n-1)42. 以下程序执行结果为( C)。main()increment();increment();increment()static int x=0;x+=1;printf(“%d”,x);A. 111B. 222C. 123D. 33343. 以下程序的输出结果是(A)。long fun(int n) long s;if(n=1|n=2)s=2;else s=n-fun(n-1);retu
13、rn s; main() printf(%ldn, fun(3); C. 3D. 444. 有以下程序int fun(int n) if(n=1) return 1;elsereturn(n+fun(n-1);int x;scanf(d,&x); x=fun(x); printf(dn,x);执行程序时,给变量X输入10,程序的输出结果是(A)。A. 55B. 54C. 65D. 4545. 有以下程序int fun(int x,int n)static int sum=0,i;for(i=0;i=0&chab) return a;else return b;int x=3,y=8,z=6,r
14、;r=fun(fun(x,y),2*z);A. 3 B. 6 C. 8 D. 12 53. 以下程序的运行结果是(C )。void f(int a, int b) int t; main() int x=1, y=3, z=2;if(xy) f(x,y);else if(yz) f(x,z);else f(x,z);%d,%d,%dn,x,y,z);A. 1,2,3 B. 3,1,2 C. 1,3,2 D. 2,3,1 54. 以下程序的正确运行结果是(A )。#incluedint k=4,m=1,p;p=func(k,m);printf(“%d”,p);printf(“%dn”,p);fu
15、nc(int a,int b) static int m=0,i=2;i+=m+1;m=i+a+b;return (m);A. 8,17 B. 8,16 C. 8,20 D. 8,8 55. 下列程序的执行结果为 ( C ) float f1(float x) int k=2;k=k*x;return k;void main() float b=4.3;%.1f,f1(b);A. 8.6 B. 9.0 C. 8.0 D. 8 56. 执行下列程序后, 变量a的值应为( A ) return x+1.3;void main( ) float a;a=f1(2.4);printf(“%fn”,a)
16、;A. 3.700000 B. 3 C. 4 D. 不确定 57. 下面程序的输出是( D ) #include char ss10=12345strcat(ss,6789);%sn,ss);A. ABC B. ABC9 C. 123456ABC D. 123456789 58. 程序的输出是 ( B )int w=3;void main() int w=10;,fun(5)*w);fun(int k) if(k=0) return w; return(fun(k-1)*k);A. 360 B. 3600 C. 1080 D. 1200 59. 若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b);在此函数调用语句中实参的个数是(A) B. 4 C. 5 D. 6 60. 有一下程序 viod fun (int a,int b,int c) a=456; b=567; c=678; int x=10, y=20,z=30;fun (x,y,z); 输出结果是( B ) A. 30,20,10 B. 10,20,30 C. 456,567,678 D. 678,567,456
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1