【计算机类职业资格】二级C语言笔试-248及答案解析.doc
《【计算机类职业资格】二级C语言笔试-248及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-248及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-248 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.设有如下程序段:int x=2002, y=2003;printf(“ % d/n“, (x, y);则以下叙述中正确的是_。(分数:2.00)A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出B.运行时产生出错信息C.输出值为 2002D.输出值为 20032.若已经定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可
2、以作为一个函数的形参3.以下叙述正确的是_。(分数:2.00)A.构成 C 程序的基本单位是函数B.可以在函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义4.设有定义:int a=2, b=3, c=4;则以下选项中值为 0 的表达式是_。(分数:2.00)A.(! a=1) int i, j;i=sizeof((分数:2.00)A.; j=strlen(a);else return f(n-1)+1;main()int i, j=0;for(i=1; i3; i+)j+=f(i);printf(“% d/n“, j);程序运行后的输出结
3、果是_。(分数:2.00)A.4B.3C.2D.19.程序中对 fun 函数有如下说明:void * fun();此说明的含义是_。(分数:2.00)_10.C 语言中用于结构化程序设计的 3 种基本结构是_。(分数:2.00)A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、for、continue11.以下程序的输出结果是_。int a, b;void fun()a=100;b=200;main()int a=5, b=7;fun();printf(“% d % d /n“, a, b);(分数:1.00)A.100200B
4、.57C.200100D.7512.以下能正确定义二维数组的是_。(分数:1.00)A.int a3;B.int a3=2*3;C.int a3=;D.int a23=1), 2, 3,4;13.以下程序的输出结果是_。long fun(int n)long s;if(n=1 | n=2)s=2;else s=n-fun(n-1);return s;main()printf(“% 1d/n“, fun(3); (分数:1.00)A.1B.2C.3D.414.若有以下程序段(n 所赋值的是八进制数):int m=32767, n=032767;printf(“% d, % o/n“, m, n)
5、;执行后输出结果是_。(分数:1.00)A.32767, 32767B.32767, 032767C.32767, 77777D.32767, 07777715.有以下程序:main()int m=3, n=4, x;x=-m+;x=x+8/+n;printf(“% d/n“, x);程序运行后的输出结果是_。(分数:1.00)A.3B.5C.-1D.-21616.以下定义语句中正确的是_。(分数:1.00)A.char a=A b=B;B.float a=b=19.0;C.int a=10, *b=D.float *a, b=17.以下叙述中错误的是_。(分数:1.00)A.用户所定义的标识
6、符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户所定义的标识符中,大、小写字母代表不同标识18.有以下程序:main()int a33, *p, i;p=for(i=0; i9; 1+)pi=i;for(i=0; i3; i+)printf(“% d“, a1i);程序运行后的输出结果是_。(分数:1.00)A.0 1 2B.1 2 3C.2 3 4D.3 4 519.以下叙述正确的是_。(分数:1.00)A.可以把 define 和 if 定义为用户标识符B.可以把 define 定义为用户标识符,但不能把 if 定义为用户标识
7、符C.可以把 if 定义为用户标识符,但不能把 define 定义为用户标识符D.define 和 if 都不能定义为用户标识符20.数据库设计的根本目标是要解决_。(分数:1.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护21.以下程序的输出结果是_。int f()static int i=0;int s=1;s+=i; i+;return s;main()int i, a=0;for(i=0; i5; i+)a+=f();printf(“% d/n“ ,(分数:2.00)A.;22.s1 和 s2 已正确定义并分别指向两个字符串。若要求:当 s1 所指串大于 s
8、2 所指串时,执行语句 S。则以下选项中正确的是_。(分数:2.00)A.if(s1s2)S;B.if(strcmp(s1, s2)S;C.if(strcmp(s2, s1)0)S;D.if(strcmp(s1, s2)0)S;23.有以下程序:# define P 3yoid F(int x) return(p*x*x); main()printf(“% d/n“, F(3+5); 程序运行后的输出结果是_。(分数:2.00)A.192B.29C.25D.编译出错24.有以下程序:int f(int b4)int i, j, s=0;for(j=0; j4; j+)i=j;if(i2)i=3
9、-j;S+=bij;return s;main()int a44=1, 2, 3, 4, 0, 2, 4, 6, 3, 6, 9, 12, 3, 2, 1, 0;printf(“%d/n“, f((分数:2.00)A.);main()int i;for(i=1; ix; i+)incre();incre()static int x=1;x*=x+1;printf(“ % d“, x);(分数:2.00)A.3 3B.2 2C.2 6D.2 526.有以下程序:main()int m, n, p;scanf(“m=% dn=% dp=% d“, printf(“% d % d % d/n“, m
10、, n, p);若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789,则正确的输入是_。(分数:2.00)A.m=123n=456p=789B.m=123 n=456 p=789C.m=123,n=456,p=789D.123 456 78927.设有以下函数:f(int(分数:2.00)A.int b=0;static int c=3;b+; c+;return(a+b+c);如果在下面的程序28.对于长度为 n 的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是_。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序
11、为 nD.快速排序为 n(n-1)/229.设变量 x 为 float 型且已经赋值,则以下语句中能够将 x 中的数值保留到小数点后面两位,并将第三位四舍五入的是_。(分数:2.00)A.x=x*100+0.5/100.0B.x=(x*100+0.5)/100.0C.x=(int)(x*100+0.5)/100.0D.x=(x/100+0.5)*100.030.以下叙述中错误的是_。(分数:2.00)A.C 语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句31.有以下程序:void swapl(int c0,
12、int c1)int t;t=coo; coo=o1o; c1o=t;void swap2(int * c0, int * c1)int t;t=*c0; *c0=*c1; *c1=t;main()int a2=3, 5, b2=A3, 5);swapl(a, a+1); swap2(printf(“%d%d%d%d/n“, a0, a1, b0,b1);程序运行后的输出结果是_。(分数:2.00)A.3 5 5 3B.5 3 3 5C.3 5 3 5D.5 3 5 332.有如下程序;int func(int a, int b)return(a+b); main()int x=2, y=5,
13、 z=8, r;r=func(func(x, y), z); printf(“% /d/n“, r); 该程序的输出的结果是_。A) 12 B) 13 C) 14 D) 15(分数:2.00)A.B.C.D.33.有以下程序:int a=3;main()int s=0;int a=5; s+=a+ ;s+=a+; printf(“% d/n“, s);程序运行后的输出结果是_。(分数:2.00)A.8B.10C.7D.1134.有定义语句:int a=1, b=2, c=3, x;,则以下选项中各程序段执行后,x 的值不等于 3 的是_。(分数:2.00)A.if(ca)x=1;else if
14、(ba)x=2;else x=3;B.if(a3)x=3;else if(a2)x=2;else x=1;C.if(a3)x=3;if(a2)x=2;if(a1)x=1;D.if(ab)x=b;if(bc)x=c;if(ca)x=a;35.以下程序中函数 setup 的功能是返回形参指针 s1 和 s2 所指字符串中较小字符串的首地址:# includestdio. h# includestring. hchar * scmp(char * s1, char * s2)if(strcmp(s1, s2)0)return(s1);else return(s2);main()int i; char
15、 string20, str320;for(i=0; i3; i+)gets(stri);strcpy(string, scmp(str0, str1);strcpy(string, scmp(string, str2);printf(“% s/n“, string);若运行时依次输入:abcd、abba 和 abc3 个字符串,则输出结果为_。(分数:2.00)A.abcdB.abbaC.abcD.abca36.下列叙述中正确的是_。(分数:2.00)A.软件交付使用后还需要维护B.软件一旦交付使用就不需要维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令37.有以
16、下程序段:int n, t=1, s=0;scanf(“% d“, dos=s+t; t=t-2; )while(t!=n);为使程序不陷入死循环,从键盘输入的数据应该是_。(分数:2.00)A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数38.以下循环体的执行次数是_。main()int i, j;for(i=0, j=1; i=j+1; i+=2, j-)printf(“% d/n“, i);(分数:2.00)A.3B.2C.1D.039.若指针 p 已正确定义,要使 p 指向两个连续的整型动态存储单元,不正确的语句是_。(分数:2.00)A.p=2*(int*)malloc(si
17、zeof(int);B.p=(int*)mallet(2*sizeof(int);C.p=(int*)malloc(2*2);D.p=(int*)calloc(2, sizeof(int);40.有以下程序:main()int a=1, b;for(b=1; b=10; b+)if(a=8)break;if(a % 2=1)a+=5; continue;a-=3;printf(“% d/n“, B) ;程序运行后的输出结果是_。(分数:2.00)A.3B.4C.5D.6二、填空题(总题数:15,分数:30.00)41.诊断和改正程序中错误的工作通常称为 【1】 。(分数:2.00)填空项 1:
18、_42.在关系数据库中,把数据表示成二维表,每一个二维表称为 【2】 。(分数:2.00)填空项 1:_43.下面程序的运行结果: 【3】 。int f(int a, int n)if(n1) return a0+f(else return ao;main()int aa3=1, 2, 3, s;s=f( printf(“% d/n“, s);(分数:2.00)填空项 1:_44.以下函数 rotate 的功能是:将 a 所指 N 行 N 列的二维数组中的最后一行放到 b 所指二维数组的第 0 列中,把 a 所指二维数组中的第 0 行放到 b 所指二维数组的最后一列中,b 所指二维数组中其他数
19、据不变。# define N 4void rotate(int aN, int bN)int i, j;for(i=0; iN; i+)biN-1=a0i; 【4】 =aN-1i;(分数:2.00)填空项 1:_45.有以下程序:main()int t=1, i=5;for(; i=0; i-)t*=i;printf(“% d/n“, t);执行后的输出结果是 【5】 。(分数:2.00)填空项 1:_46.已知字符 A 的 ASCII 代码值为 65,以下程序运行时若从键盘输入:B33回车,则输出结果是 【6】 。# includemain()char a, b;a=getchar(); s
20、canf(“% d“, a=a-A+0; b=b*2;printf(“% c % c/n“, a, b);(分数:2.00)填空项 1:_47.若有以下程序:main()int p, a=5;if(p=a!=0)printf(“% d/n“, p);elseprintf(“% d/n“, p+2);执行后的输出结果是 【7】 。(分数:2.00)填空项 1:_48.以下主程序运行后的输出结果是 【8】 。main()int i, m=0, n=0, k=0;for(i=9; i=ii; i+)switch(i/10)case 0:m+; n+; break;case 10:n+; break;
21、default:k+; n+;printf(“% d % d % d/n“, m, n, k);(分数:2.00)填空项 1:_49.设在主函数中有以下定义和函数调用语句,且 fun 函数为 void 类型;请写出 fun 函数的首部 【9】 ,要求形参名为 b。main()double s1022;int n;fun(s);(分数:2.00)填空项 1:_50.以下程序中,fun 函数的功能是求 3 行 4 列二维数组每行元素中的最大值,请填空。void fun(int, int, int(*)4, int*);main()int a34=12, 41, 36, 28, 19, 33, 15
22、, 27, 3, 27, 19, 1, b3, i;fun(3, 4, a, b);for(1=0; i3; i+)printf(“% 4d“, bi);printf(“/n“);void fun(int m, int n, int ar4, int * bar)int i, j, x;for(i=0; im; i+)x=ari0;for(j=0; jn; j+)if(xarij)x=arij;【10】 =x;(分数:2.00)填空项 1:_51.以下程序的输出结果是 【11】 。# define MCNA(m)2*m# define MCNB(n, m)2*MCRA(n)+m# define
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 248 答案 解析 DOC
