计算机二级选择题试题库.pdf

上传人:赵** 文档编号:42136547 上传时间:2022-09-14 格式:PDF 页数:13 大小:651.92KB
返回 下载 相关 举报
计算机二级选择题试题库.pdf_第1页
第1页 / 共13页
计算机二级选择题试题库.pdf_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《计算机二级选择题试题库.pdf》由会员分享,可在线阅读,更多相关《计算机二级选择题试题库.pdf(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-选择题题库1.以下数据构造中,属于非线性构造的是(A)循环队列B)带链队列C)二叉树D)带链栈)。1、参考答案:C【解析】树是简单的非线性构造,所以二叉树作为树的一种也是一种非线性构造。2.以下数据构造中,能够按照先进后出原则存取数据的是()。A)循环队列B)栈C)队列D)二叉树2、参考答案:B【解析】栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据3.对于循环队列,以下表达中正确的选项是()。A)队头指针是固定不变的B)队头指针一定大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针3、参考答案:D【解析】循环队列的队头指针与队尾指针都不是固

2、定的,随着入队与出队操作要进展变化。因为是循环利用的队列构造所以对头指针有时可能大于队尾指针有时也可能小于队尾指针。4.算法的空间复杂度是指()。A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数4、参考答案:A【解析】算法的空间复杂度是指算法在执行过程中所需要的存空间。所以选择A)。5.软件设计中划分模块的一个准则是()。A)低聚低耦合B)高聚低耦合C)低聚高耦合D)高聚高耦合5、参考答案:B【解析】一般较优秀的软件设计,应尽量做到高聚,低耦合,即减弱模块之间的耦合性和提高模块的聚性,有利于提高模块的独立性

3、。6.以下选项中不属于构造化程序设计原则的是()。A)可封装B)自顶向下C)模块化D)逐步求精.z.-6、参考答案:A【解析】构造化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用 goto语句,所以选择A)。7.软件详细设计生产的图如下:该图是()A)NS图B)PAD图C)程序流程图D)ER 图7、参考答案:C【解析】NS图提出了用方框图来代替传统的程序流程图,所以A)不对。PAD图是问题分析图,它是继承程序流程图和方框图之后提出的又一种主要用于描述软件详细设计的图形表示工具,所以B)不对。ER图是数据库中的用于表示ER模型的图示工具,所以D)不对。根据图中所示表示方法是进展软件详细

4、设计时使用的程序流程图。8.数据库管理系统是()。A)操作系统的一局部B)在操作系统支持下的系统软件C)一种编译系统D)一种操作系统8、参考答案:B【解析】数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据效劳等。是一种在操作系统之上的系统软件。9.在ER图中,用来表示实体联系的图形是()。A)椭圆形B)矩形C)菱形D)三角形9、参考答案:C【解析】在ER图中实体集用矩形,属性用椭圆,联系用菱形。10.有三个关系R、S和T如下:则关系T是由关系R和S通过*种操作得到,该操作为()。A)选择B)投影C)交D)并10、参考答案:D【解析】在关

5、系T 中包含了关系R与S中的所有元组,所以进展的是并的运算。11.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下表达中正确的选项是()。A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对11、参考答案:A.z.-【解析】解释程序是将源程序(如BASIC)作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。编译程序是把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进展翻译转换,产生出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果。12.以下表达中错误的选项是()。

6、A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到见名识意C)用户所定义的标识符中,大、小写字母代表不同标识D)用户所定义的标识符必须以字母或下划线开头12、参考答案:A【解析】C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线,排除D);用户定义标识符小写字母之间是有区别的并且应尽量做到见名识意,排除选项B)和C);C语言中还规定标识符不能为C语言的关键字,应选项A)表达错误,正确答案是选项A)。13.假设有说明语句:char c72A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c;则变量c()。的值不确定13、参考答案:

