《2020年全国计算机二级等级考试全真模拟试卷及答案(共三套卷).docx》由会员分享,可在线阅读,更多相关《2020年全国计算机二级等级考试全真模拟试卷及答案(共三套卷).docx(129页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2020年全国计算机二级等级考试全真模拟试卷 及答案(共三套)2020年全国计算机二级等级考试全真模拟试卷 及答案(一)(2020.9)1,面向对象方法中,实现对象的数据和操作结合于统一体中的是A)结合B)封装C)隐藏D)抽象参考答案:B2 .在进行逻辑设计时,将E-R图中实体之间联系转换为关系数据库的A)关系B)元组C)属性D)属性的值域参考答案:A3 .线性表的链式存储结构与顺序存储结构相比,链式存储结构的优点 有A)节省存储空间B)插入与删除运算效率高C)便于查找D)排序时减少元素的比较次数参考答案:B4 .深度为7的完全叉树中共有125个结点,则该完全叉树中的叶 子结点数为A) 62B
2、) 63C) 64D) 65参考答案:B5.下列叙述中正确的是A)所谓有序表是指在顺序存储空间内连续存放的元素序列B)有序表只能顺序存储在连续的存储空间内C)有序表可以用链接存储方式存储在不连续的存储空间内D)任何存储方式的有序表均能采用二分法进行查找6.设叉树如下:则后序序列为参考答案:c7 .计算机软件包括A)算法和数据B)程序和数据C)程序和文档D)程序、数据及相关文档参考答案:D8 .下面描述中不属于软件需求分析阶段任务的是A)撰写软件需求规格说明书B)软件的总体结构设计C)软件的需求分析D)软件的需求评审参考答案:B9 .当数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称 为
3、数据的A)逻辑独立性B)物理独立性C)应用独立性D)空间独立性参考答案:A10.有三个关系R、S和T如下:ABCa1b21c31e42Rrn回回Z13ABCa12b21c31d32e42T则由关系R和S得到关系T的操作是A)并B)投影C)交D)选择参考答案:A11 .以下叙述正确的是A) C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.obj 的二进制文件B) C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.exe 的可执行文件C) C编译程序把文件后缀为.obj的二进制文件编译成文件后缀为.exe的可执行文件D)链接程序把文件后缀为.c的源程序文件链接成文件后缀为.exe 的
4、可执行文件参考答案:A12 .以下叙述正确的是A) 循环结构、选择结构、顺序结构都是结构化程序的基本结构B) 计算机可以直接执行C语言程序,不需要做任何转换C) 过于复杂的算法不能使用NS流程图描述D)只有不超过20步操作步骤的算法是简单算法参考答案:A13 .有如下程序#include main()Iint x = 072;printf (X二%d. n”, x+1);程序运行后的输出结果是A) X=115C) X=59.D) X=72.参考答案:C14 .下面叙述正确的是A)任何复杂任务都可以分解成简单子任务B) C语言程序的所有函数只能处于同一个源文件中WErC) 包含全部三种基本结构的
5、程序是结构化程序D) C语言程序可以定义多个不同内容的main函数参考答案:A15 .以下叙述正确的是A) C程序总是以main。作为程序执行的起始行B) main。函数若不带参数,其后面的对圆括号可省略C) 函数体内的定义语句和可执行语句允许任意穿插出现D) C语言中的语句之间必须用分号作为分隔符参考答案:A16 .有以下程序ttinclude main() char c;for (; (c=getchar () !=#; ) putchar (+c);执行时如输入为:abcdefg#回车,则输出结果是A) abcdefgB) bcdefgh$D) bcdefgh参考答案:D17.有以下程序
6、#include main() int a-1, b=0;for(; a5; a+) if (a%2 = 0) break;continue;b += a;printf (,z%d n, b);)程序运行后的输出结果是A) 0B) 1D) 4参考答案:A18.有以下程序#include main()!int x = 0x13;if (x = 0x12) printf(True);printf(Falsen);)程序运行后的输出结果是A) TrueB) TrueFalseD) TrueFalseTrue参考答案:B19 .为了避免在嵌套的if-else语句中产生二义性,C语言规定与else 子句
7、配对是A)与其在同一行上的if子句B)在其之后最近的不带else的if子句C)与其缩排位置相同的if子句D)在其之前最近的不带else的同层if子句参考答案:D20 .有以下程序#include main() int i, a;for (i=0; i=10; i+) a=i;printf (%d, %dn”, i, a);)程序的运行结果是A) 11, 10B) 10, 10C) 10, 11D) 11, 11参考答案:A21.有以下程序ttinclude void fun(int a , int n) int i=0;for (i=0; in; i+)if (i % 2 = 0)ai +=
8、n;main() int c5 = 5,4,3,2,1, i;fun (c, 5);for (i=0;i5; i+) printf (%d, , ci);printf(n);)程序运行后的输出结果是A) 10, _1, 8, _3, 6,B) 5,4, 3,2, 1,C) 10,2,8, 4, 6,D) 5, -1, 3, -3, 1,参考答案:A22.有以下程序#include #define N 4void fun(int a N) int i;for (i=0; iN; i+)a0 i = aN-l N-l-i;)main() int xNN = 1 2, 3, 4,5, 6, 7, 8
9、),9, 10, 11, 12),13, 14, 15,16, i;fun(x);for (i=0; iN; i+) printf (%d, , xi i);printf(n);printf(n);程序运行后的输出结果是A) 16, 6, 11, 16,B) 1,6, 11, 16,C) 4, 7, 10, 13,D) 17, 17, 17, 17, 参考答案:A23.有如下程序#include int convert (int* data)Ireturn (*data) +;)main()iint data = 56;convert(&data);printf (%d, ”, data);d
10、ata = convert (&data);printf(%d, n, data);程序运行后的输出结果是A) 56,57,B) 57,58, 57,57,D) 55, 57,参考答案:C24.设有如下程序段int al = ;int b = 9;char c3 = A, B;char d = 12;以下叙述正确的是A) a, b的定义合法,c, d的定义不合法B) a, b, c, d的定义都是合法的C) a, b,c的定义是合法的,d的定义不合法D)只有a的定义是合法的参考答案:A25 .设有定义:int x-2, *p=&x; float y=3. 0; char z=c;,则立即 进行
11、以下运算有安全隐患的是A) p+;B) x+;C) y+;D) z+;参考答案:A26 .有以下程序#include double fun(double a) double x;x = a - (int)a;return x;)main() double a = 3. 1415; printf (%fn”, fun(a);)程序的运行结果是A) 3.000000B) 3. 141500C) 0.141500D) 0.000000参考答案:B27.有以下程序#include #include char *a = you;char *b = Welcome you to Beijing! main
12、() char *p;P = b;while (*p != *a) p+;p += strlen(a) + 1;printf(%sn, p);)程序运行后的输出结果是A) Beijing!B) you to Beijing!C) Welcome you to Beijing!D) to Beijing!参考答案:D28 .有如下程序#include ttinclude main()printf (%dn, strlen(,0tnA011l/z);程序运行后的输出结果是B) 9C) 7D) 10参考答案:A29 .有如下程序#include int sum(int data) !static i
13、nt init = 1; return init += data;)main()Iint i;for (i=l; i=1; i+) printf (%d, ”, sum(i);程序运行后的输出结果是A) 2,B) 2,3,C) 3,D) 1,参考答案:A30 .有以下程序#include main() char si E = programe , s2 = Language/z;char *pl = si, *p2 = s2;int k;for (k=0; k8; k+)if (*(pl+k) = * (p2+k)printf (如、n, (pl+k);)程序的运行结果是A) grame am
14、e eeB) g a eC) programeD)无输出字符参考答案:A31 .以下针对全局变量的叙述错误的是A)全局变量的作用域是从定义位置开始至源文件结束B)全局变量是在函数外部任意位置上定义的变量C)用extern说明符可以限制全局变量的作用域D)全局变量的生存期贯穿于整个程序的运行期间参考答案:C32 .有以下程序#include #include typedef struct stu #include typedef struct stu char name10;char gender;int score; STU;void f(STU *c) strcpy(c-name, Qian
15、);c-gender = f;c-score = 350;main() STU a = Zhao, m, 290, b;b = a;f(&b);printf (%s, %c, %d, , a. name, a. gender, a. score);printf (z,%s, %c, %dn, b. name, b. gender, b. score);程序运行后的输出结果是A) Zhao, m, 290, Qian, f, 350B) Zhao, m, 290, Qian, m, 290C) Zhao, m, 290, Zhao, m, 290d) Zhao, m, 290, Qian, m,
16、 350参考答案:A33.下面关于编译预处理的命令行,正确的是A) ttdefine PAI 3.14B) #Define Eps 0.00001C) #DEFINE FALSE 0D) #define int INT参考答案:A34.有以下程序 ttinclude #define D(x)2*x+3main()Iint i = 1, j = 2; printf (/%dn,/, D(i+j);程序运行后的输出结果是B) 6C) 9D) 2参考答案:A35 .有以下程序#include ttinclude struct S char name10;);void change (struct S
17、 *data, int value) strcpy(data-name,#);value = 6;main()struct S input;int num = 3;strcpy (input, name, OK);int num = 3;strcpy (input, name, OK);change(&input, num);printf (%s, %dn, input, name, num);程序运行后的输出结果是A) 0K, 6B) #,6C) 0K, 3参考答案:D36 .有如下定义struct st char name12; int age; char sex; std10,*p=st
18、d;以下语句错误的是A) scanf p-age);B) scanf(%s”,std0. name);C) scanf (%d”, &stdl. age)D) scanf (祝,&(psex);参考答案:A37 .有以下程序#include ttinclude void fun(int *s, int x2 3) *s=*(xl+l) ; main () int a2 3 = 1,2, 3, 4, 5,6, *p;p= (int*)malloc(sizeof (int);fun (&p, a);printf (%dn, *p);)程序的运行结果是A) 6B) 2C) 5参考答案:C38 .有如
19、下定义struct st int a; float b; x10;FILE *fp;若文件已正确打开,且数组x的10个元素均已赋值,以下将数组元素写到文件中的语句错误的是A) for(i=0; i10; i+)write(x, sizeof (struct st), 1, fp);B) fwrite(x, 10*sizeof (struct st), 1, fp);C) fwrite(x, sizeof(struct st),10,fp);D) for(i=0; i10 ;i+)fwrite(&xi, sizeof (struct st), 1, fp);参考答案:A39 .有以下程序 tti
20、nclude int disp(char* str) while (*str) putchar(*str+);putchar (#);return *str;)main ()Iprintf(%dn”, disp (C#123);)程序运行后的输出结果是A) C#123#0B) C#1230C) C#0D) C#123#0参考答案:A40 .有以下程序 ttinclude main() int x3 3 = ,,6, i, *q = &x ;for(i=0; i2; i+)if (i = 0)xii+1 = *q+l;else+q;printf (z/%d , *q);)printf(n);程序
21、的运行结果是2020年全国计算机二级等级考试全真模拟试卷及答案(二)1.下列关于算法复杂度叙述正确的是A)最坏情况下的时间复杂度一定高于平均情况的时间复杂度B)时间复杂度与所用的计算工具无关0 对同一个问题,采用不同的算法,则它们的时间复杂度是相同的D)时间复杂度与采用的算法描述语言有关参考答案:B(2020. 9)2.设有栈S和队列Q,初始状态均为空。首先依次将 A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z 入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退 出,则退队元素的顺序为A) DEFXYZABCB) DEFXYZABCC) FEDXYZCBA
22、D) DEFZYXABC参考答案:B(2020. 9)3.下列叙述中正确的是A)有两个指针域的链表称为叉链表B)循环链表是循环队列的链式存储结构0带链的栈有栈顶指针和栈底指针,因此又称为双重链表D)结点中具有多个指针域的链表称为多重链表参考答案:D(2020. 9) 4.某叉树共有845个结点,其中叶子结点有45个,则度为1的结点数为A) 400B) 754 756D)不确定参考答案:C(2020. 9)5.软件需求分析阶段的主要任务是A)确定软件开发方法B)确定软件开发工具0确定软件开发计划D)确定软件系统的功能参考答案:D(2020. 9)6.下面对软件测试描述错误的是A)严格执行测试计划
23、,排除测试的随意性B)随机地选取测试数据0 随机地选取测试数据D)软件测试是保证软件质量的重要手段参考答案:B(2020. 9)7.结构化程序的三种基本控制结构是A)顺序、选择和重复(循环)B)过程、子程序和分程序0顺序、选择和调用D)调用、返回和转移参考答案:A(2020. 9)8.数据库中对概念模式内容进行说明的语言是A)数据定义语言B)数据操纵语言0数据控制语言D)数据宿主型语言参考答案:A(2020. 9)9.某个厂有若干个仓库,每个仓库存放有不同的零 件,相同零件可能放在不同的仓库中。则实体仓库和零件间的联系是A)多对多B) 对多0 多对D) 对参考答案:A(2020. 9) 10.
24、有三个关系R、S和T如下:RSTABCa12b1c31e45d32rnE:ME:EJ巴E:E20则由关系R和S得到关系T的操作是A)交B)差0并D)选择参考答案:A(2020. 9)11.以下叙述正确的是A)计算机只接收由和1代码组成的二进制指令或数据B)计算机只接收由和1代码组成的十进制指令或数据0计算机可直接接收并运行C源程序D)计算机可直接接收并运行任意高级语言编写的源程序参考答案:A(2020. 9) 12.若有C语言表达式2+3*4+773i以下选项中叙述正确的执行顺序是A)先执行3*4得12,再执行7/3得2. 5,最后执行2+12+2. 5得16. 5B)先执行3*4得12,再执
25、行2+12得14,再执行7/3得2,最后执行14+2 得16C)先执行7/3得2,再执行3*4得12,再执行12+2得14,最后执行2+14 得16D)先执行2+3得5,再执行5*4得20,再执行20+7得27,最后执行27/3 得9参考答案:B(2020. 9) 13.若有定义:char c; int d:程序运行时输入: c=l,d=2回车),能把字符1输入给变量c、整数2输入给变量d的输入 语句是A) scanf(c=%d d=%d“, &c, &d);B) scanf(c=%c d=%d, &c, &d);C) scanf (c=%d, d=%d, &c,&d);D) scanf (c
26、=%c, d=%d”, &c, &d);参考答案:D(2020. 9) 14.以下选项中,与n=i+完全等价的表达式是A) n=i, i=i+lB) n+=i+lC) i=i+l, n=iD) n=+i参考答案:A(2020. 9)15.设有定义:int n = 1234;double x = 3.1415;则语句printf 3d, %1. 3fn”, n, x);的输出结果是A) 1234, 3. 142B) 123, 3. 142C) 1234, 3. 141D) 123, 3. 141参考答案:A(2020. 9) 16.有以下程序#include main ()int a, b;fo
27、r (a=0; a3; a+) scanf (%d, &b);switch (b) default: printf(%d, , +b);case 1: printf (%d, , +b);case 2: printf (%d, , +b);执行时输入:1 2 3回车,则输出结果是A) 2, 2, 3, 4, 4, 4,B) 2, 3, 4,C) 2, 3, 3, 4, 5, 6,D) 2, 3, 4, 3, 4, 4,参考答案:C(2020. 9) 17.设变量m为float类型,变量n为int类型,则以下能实现 将m中的数值保留小数点后两位,第三位进行四舍五入运算的表达式 是A) m=(m*
28、 100+0. 5)/100.0B) n=m* 100+0. 5, m=n/100. 0C) n=m/100+0. 5, m=n*100. 0D) m=m* 100+0. 5/100. 0参考答案:B(2020. 9) 18.有以下程序#include main () int a = 1, b = 1;for( ; a;)b;printf (/,%d, %dnz/, a, b);程序运行后的输出结果是A) -1,0B) 0,0C) -1, -1D) 1, 1参考答案:A(2020. 9) 19.若有定义:char s30 = 0;运行时输入:This is a string. 回车则以下不能正
29、确读入整个字符串:This is a string.到字符数组s中的语句组是A) i = 0;while (c=getchar ()!=n) si+ = c;B) gets(s);C) for (i=0; (c=getchar() != n ; i+) si = c;D) scanf(%s, s);参考答案:D(2020. 9) 20.有如下程序#include main ()int a = 0, b = 1;if (a+ & b+)printf(TRUE);elseprintf(FALSE);printf (_OUT:a=%d, b=%dn, a, b);程序运行后的输出结果是printf(
30、FALSE);printf ( OUT:a=%d, b=%dn, a, b);程序运行后的输出结果是A) FALSE_OUT:a=l,b=lB) FALSE_OUT:a=O, b=2C) TRUE_0UT:a=l,b=2D) TRUE_OUT:a=O, b-1参考答案:A(2020. 9) 21.有如下程序include main ()int i, data;scanf(%d”, &data);for (i=0; i5; i+)|if (i data) continue;printf (%d-,i);程序运行时,从键盘输入:3回车后,程序输出结果为A) 3-4B) 1-2-3- 0-1-2-D
31、) 0T-2-3-参考答案:A(2020. 9) 22.有以下程序ttinclude main ()int a = 0, b = 1;if (+a = b+)printf (1);elseprintf (”);printf (a=%d, b=%dn, a, b);程序运行后的输出结果是A) la=0, b=lB) 0a=l,b=2C) la=l,b=2D) Oa-O, b=2参考答案:C(2020. 9) 23.有如下程序段for (i=0; i5) break;则循环结束后i的值为A) 10B) 5C) 9D) 6参考答案:D(2020. 9) 26.有以下程序段int x , i ;for
32、(i=l;i=100;i+) scanf &x);if(x=0时没有任何输出D) printf函数调用语句总是被跳过参考答案:A(2020. 9) 27.关于地址和指针,以下说法正确的是A)通过强制类型转换可以将一种类型的指针变量赋值给另种类 型的指针变量B)可以取个常数的地址赋值给同类型的指针变量0可以取一个表达式的地址赋值给同类型的指针变量D)可以取个指针变量的地址赋值给基类型相同的指针变量参考答案:A(2020. 9) 28.有以下程序#include #define N 4void fun(int aN)Iint i;for(i=0; iN; i+)ai += aN-lN-l-i;)m
33、ain () int xNN = 1, 2, 3, 4,5, 6, 7, 8),9, 10, 11, 12),13, 14, 15, 16, i;fun(x);for (i=0; iN; i+) printf (%d, , xi i);程序运行后的输出结果是A) 4, 7, 10, 13,B) 1,6, 11, 16, 17,6, 11, 16,D) 5, 13,21,29,参考答案:C(2020. 9)29.关于C语言函数说明的位置,以下叙述正确的是A)在函数说明之后对该函数进行调用,编译时不会出现错误信息B)函数说明可以出现在源程序的任意位置,在程序的所有位置对该 函数的调用,编译时都不会
34、出现错误信息0 函数说明只能出现在源程序的开头位置,否则编译时会出现错误 信息D)函数说明只是为了美观和编译时检查参数类型是否一致,可以写 也可以不写参考答案:A(2020. 9)30.以下叙述正确的是A)不能在数组说明符的对方括号中使用表达式B) char cl, *c2, *c3, c42;是C语言的合法语句0数组下标的最小值可以是负值D)若有数组定义int array 5:则语句printf (%d, array 1. 23);是合法的参考答案:B(2020. 9)31.有以下程序#include main ()int a = 2, *ptr;ptr = &a;*ptr = 8;a =
35、(*ptr) +;printf (%d, %dn”, a, *ptr);程序运行后的输出结果是A)9,9B)8,9C) 2,4D) 0,4参考答案:A(2020. 9) 32.有以下程序ftinclude main ()int i, *ptr;int array4 = 0, 1;for (ptr=array, i=0; i3; i+, ptr+) (if (*ptr = 0)putchar ();elseputchar (M + *ptr);printf (n);程序运行后的输出结果是A) MO#B) #F#C) MMMD) #N#参考答案:D(2020. 9)33.有以下程序段:int m2
36、 3, (*p) 3;p=m;则以下对m数组元素的引用正确的是A) (p+1) 0B) *(* (p+2)+l)D) pl+2参考答案:C(2020. 9) 34.有以下程序#include char *a = you;char *b = Welcome you to Beijing! main () char *p;P = b;while (*p != *a) p+;printf(%sn, p);)程序运行后的输出结果是A) you to Beijing!B) to Beijing!C) Welcome you to Beijing!D) Beijing!参考答案:A(2020. 9) 35
37、.有以下程序ttinclude void f(int x,int n) if (n 1) printf (%d, ”, xn-l);f (x, n-1);printf (%d, , xn-l);)elseprintf (%d, , x0);)main ()int z3 = 1, 2, 3;f (z, 3);printf(n);)程序运行后的输出结果是A) 3,1,3,B) 3,2,1,2, 3,01,2,3, 1,2, 3,D)1,2,3,2, 1,(2020. 9)36.有以下程序#include int a = 2;int f (int k) static int n;int m;m =
38、n - 0;n+; a+; m+; k+;return n+m+a+k;main () int k;for (k=0; k2; k+) printf (%d, ”, f (k); printf(n);)程序运行后的输出结果是A) 6, 8,B) 6, 9,0 6,6,D) 6, 7,参考答案:A(2020. 9)37.有以下程序ttinclude int sum(int* array, int len)if (len = 1)return array1;elsereturn array1 + sum(array+l, len-1);)main ()Iint array 5 = 0, 9, 1,
39、2, res;res = sum (array, 3);printf(%dn , res);)程序运行后的输出结果是A) 27C) 8D) 12参考答案:D(2020. 9) 38.有以下程序#include main () char s10 = verygood, *ps = s;ps =s4 二,、;puts (ps);)程序的运行结果是C) veryD) good参考答案:A(2020. 9)39.以下叙述中错误的是A)函数中的形参属于局部变量B)在函数内部定义的变量只能在本函数范围内使用0在函数外部定义的变量在所有函数中都有效D)在不同的函数中可以使用相同名字的变量参考答案:C(2020. 9) 40.有以下程序#include main () FILE *fp;int i, a6 = 1, 2, 3,