【计算机类职业资格】二级C语言-171及答案解析.doc

上传人:hopesteam270 文档编号:1324940 上传时间:2019-10-17 格式:DOC 页数:19 大小:78KB
下载 相关 举报
【计算机类职业资格】二级C语言-171及答案解析.doc_第1页
第1页 / 共19页
【计算机类职业资格】二级C语言-171及答案解析.doc_第2页
第2页 / 共19页
【计算机类职业资格】二级C语言-171及答案解析.doc_第3页
第3页 / 共19页
【计算机类职业资格】二级C语言-171及答案解析.doc_第4页
第4页 / 共19页
【计算机类职业资格】二级C语言-171及答案解析.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、二级 C 语言-171 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:100.00)1.要求 tan(60)的值,调用的库函数格式为_。(分数:2.00)A.tan(60)B.tan(pi/3)C.tan(60.0)D.tan(double)60)2.C 语言规定,函数返回值的类型是_。(分数:2.00)A.由调用该函数时的主调函数类型所决定B.由 return 语句中的表达式类型所决定C.由调用该函数时系统临时决定D.由定义该函数时所指定的数值类型决定3.以下叙述中,错误的是_。(分数:2.00)A.在同一 C 程序文件中,不同函数中可以使用名字相同的

2、变量B.在 main()函数体内定义的变量是全局变量C.形参是局部变量,函数调用完成即失去意义D.若同一文件中全局和局部变量同名,则全局变量在局部变量作用范围内不起作用4.以下函数值的类型是_。 fun(double x) foat y; y=3*x-4; return y; )(分数:2.00)A.intB.不确定C.voidD.float5.有以下程序: int f1(double a) return a*a; int f2(int x,int y) double a,b; a=f1(x); b=f1(y); return a+b; main() double w; w=f2(2.1,4.

3、0); ) 变量 w 的值是_。(分数:2.00)A.20.21B.20C.20.0D.0.06.已知下列函数定义: fun(int *b,int m,int n,int data) int k; for(k=0;km*n;k+) *b=data; b+; 则调用此函数的正确写法是(假设变量 a 的说明为 int a50)_。(分数:2.00)A.fun(*a,4,5,1);B.fun(C.fun(int*)a,4,5,1)D.fun(a,4,5,1);7.以下程序中函数 reverse()的功能是将 a 所指数组中的内容进行逆置。 #includestdio.h void reverse(i

4、nt a,int n) inti,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; main() int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0; reverse(b,10); for(i=0;i3;i+)s+=bi; printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:2.00)A.27B.6C.25D.308.下述程序的输出结果是_。 #includestdio.h int fun(int x) int p; if(x=0|x=1) return 3; else p=x-fun(x-2); return

5、 p; ) void main() pfintf(“/n%d“,fum(5); (分数:2.00)A.5B.3C.7D.19.以下程序的输出结果是_。 point(char*pt); main() char b4=“a“,“c“,“s“,“f“),*pt=b; pt=point(pt); printf(“%c/n“,*pt); point(char*p) p+=3; return p; (分数:2.00)AsBcCfDa10.调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是_。(分数:2.00)A.实参将其值传递给形参,调用结束时形参再将其值回传给实参B.实参将其地址传递给形参