7、A【解析】C语言的字符型常量中,允许用一种特殊形式的字符常量,就是以一个开头的字符。其中,ddd表示用ASCII码(八进制数)表示一个字符,此题中的charc2即表示占一个字符的变量c的ASCII码值。14.现有定义int a;double b;float c;char k;,则表达式a/bck值的类型为()。A)intB)doubleC)floatD)char14、参考答案:B【解析】双目运算中两边运算量类型转换规律:15.以下定义语句中正确的选项是()。A)int ab0;B)char A651,bb;C)float a1,*b&a,*c&b;.z.-D)double a0.0;b1.11

8、5、参考答案:B【解析】此题考察变量的定义方法。如果要一次进展多个变量的定义,则在它们之间要用逗号隔开。因此选项A)和D)错误;在选项C)中,变量c是一个浮点型指针,它只能指向一个浮点型数据,不能指向指针变量b;所以正确答案为B)。16.假设在定义语句int a,b,c,*p&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()。A)scanf(%d,a,b,c);B)scanf(%d%d%d,a,b,c);C)scanf(%d,&p);D)scanf(%d,p);16、参考答案:D【解析】scanf函数中的输入项必须是指针,只有选项D)符合这个要求。17.以下程序的运行结果是()。i

9、nt k0;void fun(int m)mk;km;printf(m%d k%d,m,k);main()int i4;fun(i);printf(i%d k%dn,i,k);A)m4k5i5k5B)m4k4i5k5C)m4k4i4k5D)m4k5i4k517、参考答案:B【解析】由于在main()函数中,变量i4,所以就调用fun(4),则输出m4k4。然后变量k增1等于5,变量i增1等于5,所以main()函数的printf(i%dk%dn,i,k);语句输出i5k5。18.在执行下述程序时,假设从键盘输入6和8,则结果为()。main()int a,b,s;scanf(%d%d,&a,&

10、b);sa;if(a0)switch(k)default:break;case 1:nk;case 2:case 3:nk;k;printf(%dn,n);程序运行后的输出结果是()。A)0B)4C)6D)719、参考答案:D【解析】此题考察的是switch语句。在switch语句中,表达式的值与*一个case后面的常量表达式的值相等时,就执行此case后面的语句,假设所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行default后面的语句,各个case和default的出现次序不影响执行结果。所以在此题中,当k5和k4的时候,case都没有与其匹配的值,所以执行了defaul

11、t语句;当k3时,执行case 3:nk;得n3,然后执行default;当k2时,执行case 2:case 3:nk;得n5,然后执行default;当k1时,执行case 1:nk;case2:case 3:nk;使得n加两次k,得到n7。20.有以下程序:*include main()int*;scanf(%d,&*);if(*3);elseif(*!10)printf(%dn,*);程序运行时,输入的值在哪个围才会有输出结果()。A)不等于10的整数B)大于3且不等10的整数C)大于3或等于10的整数D)小于3的整数20、参考答案:B【解析】ifelse控制构造中,else总是与最近

12、的未配对的if匹配。此题的执行过程为:如果输入整数小于3则不进展任何操作,否则判断是否不等于10,假设为真则进展输出。因此程序输出的数据为大于3且不等于10的整数。21.有以下程序:*include.z.-main()int a1,b0;printf(%d,bab);printf(%dn,a2*b)程序运行后的输出结果是()。A)0,0B)1,0C)3,2D)1,222.有以下程序:main()int num441,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j;for(i0;i4;i)for(j0;ji;j)printf(%4c,);for(j;jb?(bc

13、?1:0):0;功能一样的是()。A)if(ab)&(bc)k1;else k0;B)if(ab)(bc)k1;else k0;C)if(ab)k0;else if(bb)k1;else if(bc)k1;else k0;23、参考答案:A【解析】表达式kab?(bc?10)0表示:如果(ab)条件为真,则k取值(bc?10),否则k取值0;当ab的情况下,如果bc,则k值为1,否则为0。所以该表达式与选项A)功能一样。24.有以下程序:.z.-void ss(char*s,char t)while(*s)if(*st)*staA;s;main()char str1100abcddfefdbd

