【计算机类职业资格】二级C语言-171及答案解析.doc
《【计算机类职业资格】二级C语言-171及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-171及答案解析.doc(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.定义函数时,形参的类型说明可以放在函数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 171 答案 解析 DOC
