计算机二级选择题题库及解析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.对于循环队列,下列叙述中正确的是(D )。 A) 队头指针是固定不变的 B) 队头指针一定大于队尾指针 C) 队头指针一定小于队尾指针 D) 队头指针可以大于队尾指针,也可以小于队尾指针 3、参考答案:D 【解析】循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要 进行变化。因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时 也可能小于队尾指针。
【解析】一般较优秀的软wenku.baidu.com设计,应尽量做到高内聚,低耦合,即减弱模块 之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
6.下列选项中不属于结构化程序设计原则的是( A )。 A) 可封装 B) 自顶向下 C) 模块化
D) 逐步求精 6、参考答案:A
【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制 使用goto语句,所以选择A)。
A) 选择 B) 投影 C) 交 D) 并 10、参考答案:D
【解析】在关系T 中包含了关系R与S中的所有元组,所以进行的是并的运算。 11.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述 中正确的是( A )。 A) C语言程序仅可以编译执行 B) C语言程序仅可以解释执行 C) C语言程序既可以编译执行又可以解释执行 D) 以上说法都不对 11、参考答案:A 【解析】解释程序是将源程序(如BASIC)作为输入,解释一句后就提交计算 机执行一句,并不形成目标程序。编译程序是把高级语言(如FORTRAN、COBOL、 Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然 后再让计算机执行这个目标程序,得到计算结果。 12.以下叙述中错误的是( A )。 A) 用户所定义的标识符允许使用关键字 B) 用户所定义的标识符应尽量做到"见名识意" C) 用户所定义的标识符中,大、小写字母代表不同标识 D) 用户所定义的标识符必须以字母或下划线开头 12、参考答案:A 【解析】C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一 个字符必须为字母或下划线,排除D);用户定义标识符中大小写字母之间是有区 别的并且应尽量做到"见名识意",排除选项B)和C);C语言中还规定标识符不能 为C语言的关键字,故选项A)叙述错误,正确答案是选项A)。 13.若有说明语句:char c='\72';则变量c( A )。 A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,c 的值不确定 13、参考答案:A 【解析】C语言的字符型常量中,允许用一种特殊形式的字符常量,就是以 一个""开头的字符。其中,"\ddd"表示用ASCII码(八进制数)表示一个字符,本 题中的char c='\2'即表示占一个字符的变量c的ASCII码值。 14.现有定义int a;double b;float c;char k;,则表达式a/b+c-k值 的类型为( B )。
7.软件详细设计生产的图如下: 该图是( C )
A) N-S图 B) PAD图 C) 程序流程图 D) E-R 图 7、参考答案:C
【解析】N-S图提出了用方框图来代替传统的程序流程图,所以A)不对。PAD 图是问题分析图,它是继承程序流程图和方框图之后提出的又一种主要用于描述 软件详细设计的图形表示工具,所以B)不对。E-R图是数据库中的用于表示E-R 模型的图示工具,所以D)不对。根据图中所示表示方法是进行软件详细设计时使 用的程序流程图。 8.数据库管理系统是( B )。 A) 操作系统的一部分 B) 在操作系统支持下的系统软件 C) 一种编译系统 D) 一种操作系统 8、参考答案:B
3 : n+=k;"得n=5,然后执行default;当k=1时,执行"case 1 : n+= k; case 2 : case 3 : n+=k;"使得n加两次k,得到n=7。
20.有以下程序: #include <stdio.h> main() { int x; scanf("%d",& x); if(x<=3); else if(x!=10) printf("%d\n",x); } 程序运行时,输入的值在哪个范围才会有输出结果( )。 A) 不等于10的整数 B) 大于3且不等10的整数 C) 大于3或等于10的整数 D) 小于3的整数 20、参考答案:B 【解析】if…else控制结构中,else总是与最近的未配对的if匹配。本题的执行 过程为:如果输入整数小于3则不进行任何操作,否则判断是否不等于10,若为 真则进行输出。因此程序输出的数据为大于3且不等于10的整数。
A) int B) double C) float D) char 14、参考答案:B
【解析】双目运算中两边运算量类型转换规律:
15.以下定义语句中正确的是( B )。 A) int a=b=0; B) char A=65+1,b=′b′; C) float a=1,*b=&a,*c=&b; D) double a=0.0;b=1.1 15、参考答案:B
【解析】数据库管理系统是数据库的机构,它是一种系统软件,负责数据库 中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系 统之上的系统软件。
9.在E-R图中,用来表示实体联系的图形是( C )。 A) 椭圆形 B) 矩形 C) 菱形 D) 三角形 9、参考答案:C
【解析】在E-R图中实体集用矩形,属性用椭圆,联系用菱形。 10.有三个关系R、S和T如下:则关系T是由关系R和S通过某种操作得到,该 操作为( D )。
678
11 12 16 则在程序下划线处应填入的语句是( )。 A) i-1 B) i+1 C) i D) 4-i 22、参考答案:C 【解析】此题中嵌套了两个for语句,第一个用来输出空格,第二个用来输出数 字。如此类型的输出某种格式的考题,一般是采用多重循环来解决,需要考生找 出输出数据的特点,并用相对应的数学公式表达出来。 23.以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是( )。 A) if((a>b)&&(b>c))k=1; else k=0; B) if((a>b)‖(b>c))k=1; else k=0; C) if(a<=b)k=0; else if(b<=c)k=1; D) if(a>b)k=1; else if(b>c) k=1; else k=0; 23、参考答案:A 【解析】表达式k=a>b?(b>c?1∶0)∶0表示:如果(a>b)条件为真,则k取 值(b>c?1∶0),否则k取值0;当a>b的情况下,如果b>c,则k值为1,否则为0。 所以该表达式与选项A)功能相同。 24.有以下程序: void ss(char *s,char t) { while(*s) { if(*s==t)*s=t-a+A; s++; } } main() { char str1[100]="abcddfefdbd",c=d; ss(str1,c); printf("%s\n",str1);} 程序运行后的输出结果是( )。 A) ABCDDEFEDBD B) abcDDfefDbD C) abcAAfefAbA D) Abcddfefdbd 24、参考答案:B 【解析】在内存中,字符数据以ASCII码存储,它的存储形式与整数的存储 形式类似。C语言中,字符型数据和整型数据之间可以通用,也可以对字符型数 据进行算术运算,此时相当于对它们的ASCII码进行算术运算,在本题中,s++相 当于s=s+1,即让s指向数组中的下一个元素。 25.现有如下程序段:
17、参考答案:B 【解析】由于在main()函数中,变量 i=4,所以就调用fun(4),则输出"m=
4 k=4"。然后变量k增1等于5,变量i增1等于5,所以main()函数的"printf("i =%d k=%d\n",i,k);"语句输出"i=5 k=5"。
18.在执行下述程序时,若从键盘输入6和8,则结果为( B )。 main() { int a,b,s; scanf("%d%d",&a,&b); s=a ; if(a<b) s=b; s*=s; printf("%d",s); } A) 36 B) 64 C) 48 D) 以上都不对 18、参考答案:B 【解析】本题中a的值为6,b的值为8,最后s的值为8,s*=s等价于s=s*s。 19.有以下程序: main(D) { int k=5,n=0; while(k>0) { switch(k) { default : break; case 1 : n+=k; case 2 : case 3 : n+=k; } k--; } printf("%d\n",n); } 程序运行后的输出结果是( )。 A) 0 B) 4 C) 6 D) 7 19、参考答案:D 【解析】本题考查的是switch语句。在switch语句中,表达式的值与某一个 case后面的常量表达式的值相等时,就执行此case后面的语句,若所有的case中 的常量表达式的值都没有与表达式的值匹配的,就执行default后面的语句,各 个case和default的出现次序不影响执行结果。所以在本题中,当k=5和k=4的 时候,case都没有与其匹配的值,所以执行了default语句;当k=3时,执行"case 3 : n+=k;"得n=3,然后执行default;当k=2时,执行"case 2 : case
4.算法的空间复杂度是指( A )。 A) 算法在执行过程中所需要的计算机存储空间 B) 算法所处理的数据量 C) 算法程序中的语句或指令条数 D) 算法在执行过程中所需要的临时工作单元数 4、参考答案:A
【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以 选择A)。
5.软件设计中划分模块的一个准则是( B )。 A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合 5、参考答案:B
21.有以下程序: #include <stdio.h> main(){ int a=1,b=0; printf("%d,",b=a+b); printf("%d\n",a=2*b)} 程序运行后的输出结果是( )。 A) 0,0 B) 1,0 C) 3,2 D) 1,2 22.有以下程序: main(){ int num[4][4] = {{1,2,3,4} , {5,6,7,8} , {9,10,11,12} , {13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=0;j<=i;j++)printf("%4c", ' '); for(j= ;j<4;j++)printf("%4d",num[i][j]); printf("\n"); } } 若要按以下形式输出数组右上半三角 123 4
【解析】本题考查变量的定义方法。如果要一次进行多个变量的定义,则在 它们之间要用逗号隔开。因此选项A)和D)错误;在选项C)中,变量c是一个浮点 型指针,它只能指向一个浮点型数据,不能指向指针变量b;所以正确答案为B)。
16.若在定义语句int a,b,c,*p=&c;之后,接着执行以下选项中的语句, 则能正确执行的语句是( D )。 A) scanf("%d",a,b,c); B) scanf("%d%d%d",a,b,c); C) scanf("%d", &p); D) scanf("%d", p); 16、参考答案:D
1.下列数据结构中,属于非线性结构的是( C )。 A) 循环队列 B) 带链队列 C) 二叉树 D) 带链栈 1、参考答案:C 【解析】树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。
2.下列数据结构中,能够按照"先进后出"原则存取数据的是( B )。 A) 循环队列 B) 栈 C) 队列 D) 二叉树 2、参考答案:B 【解析】栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据
【解析】scanf函数中的输入项必须是指针,只有选项D)符合这个要求。 17.以下程序的运行结果是( B )。 int k=0; void fun(int m) { m+=k;k+=m;printf("m=%d k=%d ",m,k++);} main() { int i=4; fun(i++); printf("i=%d k=%d\n",i,k); } A) m=4 k=5 i=5 k=5 B) m=4 k=4 i=5 k=5 C) m=4 k=4 i=4 k=5 D) m=4 k=5 i=4 k=5
相关文档
最新文档