14、,cd;ss(str1,c);printf(%sn,str1);程序运行后的输出结果是()。A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd24、参考答案:B【解析】在存中,字符数据以ASCII码存储,它的存储形式与整数的存储形式类似。C语言中,字符型数据和整型数据之间可以通用,也可以对字符型数据进展算术运算,此时相当于对它们的ASCII码进展算术运算,在此题中,s相当于ss1,即让s指向数组中的下一个元素。25.现有如下程序段:*include stdio.hmain()int k3012,324,45,6,768,98,21,34,4

15、53,456;int count0,i0;while(ki)if(ki%20|ki%50)count;i;printf(%d,%dn,count,i);则程序段的输出结果为()。A)7,8B)8,8C)7,10D)8,1025、参考答案:D【解析】在C语言中,定义一维数组的语句一般形式如下:类型名数组名常量表达式;一维数组的引用形式为:数组名下标表达式。count表示能被2整除或被5整除的个数,i则计算有多少个数组元素。26.以下程序运行后的输出结果是()。*includevoid f(char*s,char*t)char k;k*s;*s*t;*tk;s;t;if(*s)f(s,t);.z.

16、-main()char str10wele,*p;pstrstrlen(str)/21;f(p,p2);printf(%sn,str);A)eelwB)weoclmeC)weleD)emoclew26、参考答案:D【解析】该程序中f函数的功能是交换两个位置字符的值,f函数共调用3次,依次更改了字符串中l和o、e和m、w和e的值,因此更改后的字符串的值是emoclew。27.设有如下程序段:int*2004,y2008;printf(%dn,(*,y);则以下表达中正确的选项是A)输出值为2004B)输出值为2008C)运行时产生出错信息D)输出语句中格式说明符的个数少于输出项的个数,不能正确输

17、出27、参考答案:B【解析】(*,y)考察逗号表达式,逗号运算符的结合性为从左到右,因此,最后一个表达式的值就是此逗号表达式的值,因此选项B)正确。28.有以下程序:*include void fun(char*c,int d)*c*c1;dd1;printf(%c,%c,*c,d);main()char ba,aA;fun(&b,a);printf(%c,%cn,b,a);程序运行后的输出结果是()。A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B28、参考答案:A【解析】函数fun的第一个参数传指针,可以将更改后的值传回调用函数,第二个参数传值,不能将更改后的值传回

18、调用函数,应选A)。29.有以下程序:*include*include main()char a10abcd;.z.-printf(%d,%dn,strlen(a),sizeof(a);程序运行后的输出结果是()。A)7,4B)4,10C)8,8D)10,1029、参考答案:B【解析】strlen()用来返回字符串的长度,而sizeof()返回的是一个对象或者类型所占的存字节数,即数组所占的存。30.假设有定义int a23;,则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为()。A)*(*(ai)j)B)(ai)jC)*(aij)D)*(ai)j30、参考答案:A【解

19、析】此题考察了二维数组元素的引用方法。选项A)中ai指向了数组a的第i1行,*(ai)则是第i1行第0列的地址值,*(ai)j指向了数组a第i1行,j1列,*(*(ai)j)取到的是数组a的aij元素。31.有以下程序:*include main()char c1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,&c1,&c2,&c3,&c4);c5getchar();c6getchar();putchar(c1);putchar(c2);printf(%c%cn,c5,c6);程序运行后,假设从键盘输入(从第1列开场)12345678则输出结果是()A)1267B)1256C)1

20、278D)124531、参考答案:D【解析】putchar(c1)输出1,putchar(c2)输出2,printf(%c%cn,c5,c6)输出45。32.以下程序的运行结果是()。*include int a1;int f(int c)static int a2;cc1;.z.-return(a)c;main()int i,k0;for(i0;i2;i)int a3;kf(a);ka;printf(%dn,k);A)17B)16C)15D)1432、参考答案:D【解析】fun函数语句return(a)c;中访问的a,是其部定义的静态局部变量,main函数中语句kf(a)访问的a是其局部变量

