【计算机类职业资格】二级C语言笔试310及答案解析.doc
《【计算机类职业资格】二级C语言笔试310及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试310及答案解析.doc(17页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 310 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.设有定义: int a=2, b=3, c=4; 则以下选项中值为 0 的表达式是_。(分数:2.00)A.(! a=1) for(j=0; j4; j+) i=j; if(i2)i=3-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(a); 执行后的输出结果是_。(分数:2.00)A.12B.11C.18
2、D.163.以下叙述正确的是_。(分数:2.00)A.构成 C 程序的基本单位是函数B.可以在函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义4.有以下程序: main() int m, n, p; scanf(“m=% dn=% dp=% d“, printf(“% d % d % d/n“, m, n, p); 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789,则正确的输入是_。(分数:2.00)A.m=123n=456p=789B.m=123 n=456 p=789C.m=123,n=4
3、56,p=789D.123 456 7895.以下叙述正确的是_。(分数:2.00)A.可以把 define 和 if 定义为用户标识符B.可以把 define 定义为用户标识符,但不能把 if 定义为用户标识符C.可以把 if 定义为用户标识符,但不能把 define 定义为用户标识符D.define 和 if 都不能定义为用户标识符6.以下叙述中错误的是_。(分数:2.00)A.C 语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句7.若有以下程序段(n 所赋值的是八进制数): int m=32767, n=
4、032767; printf(“% d, % o/n“, m, n); 执行后输出结果是_。(分数:2.00)A.32767, 32767B.32767, 032767C.32767, 77777D.32767, 0777778.以下程序中函数 setup 的功能是返回形参指针 s1 和 s2 所指字符串中较小字符串的首地址: # includestdio. h # includestring. h char * scmp(char * s1, char * s2) if(strcmp(s1, s2)0) return(s1); else return(s2); main() int i; c
5、har 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.abca9.有如下程序; int func(int a, int b) return(a+b); main() int x=2, y=5, z=8, r; r=func(func(
6、x, y), z); printf(“% /d/n“, r); 该程序的输出的结果是_。 A) 12 B) 13 C) 14 D) 15(分数:2.00)A.B.C.D.10.有以下程序: 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.611.设有以下函数: f(int a) int b=0; static int c=3; b+; c+; return(a+b+c
7、); 如果在下面的程序中调用该函数,则输出结果是_。 main() int a=2, i; for(i=0; i3; i+)printf(“% d/n“, f(a); (分数:1.00)A.7 8 9B.7 9 11C.7 10 13D.7 7 712.C 语言中用于结构化程序设计的 3 种基本结构是_。(分数:1.00)A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、for、continue13.有定义语句:int a=1, b=2, c=3, x;,则以下选项中各程序段执行后,x 的值不等于 3 的是_。(分数:1.00)
8、A.if(cx=1; else if(bx=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(ax=b; if(bx=c; if(cx=a;14.下列叙述中正确的是_。(分数:1.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理效率15.若指针 p 已正确定义,要使 p 指向两个连续
9、的整型动态存储单元,不正确的语句是_。(分数:1.00)A.p=2*(int*)malloc(sizeof(in);B.p=(int*)mallet(2*sizeof(in);C.p=(int*)malloc(2*2);D.p=(int*)calloc(2, sizeof(in);16.以下程序的输出结果是_。 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.417.以下叙述中错误的是_。(分数:1
10、.00)A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户所定义的标识符中,大、小写字母代表不同标识18.有以下程序: int a=3; main() int s=0; int a=5; s+=a+ ; s+=a+; printf(“% d/n“, s); 程序运行后的输出结果是_。(分数:1.00)A.8B.10C.7D.1119.数据库设计的根本目标是要解决_。(分数:1.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护20.下列叙述中正确的是_。(分数:1.00)A.软件交付使用后
11、还需要维护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“ , a); (分数:2.00)A.20B.24C.25D.1522.有以下程序: void swapl(int c0, int c1) int t; t=coo; coo=o1o; c1o=t; void swap2(int *
12、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 323.以下定义语句中正确的是_。(分数:2.00)A.char a=A b=B;B.float a=b=19.0;C.int a=10, *b=D.float *a, b=24.设有如下程序段: int x=2002
13、, y=2003; printf(“ % d/n“, (x, y); 则以下叙述中正确的是_。(分数:2.00)A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出B.运行时产生出错信息C.输出值为 2002D.输出值为 200325.以下能正确定义二维数组的是_。(分数:2.00)A.int a3;B.int a3=2*3;C.int a3=;D.int a23=1), 2, 3,4;26.若已经定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可
14、以作为一个函数的形参27.以下程序的输出结果是_。 int x=3; 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 528.有以下程序段: int n, t=1, s=0; scanf(“% d“, dos=s+t; t=t-2; )while(t!=n); 为使程序不陷入死循环,从键盘输入的数据应该是_。(分数:2.00)A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数29.设变量 x 为 fl
15、oat 型且已经赋值,则以下语句中能够将 x 中的数值保留到小数点后面两位,并将第三位四舍五入的是_。(分数:2.00)A.x=x*100+0.5/100.0B.x=(x*100+0.5)/100.0C.x=(in(x*100+0.5)/100.0D.x=(x/100+0.5)*100.030.对于长度为 n 的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是_。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/231.以下循环体的执行次数是_。 main() int i, j; for(i=0, j=1; i=j+1; i
16、+=2, j-)printf(“% d/n“, i); (分数:2.00)A.3B.2C.1D.032.程序中对 fun 函数有如下说明: void * fun(); 此说明的含义是_。(分数:2.00)A.fun 函数无返回值B.fun 函数的返回值可以是任意的数据类型C.fun 函数的返回值是无值型的指针类型D.指针 fun 指向一个函数,该函数无返回值33.有以下程序: # define P 3 yoid F(int x) return(p*x*x); main() printf(“% d/n“, F(3+5); 程序运行后的输出结果是_。(分数:2.00)A.192B.29C.25D.
17、编译出错34.以下程序的输出结果是_。 int a, b; void fun() a=100; b=200; main() int a=5, b=7; fun(); printf(“% d % d /n“, a, b); (分数:2.00)A.100200B.57C.200100D.7535.有以下程序: main() char a7=“a0/0a0/0“; int i, j; i=sizeof(a); j=strlen(a); printf(“% d % d/n“, i, j); 程序运行后的输出结果是_。(分数:2.00)A.2 2B.7 6C.7 2D.6 236.有以下程序: main
18、() int m=3, n=4, x; x=-m+; x=x+8/+n; printf(“% d/n“, x); 程序运行后的输出结果是_。(分数:2.00)A.3B.5C.-1D.-21637.有以下程序: main() int a33, *p, i; p= for(i=0; i9; 1+)pi=i; for(i=0; i3; i+)printf(“% d“, a1i); 程序运行后的输出结果是_。(分数:2.00)A.0 1 2B.1 2 3C.2 3 4D.3 4 538.s1 和 s2 已正确定义并分别指向两个字符串。若要求:当 s1 所指串大于 s2 所指串时,执行语句 S。则以下选
19、项中正确的是_。(分数: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;39.以下叙述中正确的是_。(分数:2.00)A.调用 printf 函数时,必须要有输出项B.调用 putchar 函数时,必须在之前包含头文件 stdi hC.在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出D.调用 getchar 函数读人字符时,可以从键盘上输入字符所对应的 ASCII 码40.有以下程序: int f(int n) if(n=1)retuxn 1; else ret
20、urn f(n-1)+1; main() int i, j=0; for(i=1; i3; i+)j+=f(i); printf(“% d/n“, j); 程序运行后的输出结果是_。(分数:2.00)A.4B.3C.2D.1二、B填空题/B(总题数:15,分数:30.00)41.诊断和改正程序中错误的工作通常称为U 【1】 /U。(分数:2.00)填空项 1:_42.在关系数据库中,把数据表示成二维表,每一个二维表称为U 【2】 /U。(分数:2.00)填空项 1:_43.下面程序的运行结果:U 【3】 /U。 int f(int a, int n) if(n1) return a0+f( e
21、lse 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 所指二维数组中其他数据不变。 # define N 4 void rotate(int aN, int bN) int i, j; for(i=0; iN; i+) biN-1=a0i;U 【4】 /U=aN-1i; (分数:2.0
22、0)填空项 1:_45.有以下程序: main() int t=1, i=5; for(; i=0; i-)t*=i; printf(“% d/n“, t); 执行后的输出结果是U 【5】 /U。(分数:2.00)填空项 1:_46.已知字符 A 的 ASCII 代码值为 65,以下程序运行时若从键盘输入:B33回车,则输出结果是U 【6】 /U。 # include main() char a, b; a=getchar(); scanf(“% d“, a=a-A+0; b=b*2; printf(“% c % c/n“, a, b); (分数:2.00)填空项 1:_47.若有以下程序:
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 310 答案 解析 DOC
