【计算机类职业资格】二级C语言-112及答案解析.doc
《【计算机类职业资格】二级C语言-112及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-112及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-112 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:41,分数:100.00)1.若有代数式 (分数:2.00)A.sqrt(fabs(pow(n,x)+exp(x)B.sqrt(fabs(pow(n,x)+pow(x,e)C.sqrt(abs(nx+ex)D.sqrt(fabs(pow(x,n)+exp(x)2.以下叙述中错误的是_。(分数:2.00)A.可以给指针变量赋一个整数作为地址值B.函数可以返回地址值C.改变函数形参的值,不会改变对应实参的值D.当在程序的开头包含头文件 stdio.h 时,可以给指针变量赋 NULL3.有以下程序: #
2、include stdio.h int a =4; int f(int n) int t = 0; static int a=5; if (n%2) int a=6; t + = a+ +; else int a=7; t + = a+ +; return t + a+ +; main( ) int s=a, i=0; for (; i2;i+ +) s + = f(i); printf(“%d/n“, s) ; 程序运行后的输出结果是_。(分数:2.50)A.36B.24C.32D.284.有以下程序: #include stdio.h int f(int n) int t = 0, a=5
3、; if (n/2) int a=6; t + = a+ +; else int a=7; t + = a+ +; return t + a+ +; main( ) int s=0, i=0; for (; i2;i+ +) s + = f(i); printf( “ % d/n“ , s) ; 程序运行后的输出结果是_。(分数:2.50)A.28B.24C.32D.365.若有以下程序: #include stdio.h int a=2; int f(int m) static int n; n=0; n+ +; a+ +; return n+m+a; main( ) int k; for
4、(k=0; k4; k+ +) printf(“%d,“,f(k); 则程序的输出结果是_。(分数:2.50)A.4,5,6,7,B.4,7,10,13,C.4,6,8,10,D.3,5,7,9,6.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是_。(分数:1.00)A.丙数的形参和实参分别占用不同的存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的实参和其对应的形参共占同一存储单元7.以下叙述中错误的是_。(分数:2.50)A.C 程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须
5、通过 return 语句返回D.函数形参的值也可以传回给对应的实参8.以下程序中函数 f 的功能是:当 flag 为 1 时,进行由小到大排序;当 flag 为 0 时,进行由大到小排序。#include stdio.h void f(int b, int n, int flag) int i,j,t; for (i=0; in-1; i+ +) for (j=i+1; jn; j+ +) if (flag ? bibj : bibj) t=bi; bi=bj; bj=t; main( ) int a10=5,4,3,2,1,6,7,8,9,10,i; f( f(a,5,1); for(i=0
6、;i10;i+ +) printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:2.50)A.1,2,3,4,5,6,7,8,9,10,B.3,4,5,6,7,2,1,8,9,10,C.5,4,3,2,1,6,7,8,9,10,D.10,9,8,7,6,5,4,3,2,1,9.以下关于 return 语句的叙述中正确的是_。(分数:2.50)A.一个自定义函数中必须有一条 return 语句B.一个自定义函数中可以根据不同情况设置多条 return 语句C.定义成 void 类型的函数中可以有带返回值的 return 语句D.没有 return 语句的自定义函数在执行结束时不能返回
7、到调用处10.已定义以下函数: int fun(int *p) return *p; fun 函数返回值是_。(分数:2.50)A.一个整数B.不确定的值C.形参 p 中存放的值D.形参 p 的地址值11.以下叙述中错误的是_。(分数:2.50)A.用户定义的函数中可以没有 return 语句B.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D.函数的 return 语句中可以没有表达式12.若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回一个函数值,以下选
8、项中错误的程序是_。(分数:2.50)A.main ( ) . x=fun(2,10); .float fun(int a,int B) .B float fun (int a,intB.t .main( ). x=fun(i,j); .C.float fun(int ,int);main ( ) . x=fun(2,10); .float fun(int a,int ).D.main( ) float fun(int i,int j);. x=fun(i,j); .float fun(int a,int B) .13.有以下程序: #include stdio.h void fun( int
9、 a, int b ) int t; t=a; a=b; b=t; main( ) int c10 = 1,2,3,4,5,6,7,8,9,0, i; for (i=0; i10; i+ =2) fun(ci, ci+1); for (i=0;i10; i+ +) printf(“%d,“, ci); printf( “ /n“ ); 程序的运行结果是_。(分数:2.50)A.1,2,3,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,C.0,9,8,7,6,5,4,3,2,1,D.0,1,2,3,4,5,6,7,8,9,14.有以下程序: #include stdio
10、.h double f(double x); main( ) double a=0; int i; for(i=0; i30; i+ =10) a+ =f(double)i); printf(“%3.0f/n“,a); double f(double x) return x*x+1; 程序运行后的输出结果是_。(分数:2.50)A.500B.401C.503D.140415.有以下程序: #include stdio.h main( ) int m=1,n=2,*p= r=p; p=q; q=r; printf(“%d,%d,%d,%d/n“,m,n,*p,*q); 程序运行后的输出结果是_。
11、(分数:2.50)A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,116.有以下程序: #include stdio.h void f(int *q) int i=0; for( ;i5;i+ +)(*q)+ +; main( ) int a5=1,2,3,4,5,i; f(a); for(i=0;i5;i+)printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:2.50)A.6,2,3,4,5,B.2,2,3,4,5,C.1,2,3,4,5,D.2,3,4,5,6,17.有以下程序: #include stdio.h void fun(int *a,in
12、t *b) int * c; c=a; a=b;b=c; main( ) int x=3,y=5,*p= fun(p,q); printf(“%d,%d,“,*p,*q); fun( printf(“%d,%d/n“,*p,*q); 程序运行后的输出结果是_。(分数:2.50)A.3,5,3,5B.3,5,5,3C.5,3,3,5D.5,3,5,318.有以下程序: #include stdio.h void fun(int *a, int n)/* fun 函数的功能是将 a 所指数组元素从大到小排序*/ int t,i,j; for (i=0; in-1;i+) for(j=i+1;jn;
13、j+) if(aiaj) t=ai;ai=aj;aj=t; main( ) int c10=1,2,3,4,5,6,7,8,9,0,i; fun(c+4,6); for(i=0;i10;i+ +) printf(“%d,“,ci); printf(“/n“); 程序的运行结果是_。(分数:2.50)A.1,2,3,4,9,8,7,6,5,0,B.0,9,8,7,6,5,1,2,3,4,C.0,9,8,7,6,5,4,3,2,1,D.1,2,3,4,5,6,7,8,9,0,19.若有以下程序: #include stdio.h void sp(int *a) int b=2; *a=*a*2;
14、printf(“%d,“,*a); a= *a=*a*2; printf(“%d,“,*a); main( ) int k=3; sp( printf(“%d/n“,k); 则程序的输出结果是_。(分数:2.50)A.6,12,12B.6,4,3C.6,4,6D.9,4,920.若有以下程序: #include stdio.h int *f(int *s, int *t) int k; if(*s*t) k=*s; *s=*t; *t=k; return s; main( ) int i=3,j=5, *p= r=f(p,q); printf(“%d,%d,%d,%d,%d/n“,i,j,*p
15、,*q,*r);; 则程序的输出结果是_。(分数:2.50)A.5,3,3,5,5B.3,5,5,3,5C.3,5,3,5,5D.5,3,5,3,521.有以下程序: #include stdio.h int funa(int a,intB)return a+b; int funb(int a,intB)return a-b; int sss(int(*t)(),int x,int y)retllrn(*t)(x,y); main( ) int x; x=sss(funa, 9,3); x+=sss(funb,8,3); printf(“%d/n“,x); 程序运行后的输出结果是_。(分数:2
16、.50)A.24B.23C.17D.2222.有以下程序: #include stdio.h void fun(int a,int b,int c) a=b; b=c; c=a; main( ) int a=10, b=20, c=30; fun(a,b,c); printf(“%d,%d,%d/n“,c,b,a); 程序运行后的输出结果是_。(分数:2.50)A.10,20,30B.30,20,10C.20,30,10D.0,0,023.若有以下函数首部: int fun(double x10, int *n) 则下面针对此函数的函数声明语句中正确的是_。(分数:2.50)A.int fun
17、(double, int);B.int fun(double *, int *);C.int fun(double *x, int n);D.int fun(double x, int *n);24.有以下程序: #include stdio.h int f(int x); main( ) int n=1,m; m=f(f(f(n); printf(“%d/n“,m); int f(int x) return x*2; 程序运行后的输出结果是_。(分数:2.50)A.8B.2C.4D.125.有以下程序: #include stdio.h int fun(int x, int y) if(x!
18、=y) return (x+y)/2); else return (x); main( ) int a=4, b=5, c=6; printf(“%d/n“, fun(2*a,fun(b,c); (分数:2.50)A.6B.3C.8D.1226.有以下程序: #include stdio.h int f(int x,int y) return(y-x)*x); main( ) int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c); printf(“%d/n“,d); 程序运行后的输出结果是_。(分数:2.50)A.7B.10C.8D.927.以下叙述中正确的是_。(分数:2
19、.50)A.如果函数带有参数,就不能调用自己B.所有函数均不能接受函数名作为实参传入C.函数体中的语句不能出现对自己的调用D.函数名代表该函数的入口地址28.设有如下函数定义: #include stdio.h int fun(int k) if(k1) return 0; else if(k= =1) return 1; else return fun(k-1)+1; 若执行调用语句:n=fun(3);,则函数 fun 总共被调用的次数是_。(分数:2.50)A.2B.3C.4D.529.有以下程序: #include stdio.h int f(int x) int y; if(x = =
20、0 | x= =1) return(3); y = x*x -f(x-2); return y; main( ) int z; z=f(3); printf(“%d/n“,z); 程序的运行结果是_。(分数:2.50)A.0B.9C.6D.830.有以下程序: #include stdio.h int fun(int n) if(n= =1) return 1; else return(n+fun(n-1); main( ) int x; seanf(“%d“, x=fun(x); printf(“%d/n“,x); 执行程序时,给变量 X 输入 10,程序的输出结果是_。(分数:2.50)A
21、.55B.54C.65D.4531.有以下程序: #nclude stdio.h void f(int b) int i; for(i=2;i6; i+ +) bi* = 2; main( ) int a10=1,2,3,4,5,6,7,8,9,10,i; f(a); for (i=0; i10; i+ +) printf(“%d,“, ai); 程序运行后的输出结果是_。(分数:2.50)A.1,2,3,4,5,6,7,8,9,10,B.1,2,6,8,10,12,7,8,9,10,C.1,2,3,4,10,12,14,16,9,10,D.1,2,6,8,10,12,14,16,9,10,3
22、2.有以下程序: #include stdio.h void fun2(char a,charB) pfinff(“%c%c“,a,b); char a=“A“, b=“B“; void fun1() a=“C“; b=“D“; main( ) fun1(); printf(“%c%c“,a,b); fun2(“E“,“F“); 程序的运行结果是_。(分数:2.50)A.A B E FB.C D E FC.A B C DD.C D A B33.若有以下程序: #include stdio.h char *a=“you“; char b=“Welcome you to China!“; main
23、( ) int i,j=0; char *p; for (i=0; bi!=“/0“;i + +) if(*a= =bi) p=a; for(j=i; *p!=“/0“;j+ +) if(*p! =bj) break; P+; if(*p= =“/0“) break; printf(“%s“, 则程序的输出结果是_。(分数:2.50)A.China!B.to China!C.me you to China!D.you to China!34.若有以下程序: #include stdio.h char *a=“you“, b=“welcome#you#to#China!“; main( ) t
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 112 答案 解析 DOC