21、,所以两次调用实际上都是调用f(3)。第一次调用时,fun函数中c4,表达式(a)c的值为6,a递增为3,k6。第二次调用时,fun函数中c4,表达式(a)c的值为7,a递增为4,k6713。语句ka中的a是全局变量,所以k13114。33.设有定义:int n10,n2,*p&n2,*q&n1;,以下赋值语句中与n2n1;语句等价的是()。A)*p*q;B)pq;C)*p&n1;D)p*q;33、参考答案:A【解析】此题考察的是指针变量的赋值。题目中各变量定义后,指针变量p指向了变量n2所在的存储单元,指针变量q指向了变量n1所在的存储单元,要使得n1的值赋给n2,可用指针变量q所指向的存储

22、单元的值赋给指针变量p所指向的存储单元,即*p*q。34.设有如下说明:typedef struct STlong a;int b;char c2;NEW;以下说确的是()。A)NEW是一个构造体变量B)NEW是一个构造体类型C)ST是一个构造体类型D)以上说明形式非法34、参考答案:B【解析】以上形式定义NEW表示ST的构造类型,然后可以用NEW来说明构造体变量。因此选项B)正确35.有以下程序:*include*include typedef struct char name9;char se*;float score2;STU;.z.-void f(STU a)STU bZhao,m,8

23、5.0,90.0;int i;strcpy(a.name,b.name);a.se*b.se*;for(i0;i2;i)a.scoreib.scorei;main()STU cQian,f,95.0,92.0;f(c);printf(%s,%c,%2.0f,%2.0fn,c.name,c.se*,c.score0,c.score1);程序的运行结果是()。A)Qian,f,95,92B)Qian,m,85,90C)Zhao,f,95,92D)Zhao,m,85,9035、参考答案:A【解析】此题考察的是函数调用时的参数传递以及构造体变量的引用的问题。程序在调用函数f时,传给函数f的参数只是构造

24、变量c在栈中的一个拷贝,函数f的所有操作只是针对这个数据拷贝进展的修改,这些都不会影响变量c的值。36.有以下程序:*include*defineN 4void fun(int aN,int b)int i;for(i0;iN;i)biaii;main()int*N1,2,3,4,5,6,7,8,9,10,yN,i;fun(*,y);for(i0;iN;i)printf(%d,yi);printf(n);程序的运行结果是()。A)1,2,3,4,B)1,0,7,0,C)1,4,5,9,D)3,4,8,10,36、参考答案:B【解析】该题目中fun函数的功能是将二维数组a中符合条件的值赋给一维数

25、组的符合条件的元素。主函数的功能是将符合条件的一维数组的元素进展输出。37.有以下程序:*includeint fun(int*,int y)if(*!y)return(*y)/2);else return(*);.z.-main()int a4,b5,c6;printf(%dn,fun(2*a,fun(b,c);程序运行后的输出结果是()。A)3B)6C)8D)1237、参考答案:B【解析】此题中对函数fun()进展了嵌套的调用。首先调用fun(5,6),返回值为5,2*a的值为8,然后调用fun8,5,最终输出值为6.38.假设*是int型变量,且有下面的程序片段:for(*3;*6;*)

26、printf(*%2)?(*%d):(*%dn),*);上面程序片段的输出结果是()。A)*3*4*5B)*3*4*5C)*3*4*5D)*3*4*538、参考答案:B【解析】&按位与,如果两个相应的二进制位都为1,则该位的结果值为1,否则为0。|按位或,两个相应的二进制位中只要有一个为1,该位的结果值为1。2的二进制为00000010,4的二进制为00000100,所以做或运算结果为 00000110,该数与5即00000101做与操作结果为00000100,即4。39.有以下程序:*include*define N 5*define M N1*define f(*)(*M)main()int i1,i2;i1f(2);i2f(11);printf(%d%dn,i1,i2);程序的运行结果是()。A)12 12.z.-B)11 7C)11 11D)12 740.有以下程序:*includemain()unsigned char a8,c;ca3;printf(%dn,c);程序运行后的输出结果是()。A)32B)16C)1D)040、参考答案:C【解析】此题中将8赋值给字符变量a,则a的二进制为00001000,a3的位运算是把a向右移动三位,结果为00000001,输出其十进制的值1。.z.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com