资源描述:
《C理论自测题及参考答案(第3次).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、单选题1。以下关于函数的叙述中,正确的是 。 A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值B.在函数体中至少必须有一个return语句C.在函数体中可以定义另一个函数D. 在函数体中可以调用函数自身2。 以下关于变量的叙述中,不正确的是 .A.一个变量的作用域完全取决于该变量声明的位置B.全局变量可以在函数以外的任何位置声明C.动态局部变量的生存期仅限于本次函数调用,无法将局部变量的值保存到函数下一次调用D.用static声明一个变量是为了限制其他编译单位引用该
2、变量3。以下选项是一个自定义函数的头部,其中正确的是 。 A.intfun(inta, b) B.intfun(inta, inta)C. intfun(inta[],int b) D.intfun(staticinta,intb)4.关于函数返回值,以下叙述中正确的是 。 A.函数返回值的类型由函数体内return语句包含的表达式类型决定B.函数返回值的类型由函数头部定义的函数类型决定C.若函数体中有多个return语句,则函数返回值是排列在最后的return语句中表达式的值D。
3、若函数体内没有return语句,则函数没有返回值5.以下程序中main函数需要调用fun函数,所给选项中正确的调用语句是 。A. fun(1,2); B. fun((1,2)); C。f(); D.fun(fun(1));void fun(intc) {printf(“%d",c); }6.已知函数f定义如下:void f(void){printf(“That’sgreat!”);}则调用f函数的正确形式是 。A。f; B.f(); C. f(void); D.f(1);7.已知有函数f的定义如下
4、: intf(int a,intb){if (a〈b)return(a,b);elsereturn(b,a);}在main函数中若调用函数f(2,3),得到的返回值是 。A.2 B。 3 C. 2和3 D. 3和28。在以下程序中,需要在fun函数中声明一个int型的变量,所给选项中不能用作该变量名的是 . A。x B.y C。a D。fun#includeinty;main(){int a=1; fun(a);}intfun(intx
5、){/*int 型变量声明位置*/}9. 若有程序:intx;intf(inty){ return 标识符;}#include〈stdio.h〉intw;main(){intz=2;f(z);}则在函数f中,return语句后允许出现的标识符是 。 A.x或w B.x或y C.z或w D.NULL10。在main函数体内部和外部均允许出现的实体是 。 A。预处理命令 B.操作语句 C.另一函数的定义 D.函数形式参数声明11。设有下列程序段:staticcharb=2;void Y(){ static f
6、loatd=4;.。.。..。}inta=1;voidX(){int c=3;。。...。}关于程序段中各变量的属性,以下叙述中错误的是 .A。 a是全局变量,函数X可以访问,函数Y不能访问B.ﻩb是全局变量,函数X和函数Y都可以访问C。c是动态局部变量,函数X可访问,函数Y不可访问D. d是静态局部变量,函数X和函数Y都可以访问12.对应main函数中的fun函数调用,以下给出的四个fun函数定义的首部中,错误的是 .main()ﻫ{inta,n; fun(n,&a); }A.void fun(intm,intx[
7、]) B.voidfun(ints,inth[41])C.voidfun(int p,int *s) D。voidfun(intn,int a)13.下列全局变量声明中,正确的是 。 A.autointi=1; B。floata=1,b=0.5,c=a+b;C.char for=1; D.staticchar ch;14。若有数组A和B的声明“staticchar A[ ]="ABCDEF",B[]={ 'A’,’B',’C','D','E',’F’};”,则数组A和数组B的长度分别是 .A
8、.7,6 ﻩB.6,7 C.6,6 D。7,715。以下程序运行后的输出结果是 。 A.2 2 B。7 2C。7 5 D。62#include<string.h〉main(){ chara[7]=”a0\0a00”;inti,j;i=sizeof(a);j=strlen(a);prin