2021年计算机二级选择题题库_第1页
2021年计算机二级选择题题库_第2页
2021年计算机二级选择题题库_第3页
2021年计算机二级选择题题库_第4页
2021年计算机二级选择题题库_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

选取题题库1.下列数据构造中,属于非线性构造是()。A)循环队列B)带链队列C)二叉树D)带链栈1、参照答案:C【解析】树是简朴非线性构造,因此二叉树作为树一种也是一种非线性构造。2.下列数据构造中,可以按照"先进后出"原则存取数据是()。A)循环队列B)栈C)队列D)二叉树2、参照答案:B【解析】栈是按先进后出原则组织数据。队列是先进先出原则组织数据3.对于循环队列,下列论述中对的是()。A)队头指针是固定不变B)队头指针一定不不大于队尾指针C)队头指针一定不大于队尾指针D)队头指针可以不不大于队尾指针,也可以不大于队尾指针3、参照答案:D【解析】循环队列队头指针与队尾指针都不是固定,随着入队与出队操作要进行变化。由于是循环运用队列构造因此对头指针有时也许不不大于队尾指针有时也也许不大于队尾指针。4.算法空间复杂度是指()。A)算法在执行过程中所需要计算机存储空间B)算法所解决数据量C)算法程序中语句或指令条数D)算法在执行过程中所需要暂时工作单元数4、参照答案:A【解析】算法空间复杂度是指算法在执行过程中所需要内存空间。因此选取A)。5.软件设计中划分模块一种准则是()。A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合5、参照答案:B【解析】普通较先进软件设计,应尽量做到高内聚,低耦合,即削弱模块之间耦合性和提高模块内内聚性,有助于提高模块独立性。6.下列选项中不属于构造化程序设计原则是()。A)可封装B)自顶向下C)模块化D)逐渐求精6、参照答案:A【解析】构造化程序设计思想涉及:自顶向下、逐渐求精、模块化、限制使用goto语句,因此选取A)。7.软件详细设计生产图如下:该图是()A)N-S图B)PAD图C)程序流程图D)E-R图7、参照答案:C【解析】N-S图提出了用方框图来代替老式程序流程图,因此A)不对。PAD图是问题分析图,它是继承程序流程图和方框图之后提出又一种重要用于描述软件详细设计图形表达工具,因此B)不对。E-R图是数据库中用于表达E-R模型图示工具,因此D)不对。依照图中所示表达办法是进行软件详细设计时使用程序流程图。8.数据库管理系统是()。A)操作系统一某些B)在操作系统支持下系统软件C)一种编译系统D)一种操作系统8、参照答案:B【解析】数据库管理系统是数据库机构,它是一种系统软件,负责数据库中数据组织、数据操纵、数据维护、控制及保护和数据服务等。是一种在操作系统之上系统软件。9.在E-R图中,用来表达实体联系图形是()。A)椭圆形B)矩形C)菱形D)三角形9、参照答案:C【解析】在E-R图中实体集用矩形,属性用椭圆,联系用菱形。10.有三个关系R、S和T如下:则关系T是由关系R和S通过某种操作得到,该操作为()。A)选取B)投影C)交D)并10、参照答案:D【解析】在关系T中包括了关系R与S中所有元组,因此进行是并运算。11.计算机高档语言程序运营办法有编译执行和解释执行两种,如下论述中对的是()。A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对11、参照答案:A【解析】解释程序是将源程序(如BASIC)作为输入,解释一句后就提交计算机执行一句,并不形成目的程序。编译程序是把高档语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言目的程序,然后再让计算机执行这个目的程序,得到计算成果。12.如下论述中错误是()。A)顾客所定义标记符容许使用核心字B)顾客所定义标记符应尽量做到"见名识意"C)顾客所定义标记符中,大、小写字母代表不同标记D)顾客所定义标记符必要以字母或下划线开头12、参照答案:A【解析】C语言规定标记符只能由字母、数字和下划线3种字符构成,且第一种字符必要为字母或下划线,排除D);顾客定义标记符中大小写字母之间是有区别并且应尽量做到"见名识意",排除选项B)和C);C语言中还规定标记符不能为C语言核心字,故选项A)论述错误,对的答案是选项A)。13.若有阐明语句:charc='\72';则变量c()。A)包括1个字符B)包括2个字符C)包括3个字符D)阐明不合法,c值不拟定13、参照答案:A【解析】C语言字符型常量中,容许用一种特殊形式字符常量,就是以一种""开头字符。其中,"\ddd"表达用ASCII码(八进制数)表达一种字符,本题中charc='\2'即表达占一种字符变量cASCII码值。14.既有定义inta;doubleb;floatc;chark;,则表达式a/b+c-k值类型为()。A)intB)doubleC)floatD)char14、参照答案:B【解析】双目运算中两边运算量类型转换规律:15.如下定义语句中对的是()。A)inta=b=0;B)charA=65+1,b=′b′;C)floata=1,*b=&a,*c=&b;D)doublea=0.0;b=1.115、参照答案:B【解析】本题考查变量定义办法。如果要一次进行各种变量定义,则在它们之间要用逗号隔开。因而选项A)和D)错误;在选项C)中,变量c是一种浮点型指针,它只能指向一种浮点型数据,不能指向指针变量b;因此对的答案为B)。16.若在定义语句inta,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.如下程序运营成果是()。intk=0;voidfun(intm){m+=k;k+=m;printf("m=%dk=%d",m,k++);}main(){inti=4;fun(i++);printf("i=%dk=%d\n",i,k);}A)m=4k=5i=5k=5B)m=4k=4i=5k=5C)m=4k=4i=4k=5D)m=4k=5i=4k=517、参照答案:B【解析】由于在main()函数中,变量i=4,因此就调用fun(4),则输出"m=4k=4"。然后变量k增1等于5,变量i增1等于5,因此main()函数"printf("i=%dk=%d\n",i,k);"语句输出"i=5k=5"。18.在执行下述程序时,若从键盘输入6和8,则成果为()。main(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对18、参照答案:B【解析】本题中a值为6,b值为8,最后s值为8,s*=s等价于s=s*s。19.有如下程序:main(){intk=5,n=0;while(k>0){switch(k){default:break;case1:n+=k;case2:case3:n+=k;}k--;}printf("%d\n",n);}程序运营后输出成果是()。A)0B)4C)6D)719、参照答案:D【解析】本题考查是switch语句。在switch语句中,表达式值与某一种case背面常量表达式值相等时,就执行此case背面语句,若所有case中常量表达式值都没有与表达式值匹配,就执行default背面语句,各个case和default浮现顺序不影响执行成果。因此在本题中,当k=5和k=4时候,case都没有与其匹配值,因此执行了default语句;当k=3时,执行"case3:n+=k;"得n=3,然后执行default;当k=2时,执行"case2:case3:n+=k;"得n=5,然后执行default;当k=1时,执行"case1:n+=k;case2:case3:n+=k;"使得n加两次k,得到n=7。20.有如下程序:#include<stdio.h>main(){intx;scanf("%d",&x);if(x<=3);elseif(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整数。21.有如下程序:#include<stdio.h>main(){inta=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b)}程序运营后输出成果是()。A)0,0B)1,0C)3,2D)1,222.有如下程序:main(){intnum[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");}}若要按如下形式输出数组右上半三角1234678111216则在程序下划线处应填入语句是()。A)i-1B)i+1C)iD)4-i22、参照答案:C【解析】此题中嵌套了两个for语句,第一种用来输出空格,第二个用来输出数字。如此类型输出某种格式考题,普通是采用多重循环来解决,需要考生找出输出数据特点,并用相相应数学公式表达出来。23.如下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相似是()。A)if((a>b)&&(b>c))k=1;elsek=0;B)if((a>b)‖(b>c))k=1;elsek=0;C)if(a<=b)k=0;elseif(b<=c)k=1;D)if(a>b)k=1;elseif(b>c)k=1;elsek=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.有如下程序:voidss(char*s,chart){while(*s){if(*s==t)*s=t-a+A;s++;}}main(){charstr1[100]="abcddfefdbd",c=d;ss(str1,c);printf("%s\n",str1);}程序运营后输出成果是()。A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd24、参照答案:B【解析】在内存中,字符数据以ASCII码存储,它存储形式与整数存储形式类似。C语言中,字符型数据和整型数据之间可以通用,也可以对字符型数据进行算术运算,此时相称于对它们ASCII码进行算术运算,在本题中,s++相称于s=s+1,即让s指向数组中下一种元素。25.既有如下程序段:#include"stdio.h"main(){intk[30]={12,324,45,6,768,98,21,34,453,456};intcount=0,i=0;while(k[i]){if(k[i]%2==0||k[i]%5==0)count++;i++;}printf("%d,%d\n",count,i);}则程序段输出成果为()。A)7,8B)8,8C)7,10D)8,1025、参照答案:D【解析】在C语言中,定义一维数组语句普通形式如下:类型名数组名[常量表达式];一维数组引用形式为:数组名[下标表达式]。count表达能被2整除或被5整除个数,i则计算有多少个数组元素。26.如下程序运营后输出成果是()。#include<string.h>voidf(char*s,char*t){chark;k=*s;*s=*t;*t=k;s++;t--;if(*s)f(s,t);}main(){charstr[10]="welcome",*p;p=str+strlen(str)/2+1;f(p,p-2);printf("%s\n",str);}A)eelcomwB)weoclmeC)welcomeD)emoclew26、参照答案:D【解析】该程序中f函数功能是互换两个位置字符值,f函数共调用3次,依次更改了字符串中l和o、e和m、w和e值,因而更改后字符串值是emoclew。27.设有如下程序段:intx=,y=;printf("%d\n",(x,y));则如下论述中对的是A)输出值为B)输出值为C)运营时产生出错信息D)输出语句中格式阐明符个数少于输出项个数,不能对的输出27、参照答案:B【解析】(x,y)考查逗号表达式,逗号运算符结合性为从左到右,因而,最后一种表达式值就是此逗号表达式值,因而选项B)对的。28.有如下程序:#include<stdio.h>voidfun(char*c,intd){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){charb=a,a=A;fun(&b,a);printf("%c,%c\n",b,a);}程序运营后输出成果是()。A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B28、参照答案:A【解析】函数fun第一种参数传指针,可以将更改后值传回调用函数,第二个参数传值,不能将更改后值传回调用函数,故选A)。29.有如下程序:#include<stdio.h>#include<string.h>main(){chara[10]="abcd";printf("%d,%d\n",strlen(a),sizeof(a));}程序运营后输出成果是()。A)7,4B)4,10C)8,8D)10,1029、参照答案:B【解析】strlen()用来返回字符串长度,而sizeof()返回是一种对象或者类型所占内存字节数,即数组所占内存。30.若有定义inta[2][3];,则对a数组第i行第j列(假设i,j已对的阐明并赋值)元素值对的引用为()。A)*(*(a+i)+j)B)(a+i)[j]C)*(a+i+j)D)*(a+i)+j30、参照答案:A【解析】本题考查了二维数组元素引用办法。选项A)中a+i指向了数组a第i+1行,*(a+i)则是第i+1行第0列地址值,*(a+i)+j指向了数组a第i+1行,j+1列,*(*(a+i)+j)取到是数组aa[i][j]元素。31.有如下程序:#include<stdio.h>main(){charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);}程序运营后,若从键盘输入(从第1列开始)123<回车>45678<回车>则输出成果是()A)1267B)1256C)1278D)124531、参照答案:D【解析】putchar(c1)输出1,putchar(c2)输出2,printf("%c%c\n",c5,c6)输出45。32.如下程序运营成果是()。#include<stdio.h>inta=1;intf(intc){staticinta=2;c=c+1;return(a++)+c;}main(){inti,k=0;for(i=0;i<2;i++){inta=3;k+=f(a);}k+=a;printf("%d\n",k);}A)17B)16C)15D)1432、参照答案:D【解析】fun函数语句return(a++)+c;中访问a,是其内部定义静态局部变量,main函数中语句k+=f(a)访问a是其局部变量,因此两次调用事实上都是调用f(3)。第一次调用时,fun函数中c=4,表达式(a++)+c值为6,a递增为3,k=6。第二次调用时,fun函数中c=4,表达式(a++)+c值为7,a递增为4,k=6+7=13。语句k+=a中a是全局变量,因此k=13+1=14。33.设有定义:intn1=0,n2,*p=&n2,*q=&n1;,如下赋值语句中与n2=n1;语句等价是()。A)*p=*q;B)p=q;C)*p=&n1;D)p=*q;33、参照答案:A【解析】本题考查是指针变量赋值。题目中各变量定义后,指针变量p指向了变量n2所在存储单元,指针变量q指向了变量n1所在存储单元,要使得n1值赋给n2,可用指针变量q所指向存储单元值赋给指针变量p所指向存储单元,即*p=*q。34.设有如下阐明:typedefstructST{longa;intb;charc[2];}NEW;如下说法对的是()。A)NEW是一种构造体变量B)NEW是一种构造体类型C)ST是一种构造体类型D)以上阐明形式非法34、参照答案:B【解析】以上形式定义NEW表达ST构造类型,然后可以用NEW来阐明构造体变量。因而选项B)对的35.有如下程序:#include<stdio.h>#include<string.h>typedefstruct{charname[9];charsex;floatscore[2];}STU;voidf(STUa){STUb={"Zhao",'m',85.0,90.0};inti;strcpy(,);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b.score[i];}main(){STUc={"Qian",'f',95.0,92.0};f(c);printf("%s,%c,%2.0f,%2.0f\n",,c.sex,c.score[0],c.score[1]);}程序运营成果是()。A)Qian,f,95,92B)Qian,m,85,90C)Zhao,f,95,92D)Zhao,m,85,9035、参照答案:A【解析】本题考查是函数调用时参数传递以及构造体变量引用问题。程序在调用函数f时,传给函数f参数只是构造变量c在栈中一种拷贝,函数f所有操作只是针对这个数据拷贝进行修改,这些都不会影响变量c值。36.有如下程序:#include<stdio.h>#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;i<N;i++)b[i]=a[i][i];}main(){intx[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;fun(x,y);for(i=0;i<N;i++)printf("%d,",y[i]);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中符合条件值赋给一维数组符合条件元素。主函数功能是将符合条件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论