6、,调用结束时形参再将其地址回传给实参C.实参将其地址传递给形参,并释放原先占用的存储单元D.实参将其值传递给形参,调用结束时形参并不将其值回传给实参11.下面说法不正确的是_。(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等D.调用函数时,实参与形参的类型必须一致12.下面函数调用语句含有实参的个数为_。 func(exp1,exp2),(exp3,exp4,exp5);(分数:2.00)A.1B.2C.3D.513.在 C 语言中,函数调用时_。(分数:2.00)A.实参和形参各

7、占独立的存储单元B.实参和形参共用存储单元C.由系统自动确定实参和形参是否共用存储单元D.由用户指定实参和形参是否共用存储单元14.C 语言规定,程序中各函数之间_。(分数:2.00)A.既允许直接递归调用也允许间接递归调用B.既不允许直接递归调用也不允许间接递归调用C.允许直接递归调用不允许间接递归调用D.不允许直接递归调用允许间接递归调用15.下述程序的输出结果是_。 #includestdio.h int fun(int x) int a; if(x=0|x=1) return 3; else a=x-fun(x-2); return a; void main() printf(“%d“

8、,fun(7); (分数:2.00)A.2B.8C.9D.516.以下叙述错误的是_。(分数:2.00)A.变量的作用域取决于变量定义语句的位置B.全局变量可以在函数以外的任何部位进行定义C.局部变量的作用域可用于其他函数的调用D.一个变量说明为 static 存储类型是为了限制其他编译单元的引用17.以下程序的输出结果是_。 #includestdio.h int m=13; int fun(int x,int y) int m=2; return(x*y-m); main() int a=7,b=6; printf(“%d“,fun(a,b)/m); (分数:2.00)A.1B.3C.7D

9、.1018.以下全局变量声明中正确的是_。(分数:2.00)A.auto int i=1;B.float a=1,b=0.5,c=a+b;C.charfor=1;D.static char ch;19.已知函数 f 的定义如下: void f(void) printf(“That“s great!“); 则调用 f 函数的正确形式是_。(分数:2.00)Af;B.f();C.f(void);D.f(1);20.以下程序在编译时在第三行报错“Redeclaration of “a“ infunction d”,如果决定修改该行声明中出现的局部变量 a 的名字,则下列选项中不能用来替换变量名 a

10、的是_。 程序 int b; void d(int a) int f;double a=1; printf(“%d“,a); main() int e=1;d(e);(分数:2.00)AfBeCdDb21.以下函数定义中正确的是_。(分数:2.00)A.int fun(int a,b)B.int fun(int a)C.int fun(void)D.int fun(static int a,int b)22.已知有函数 f 的定义如下: int f(int a,int b) if(ab);else retum(b,a); 在 main 函数中若调用函数 f(2,3),得到的返回值是_。(分数:

11、2.00)A.2B.3C.2 和 3D.3 和 223.以下关于函数定义的叙述中正确的是_。(分数:2.00)A.构成 C 语言源程序的基本单位之一是函数定义B.所有被调用的函数必须在调用之前定义C.main 函数定义必须放在其他函数定义之前D.main 函数定义的函数体中必须至少有一条语句或声明24.在 main 函数体内部和外部均允许出现的实体是_。(分数:2.00)A.预处理命令B.语句C.另一函数的定义D.函数形式参数声明25.已知函数 fun 的定义如下: void fun(int x,int y) int k; for(k=0;ky;k+) xk+=y; 若 main 函数中有声明

12、“int a10=10;”及调用 fun 函数的语句,则正确的 fun 函数调用形式是_。(分数:2.00)A.fun(a,a0);B.fun(a0,a0);C.fun(D.fun(a0,26.设有下列程序段: static char b=2; void Y() static float d=4;.) int a=1; void X() int c=3;. 关于程序段中各变量的属性,以下叙述中错误的是_。(分数:2.00)A.a 是全局变量,函数 X 可以访问,函数 Y 不能访问B.b 是全局变量,函数 X 和函数 Y 都可以访问C.c 是动态变量,函数 X 可访问,函数 Y 不可访问D.d

13、是静态变量,函数 X 和函数 Y 都可以访问27.若已定义一个有返回值的函数,则以下关于调用该函数的叙述中错误的是_。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以出现在表达式中C.函数调用可以作为一个函数实参D.函数调用可以作为一个函数形参28.对应 main 函数中的 fun 函数调用语句,以下给出的 4 个 fun 函数首部中错误的是_。 main() int a50,n;fun(n,(分数:2.00)A.void fun(int m,int x)B.void fun(int s,int h41)C.void fun(int p,int*s)D.void fun(i

14、nt n,int a)29.以下关于 C 语言源程序的叙述中错误的是_。(分数:2.00)A.一个 C 源程序由若干个函数定义组成,其中必须有且仅有一个名为 main 的函数定义B.函数定义由函数头部和函数体两部分组成C.在一个函数定义的函数体中允许定义另一个函数D.在一个函数定义的函数体中允许调用另一个函数或调用函数自身30.若有声明“long fun(int *x,intn,long *s);int a4=1,2,3,4;long b,c;”,则以下函数调用形式中正确的是_。(分数:2.00)A.e=fun(a,4,b);B.c=fun(a,4,C.c=fun(a4,4,b);D.e=fu

15、n(a,4,31.在 C 语言程序中,以下说法正确的是_。(分数:2.00)A.函数的定义和函数的调用均不可以嵌套B.函数的定义不可嵌套,但函数的调用可以嵌套C.函数的定义可以嵌套,但函数的调用不可以嵌套D.函数的定义和函数的调用均可以嵌套32.设 x 和 y 都是 int 类型,且 x=1,y=2,则 printf(“%d%d“,x,y,(x,y)的输出结果是_。(分数:2.00)A.1 2B.1 2 2C.1,2D.输出值不确定33.若定义函数 int *func(),则函数 func 的返回值为_。(分数:2.00)A.一个实数B.一个指向整型变量的指针C.一个指向整型函数的指针D.一个

16、整型函数的人口地址34.有以下函数定义: int fun(double a,double b) return a*b; 若以下选项中所用变量都已正确定义并赋值,错误的函数调用是_。(分数:2.00)A.if(fun(x,y).B.z=fun(fun(x,y),fun(x,y);C.z=fun(fun(x,y)x,y);D.fun(x,y);35.下面程序的输出结果是_。 #includestdio.h main() char a=“a“,“b“,“c“,“d“,“f“,“g“,*p; p=a; printf(“%c/n“,*p+4); (分数:2.00)AaBbCeDf36.以下叙述中不正确的

17、是_。(分数:2.00)A.在不同的函数中可以使用相同的名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效37.下面说法正确的是_。(分数:2.00)A.调用函数时,实参不可以是表达式,必须是数值B.调用函数时,实参与形参是共用内存单元的C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等D.调用函数时,实参与形参的类型可不一致,编译器能够自动转换38.以下程序的输出结果是_。 #includestdio.h main() int a33=0,1,2,0,1,2,0,1,2),i,j,

18、s=1; for(i=0;i3;i+) for(j=i;j=i;j+) s+=aiajj; printf(“%d/n“,s); (分数:2.00)A.3B.4C.1D.939.在一个 C 源程序文件中,定义一个只允许本源文件中所有函数使用的全局变量的存储类别是_。(分数:2.00)A.externB.staticC.registerD.auto40.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参41.若运行时给变量 x 输入 1

19、2,则以下程序的运行结果是_。 main() int x,y; scanf(“%d“, y=x12?x+10:x-12; printf(“%d/n“,y); (分数:2.00)A.0B.22C.12D.1042.若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是_。(分数:2.00)A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元43.请阅读以下程序: #includestdio.h #includestring.h void fun(int b) static i

20、nt i=0; do bi+=bi+1; while(+i2); main() int k,a5=1,3,5,4,9; fun(a); for(k=0;k5;k+)pfintf(“%d“,ak); 上面程序的输出是_。(分数:2.00)A.13579B.48579C.48549D.4899944.C 语言中,凡未指定存储类别的局部变量的隐含存储类别是_。(分数:2.00)A.自动(auto)B.静态(static)C.外部(extern)D.寄存器(register)45.若语句“t=fun(fun(x,y,a),(a+b,a+c),x+y+z);”对 fun 函数的调用正确,则 fun 函数

21、的形参个数为_。(分数:2.00)A.3B.4C.5D.646.假设有语句 sizeof(double),则它是_。(分数:2.00)A.一个整型表达式B.一个双精度浮点型表达式C.一种函数调用D.一种函数定义47.C 语言中允许用外部说明来指定变量、函数和其他标识符的特征,这里所说的外部指的是_。(分数:2.00)A.冠以关键字 externB.位置在函数体外部C.作用范围是全程的D.位置在函数的外部48.若有代数式 (分数:2.00)A.sqn(abs(nx+ex)B.sqrt(fabs(pow(n,x)+pow(x,e)C.sqrt(fabs(pow(n,x)+exp(x)D.sqrt(

22、fabs(pow(x,n)+exp(x)49.下列程序的运行结果为_。 #includestdio.h void abc(char *str) int a,b,i,j; for(i=j=0;stri!=“/0“;i+) if(stri!=“a“) strj+=stri; strj=“/0“; void main() char str=“abcdef“; abc(str); printf(“str=%s“,str); (分数:2.00)A.str=bcdefB.str=abcdefC.str=aD.str=ab50.以下正确的说法是_。(分数:2.00)A.定义函数时,形参的类型说明可以放在函数

23、体内B.return 后边的值不能为表达式C.如果函数值的类型与返回值类型不一致,以函数值类型为准D.如果形参与实参类型不一致,以实参类型为准二级 C 语言-171 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:100.00)1.要求 tan(60)的值,调用的库函数格式为_。(分数:2.00)A.tan(60)B.tan(pi/3) C.tan(60.0)D.tan(double)60)解析:2.C 语言规定,函数返回值的类型是_。(分数:2.00)A.由调用该函数时的主调函数类型所决定B.由 return 语句中的表达式类型所决定C.由调用该函数时系统

24、临时决定D.由定义该函数时所指定的数值类型决定 解析:3.以下叙述中,错误的是_。(分数:2.00)A.在同一 C 程序文件中,不同函数中可以使用名字相同的变量B.在 main()函数体内定义的变量是全局变量 C.形参是局部变量,函数调用完成即失去意义D.若同一文件中全局和局部变量同名,则全局变量在局部变量作用范围内不起作用解析:4.以下函数值的类型是_。 fun(double x) foat y; y=3*x-4; return y; )(分数:2.00)A.int B.不确定C.voidD.float解析:5.有以下程序: int f1(double a) return a*a; int

25、f2(int x,int y) double a,b; a=f1(x); b=f1(y); return a+b; main() double w; w=f2(2.1,4.0); ) 变量 w 的值是_。(分数:2.00)A.20.21B.20C.20.0 D.0.0解析:6.已知下列函数定义: fun(int *b,int m,int n,int data) int k; for(k=0;km*n;k+) *b=data; b+; 则调用此函数的正确写法是(假设变量 a 的说明为 int a50)_。(分数:2.00)A.fun(*a,4,5,1);B.fun(C.fun(int*)a,4,

26、5,1)D.fun(a,4,5,1); 解析:7.以下程序中函数 reverse()的功能是将 a 所指数组中的内容进行逆置。 #includestdio.h void reverse(int a,int n) inti,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; main() int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0; reverse(b,10); for(i=0;i3;i+)s+=bi; printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:2.00)A.27 B.6C.25D.30解析:8.

27、下述程序的输出结果是_。 #includestdio.h int fun(int x) int p; if(x=0|x=1) return 3; else p=x-fun(x-2); return p; ) void main() pfintf(“/n%d“,fum(5); (分数:2.00)A.5 B.3C.7D.1解析:9.以下程序的输出结果是_。 point(char*pt); main() char b4=“a“,“c“,“s“,“f“),*pt=b; pt=point(pt); printf(“%c/n“,*pt); point(char*p) p+=3; return p; (分数

28、:2.00)AsBcCf Da解析:10.调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是_。(分数:2.00)A.实参将其值传递给形参,调用结束时形参再将其值回传给实参B.实参将其地址传递给形参,调用结束时形参再将其地址回传给实参C.实参将其地址传递给形参,并释放原先占用的存储单元D.实参将其值传递给形参,调用结束时形参并不将其值回传给实参 解析:11.下面说法不正确的是_。(分数:2.00)A.调用函数时,实参可以是表达式B.调用函数时,实参与形参可以共用内存单元 C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等D.调用函数时,实参与形参的类型必须一致

29、解析:12.下面函数调用语句含有实参的个数为_。 func(exp1,exp2),(exp3,exp4,exp5);(分数:2.00)A.1B.2 C.3D.5解析:13.在 C 语言中,函数调用时_。(分数:2.00)A.实参和形参各占独立的存储单元 B.实参和形参共用存储单元C.由系统自动确定实参和形参是否共用存储单元D.由用户指定实参和形参是否共用存储单元解析:14.C 语言规定,程序中各函数之间_。(分数:2.00)A.既允许直接递归调用也允许间接递归调用 B.既不允许直接递归调用也不允许间接递归调用C.允许直接递归调用不允许间接递归调用D.不允许直接递归调用允许间接递归调用解析:15

30、.下述程序的输出结果是_。 #includestdio.h int fun(int x) int a; if(x=0|x=1) return 3; else a=x-fun(x-2); return a; void main() printf(“%d“,fun(7); (分数:2.00)A.2 B.8C.9D.5解析:16.以下叙述错误的是_。(分数:2.00)A.变量的作用域取决于变量定义语句的位置B.全局变量可以在函数以外的任何部位进行定义C.局部变量的作用域可用于其他函数的调用D.一个变量说明为 static 存储类型是为了限制其他编译单元的引用 解析:17.以下程序的输出结果是_。 #

31、includestdio.h int m=13; int fun(int x,int y) int m=2; return(x*y-m); main() int a=7,b=6; printf(“%d“,fun(a,b)/m); (分数:2.00)A.1B.3 C.7D.10解析:18.以下全局变量声明中正确的是_。(分数:2.00)A.auto int i=1;B.float a=1,b=0.5,c=a+b;C.charfor=1;D.static char ch; 解析:19.已知函数 f 的定义如下: void f(void) printf(“That“s great!“); 则调用 f

32、 函数的正确形式是_。(分数:2.00)Af;B.f(); C.f(void);D.f(1);解析:20.以下程序在编译时在第三行报错“Redeclaration of “a“ infunction d”,如果决定修改该行声明中出现的局部变量 a 的名字,则下列选项中不能用来替换变量名 a 的是_。 程序 int b; void d(int a) int f;double a=1; printf(“%d“,a); main() int e=1;d(e);(分数:2.00)Af BeCdDb解析:21.以下函数定义中正确的是_。(分数:2.00)A.int fun(int a,b)B.int f

33、un(int a)C.int fun(void) D.int fun(static int a,int b)解析:22.已知有函数 f 的定义如下: int f(int a,int b) if(ab);else retum(b,a); 在 main 函数中若调用函数 f(2,3),得到的返回值是_。(分数:2.00)A.2B.3 C.2 和 3D.3 和 2解析:23.以下关于函数定义的叙述中正确的是_。(分数:2.00)A.构成 C 语言源程序的基本单位之一是函数定义 B.所有被调用的函数必须在调用之前定义C.main 函数定义必须放在其他函数定义之前D.main 函数定义的函数体中必须至少

34、有一条语句或声明解析:24.在 main 函数体内部和外部均允许出现的实体是_。(分数:2.00)A.预处理命令 B.语句C.另一函数的定义D.函数形式参数声明解析:25.已知函数 fun 的定义如下: void fun(int x,int y) int k; for(k=0;ky;k+) xk+=y; 若 main 函数中有声明“int a10=10;”及调用 fun 函数的语句,则正确的 fun 函数调用形式是_。(分数:2.00)A.fun(a,a0);B.fun(a0,a0);C.fun( D.fun(a0,解析:26.设有下列程序段: static char b=2; void Y(

35、) static float d=4;.) int a=1; void X() int c=3;. 关于程序段中各变量的属性,以下叙述中错误的是_。(分数:2.00)A.a 是全局变量,函数 X 可以访问,函数 Y 不能访问B.b 是全局变量,函数 X 和函数 Y 都可以访问C.c 是动态变量,函数 X 可访问,函数 Y 不可访问D.d 是静态变量,函数 X 和函数 Y 都可以访问 解析:27.若已定义一个有返回值的函数,则以下关于调用该函数的叙述中错误的是_。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以出现在表达式中C.函数调用可以作为一个函数实参D.函数调用可以作为

36、一个函数形参 解析:28.对应 main 函数中的 fun 函数调用语句,以下给出的 4 个 fun 函数首部中错误的是_。 main() int a50,n;fun(n,(分数:2.00)A.void fun(int m,int x)B.void fun(int s,int h41)C.void fun(int p,int*s)D.void fun(int n,int a) 解析:29.以下关于 C 语言源程序的叙述中错误的是_。(分数:2.00)A.一个 C 源程序由若干个函数定义组成,其中必须有且仅有一个名为 main 的函数定义B.函数定义由函数头部和函数体两部分组成C.在一个函数定义

37、的函数体中允许定义另一个函数 D.在一个函数定义的函数体中允许调用另一个函数或调用函数自身解析:30.若有声明“long fun(int *x,intn,long *s);int a4=1,2,3,4;long b,c;”,则以下函数调用形式中正确的是_。(分数:2.00)A.e=fun(a,4,b);B.c=fun(a,4,C.c=fun(a4,4,b);D.e=fun(a,4, 解析:31.在 C 语言程序中,以下说法正确的是_。(分数:2.00)A.函数的定义和函数的调用均不可以嵌套B.函数的定义不可嵌套,但函数的调用可以嵌套 C.函数的定义可以嵌套,但函数的调用不可以嵌套D.函数的定义

38、和函数的调用均可以嵌套解析:32.设 x 和 y 都是 int 类型,且 x=1,y=2,则 printf(“%d%d“,x,y,(x,y)的输出结果是_。(分数:2.00)A.1 2 B.1 2 2C.1,2D.输出值不确定解析:33.若定义函数 int *func(),则函数 func 的返回值为_。(分数:2.00)A.一个实数B.一个指向整型变量的指针 C.一个指向整型函数的指针D.一个整型函数的人口地址解析:34.有以下函数定义: int fun(double a,double b) return a*b; 若以下选项中所用变量都已正确定义并赋值,错误的函数调用是_。(分数:2.00

39、)A.if(fun(x,y).B.z=fun(fun(x,y),fun(x,y);C.z=fun(fun(x,y)x,y); D.fun(x,y);解析:35.下面程序的输出结果是_。 #includestdio.h main() char a=“a“,“b“,“c“,“d“,“f“,“g“,*p; p=a; printf(“%c/n“,*p+4); (分数:2.00)AaBbCe Df解析:36.以下叙述中不正确的是_。(分数:2.00)A.在不同的函数中可以使用相同的名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量

40、在本函数范围内有效 解析:37.下面说法正确的是_。(分数:2.00)A.调用函数时,实参不可以是表达式,必须是数值B.调用函数时,实参与形参是共用内存单元的C.调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等 D.调用函数时,实参与形参的类型可不一致,编译器能够自动转换解析:38.以下程序的输出结果是_。 #includestdio.h main() int a33=0,1,2,0,1,2,0,1,2),i,j,s=1; for(i=0;i3;i+) for(j=i;j=i;j+) s+=aiajj; printf(“%d/n“,s); (分数:2.00)A.3B.4 C.

41、1D.9解析:39.在一个 C 源程序文件中,定义一个只允许本源文件中所有函数使用的全局变量的存储类别是_。(分数:2.00)A.externB.static C.registerD.auto解析:40.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参 解析:41.若运行时给变量 x 输入 12,则以下程序的运行结果是_。 main() int x,y; scanf(“%d“, y=x12?x+10:x-12; printf(“%

42、d/n“,y); (分数:2.00)A.0 B.22C.12D.10解析:42.若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是_。(分数:2.00)A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元 解析:43.请阅读以下程序: #includestdio.h #includestring.h void fun(int b) static int i=0; do bi+=bi+1; while(+i2); main() int k,a5=1,3,5,4,9; fu

43、n(a); for(k=0;k5;k+)pfintf(“%d“,ak); 上面程序的输出是_。(分数:2.00)A.13579B.48579C.48549 D.48999解析:44.C 语言中,凡未指定存储类别的局部变量的隐含存储类别是_。(分数:2.00)A.自动(auto) B.静态(static)C.外部(extern)D.寄存器(register)解析:45.若语句“t=fun(fun(x,y,a),(a+b,a+c),x+y+z);”对 fun 函数的调用正确,则 fun 函数的形参个数为_。(分数:2.00)A.3 B.4C.5D.6解析:46.假设有语句 sizeof(doubl

44、e),则它是_。(分数:2.00)A.一个整型表达式 B.一个双精度浮点型表达式C.一种函数调用D.一种函数定义解析:47.C 语言中允许用外部说明来指定变量、函数和其他标识符的特征,这里所说的外部指的是_。(分数:2.00)A.冠以关键字 externB.位置在函数体外部C.作用范围是全程的D.位置在函数的外部 解析:48.若有代数式 (分数:2.00)A.sqn(abs(nx+ex)B.sqrt(fabs(pow(n,x)+pow(x,e)C.sqrt(fabs(pow(n,x)+exp(x) D.sqrt(fabs(pow(x,n)+exp(x)解析:49.下列程序的运行结果为_。 #i

45、ncludestdio.h void abc(char *str) int a,b,i,j; for(i=j=0;stri!=“/0“;i+) if(stri!=“a“) strj+=stri; strj=“/0“; void main() char str=“abcdef“; abc(str); printf(“str=%s“,str); (分数:2.00)A.str=bcdef B.str=abcdefC.str=aD.str=ab解析:50.以下正确的说法是_。(分数:2.00)A.定义函数时,形参的类型说明可以放在函数体内B.return 后边的值不能为表达式C.如果函数值的类型与返回值类型不一致,以函数值类型为准 D.如果形参与实参类型不一致,以实参类型为准解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1