二级C语言610真题(含答案与解析)交互_第1页
二级C语言610真题(含答案与解析)交互_第2页
二级C语言610真题(含答案与解析)交互_第3页
二级C语言610真题(含答案与解析)交互_第4页
二级C语言610真题(含答案与解析)交互_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

二级C语言-610100,90一、选择题1.SSS_SINGLE_SEL下列叙述中正确的是 。SSS_SINGLE_SEL栈与队列都只能顺序存储循环队列是队列的顺序存储结构循环链表是循环队列的链式存储结构分值:1:B许在一端进行插入,而在另一端进行删除的线性表,二者既可以顺序存储也可以链式存储。为了充分地利用数组的存储空间,把数组的前端和后端连接起来,形成一个环形的表,称为循环队列,因此循环队列是队列的一种顺序存储结构。2.算法空间复杂度的度量方法是 。SSS_SINGLE_SELSSS_SINGLE_SEL算法程序的长度算法所处理的数据量D执行算法所需要的存储空间分值:1答案:D[解析]算法的空间复杂度是指执行这个算法所需要的存储空间,包括:①输入数据所占的存储空间;②程序本身所占的存储空间;③算法执行过程中所需要的额外空间。3.设有栈S和队列Q,初始状态均为空。首先依次将A,B,C,D,E,F入栈,后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为 。SSS_SINGLE_SELSSS_SINGLE_SELDEFXYZABCCFEDXYZCBADDEFZYXABC分值:1答案:BA,B,C,D,E,FABCDEF,FED,X,Y,ZABCXYZ,FEDZYXCBA,顺序一致。4.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的后序序为 。SSS_SINGLE_SELSSS_SINGLE_SELEFGDCBACD分值:1答案:D[解析]二叉树遍历的三种方式:①前序遍历,访问根结点在访问左子树和访问右子树之前;②中序遍历,访问根结点在访问左子树和访问右子树两者之间;ABCDEFG,ADCBAEFG,DCBEFG为右子树结点。依此类推,画出该二叉树,二叉树的后序序列为DCBGFEA。5.SSS_SINGLE_SEL软件生命周期是指 。SSS_SINGLE_SELA软件产品从提出、实现、使用、维护到停止使用、退役的过程B软件的需求分析、设计与实现C软件的开发与管理D软件的实现和维护分值:1答案:A[解析]软件生命周期是指软件产品从提出、实现、使用、维护到停止使用、退役的过程。6.SSS_SINGLE_SEL通常软件测试实施的步骤是 。SSS_SINGLE_SELA集成测试、单元测试、确认测试B单元测试、集成测试、确认测试C确认测试、集成测试、单元测试D单元测试、确认测试、集成测试分值:1答案:B4(验收测试)和系统测试。7.下面不属于对象的主要特征的是 。SSS_SINGLE_SELSSS_SINGLE_SEL惟一性多态性R、STR、ST则由关系R和S得到关系T的操作是 。SSS_SINGLE_SEL分值:1答案:C[解析]对象的基本特点主要有:①标识惟一性,一个对象通常可由对象名、属性和操作三部分组成;②分类性,指将具有相同属性和操作的对象抽象成类;③多态性,指同一个操作可以是不同对象的行为,不同对象执行同一操作产生不同的结果;④封装性,从外面看只能看到对象的外部特性,对象的内部对外是不可见的;⑤模块独立性,由于完成对象功能所需的元素都被封装在对象内部,所以模块独立性好。8.数据库设计中,描述数据间内在语义联系得到E—R图的过程属于 。SSS_SINGLE_SELSSS_SINGLE_SEL逻辑设计阶段C概念设计阶段D物理设计阶段分值:1答案:CE-R及实体之间的联系来描述。9.在数据库系统中,用于对客观世界中复杂事物的结构及它们之间的联系进行述的是 。SSS_SINGLE_SELSSS_SINGLE_SEL概念数据模型C物理数据模型D关系数据模型分值:1答案:A[解析]数据模型按照不同的应用层次分为:①概念数据模型,着重于对客观世界复杂事物的描述及对它们内在联系的刻画;②逻辑数据模型,是面向数据库系统的模型,着重于数据库系统级的实现;③物理数据模型,是面向计算机物理实现的模型,给出了数据模型在计算机上物理结构的表示。10..并投影.交:A

分值:1R∪SSR11.结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是SSS_SINGLE_SEL 。SSS_SINGLE_SEL三种基本结构不可以嵌套使用C选择结构是根据不同的条件执行不同分支中的语句D循环结构是根据条件决定是否重复、重复执行多少次循环体语句分值:1答案:A3构,当执行由这些语句构成的程序时,将按这些语句在程序中的先后顺序逐条执行,没有分支,没有转移,没有步骤之间的相互约束,没有对某一步骤的多次使用,BC确;循环结构就是根据各自的条件,使同一组语句重复执行多次,D12.在C语言中,以下选项中不能正确表示10×1000之值的是 。SSS_SINGLE_SELSSS_SINGLE_SELA1.0E4.01.E410E3D1.0e4分值:1答案:A小数形式和指数形式。指数形式由十进制数加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。指数形式中阶码必须是整型常量,A是浮点数,不能正确表示10×1000的值。13.以下选项中,合法的C语言常量是 。SSS_SINGLE_SELSSS_SINGLE_SELA21.84B"CPP"C"\1.0D2MB分值:1答案:A[解析]21.84A;C14.有以下程序:#include<stdio.h>main(){intx=010,y=10;printf("%d,%d\n",++x,y--);}程序运行后的输出结果是 。SSS_SINGLE_SELSSS_SINGLE_SELA10,9B11,10C010,9D9,10分值:1答案:D[解析]整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整型常量以0作为前缀。x=(010)8

=(8) ,10y=10,++x先自加后取值,输出9,y--先取值输出10,再自减y=9。15.SSS_SINGLE_SEL若有定义:inta;floatb;doublec;,程序运行时输入:a=1,b=2,c=3<回车>,能把值1输入给变量a、值2输入给变量b、值3输入给变量c的输语句是 。SSS_SINGLE_SELAscanf("a=%d,b=%f,c=%lf",&a,&b,&c);Bscanf("%d%f%lf",&a,&b,&c);Cscanf("a=%d,b=%lf,c=%lf",&a,&b,&c);Dscanf("a=%d,b=%f,c=%f",&a,&b,&c);分值:1答案:A[解析]格式字符d,输入十进制整数;格式字符f,输入浮点数;格式字符lf,输入双精度浮点数。除了格式说明字符和附加格式字符外,如果还有其他字符,则在输入数据时要求按照这些字符在一一对应的位置原样输入。程序运行时输入:a=1,b=2,c=3,则scanf函数格式控制串应该是“a=%d,b=%f,c=%lf”。16.有如下程序:#include<stdio.h>main(){inta=0,b=1;if(a++&&b++)printf("T");elseprintf("F");printf("a=%d,b=%d\n",a,b);}程序运行后的输出结果是 。SSS_SINGLE_SELSSS_SINGLE_SELTa=1,b=2CD分值:1答案:Cif,a++0,则(a++&&b++0,b++,aa=1,ifelseFprintf("a=%d,b=%d\n",a,b);a=1,b=1。17.以下不是合法C语言转义字符的是 。SSS_SINGLE_SELSSS_SINGLE_SEL:A

分值:1C"\a"表示响铃,"\b"表示退格,"\r"行。18.有以下程序:#include<stdio.h>main(){charch="B";while(ch<"E"){pfintf("%d",ch-"A");ch++;}printf("\n");}程序运行后的输出结果是 。SSS_SINGLE_SELSSS_SINGLE_SELA123ABCabcD012:A

分值:1whilech<"E",ch-"AASCII输出,%dch="B",printf("%d",ch-"A")=1,ch="E",123。19.SSS_SINGLE_SEL以下能够实现计算5!的程序段是 。SSS_SINGLE_SELAintfac=1,k=0;do{k++;fac*=k;}while(k<5);Bintfac=0,k=1;do{fac*=k;k++;}while(k<5);Cintfac=1,k=1;do{k++;fac*=k;}while(k<=5);Dintfac=1,k=0;do{fac*=k;k++;}while(k<5);分值:1答案:Ado…while:do{循环体}while(表达式),执行过0)则再一次执行循环体,不成立(0)则退出循环。A,k=1,fac=1*1k<5,k=5,fac=1*2*3*4*5,k<55!。B,fac00,5!。Ck=2,fac=1*2k=6,fac=1*2*3*4*5*66!。D:k=0,fac=1*0=0,0,无法实现5!。20.有以下程序:#include<stdio.h>main(){intx=0x13;if(x=0x12)printf("True");printf("False\n");}程序运行后的输出结果是 。SSS_SINGLE_SELSSS_SINGLE_SELTrueCFalseDTrueFalseTrue分值:1答案:B[解析]if(x=0x12)条件语句为赋值语句,注意赋值操作符“=”与相等操作符“==”的区别,条件成立,输出True;退出条件语句,输出False。21.有以下程序段:charc1,c2,c3;scanf("%c%c%c",&c1,&c2,&c3);若要给c1、c2、c3分别赋值字母A、B、C,则以下对输入形式的描述正确的是SSS_SINGLE_SEL 。SSS_SINGLE_SELA字母A、B、C之间可以用空格分隔B字母A、B、C之间不能有分隔符C字母A、B、CD字母A、B、CTab分值:1答案:Bscanf“%c”格式输入字符时,分隔符(空格符形式输入三个数据,空格、回车符、TabA、B、C22.有以下程序:#include<stdio.h>main(){printf("%d\n",NULL);}SSS_SINGLE_SEL程序运行后的输出结果是 。SSS_SINGLE_SEL0C-1D1分值:1答案:A[解析]CNULL023.以下关于函数的叙述中正确的是 。SSS_SINGLE_SELSSS_SINGLE_SEL函数调用必须传递实参函数必须要有形参函数必须要有返回值分值:1答案:D[解析]函数如果没有形参也就不必传递实参,A,C关,D24.有以下程序:#include<stdio.h>voidfun(inta[],int{inti;for(i=0;i<n;i++){if(i%3==0)a[i]-=n;elsea[i]+=n;}}main(){intc[5]={6,7,8,9,10},i;fun(c,5);for(i=0;i<5;i++)printf("%d,",c[i]);printf("\n");}程序运行后的输出结果是 。SSS_SINGLE_SELSSS_SINGLE_SELA1,12,13,4,15,B10,9,8,7,6,C1,7,13,9,15,D10,12,8,4,6,分值:1答案:Afun()c305,305,fun(c25.处。#include<stdio.h>main(){inta[10],i=0;while(i<10)scanf("%d", …}SSS_SINGLE_SELSSS_SINGLE_SELAa+(i++)BCa+iD&a(i++)分值:1答案:A[解析]Aa,i++i1,scanfaB;Ci1,无法结束循环,也无法对整个数组赋值;D[],不是()。26.有以下程序:#include<stdio.h>int*f(int*s,int*t){if(*s<*t)*s=*t;returns;}main(){inti=3,j=5,*p=&i,*q=&j,*r;r=f(p,q);printf("%d,%d,%d,%d,%d\n",i,j,*p,*q,*r);}SSS_SINGLE_SEL程序的运行结果是 。SSS_SINGLE_SELA5,5,5,5,5B3,5,5,5,5C5,3,3,3,5D3,5,3,5,5分值:1答案:A[解析]程序执行过程为:pi,qj,f,ijst,ij,j=5i,i=5,ir,ri,5,5,5,5,5。27.有如下程序:#include<stdio.h>#include<string.h>main(){printf("%d\n",strlen("0\t\nA011\1"));}SSS_SINGLE_SEL程序运行后的输出结果是 。SSS_SINGLE_SEL89710:A

分值:1[解析]strlen"\0","0\t\nA011\1”8\t、\n、\11,8。28.若有定义:char*ps[]={"aa","bb","cc","dd"};,则以下叙述正确的是 。SSS_SINGLE_SELSSS_SINGLE_SEL*ps[0]是字符"a"*ps[0]是字符串Cps[0]是字符"a"Dps"aa"分值:1答案:Aps,ps[0]代表数组首个元素的地址,即”aa”同时也是”aa”a*ps[0a。29.SSS_SINGLE_SEL以下涉及字符串数组、字符指针的程序段,不会产生编译错误的是 。SSS_SINGLE_SELAchar*str,name[10];str="HelloWorld";Bchar*str,name[10];name="Hellocharstr1[10]="prog.c",str2[10];str2=str1;charhead_line[];head_line="==分值:1答案:A串常量:char*str;str="HelloWorld",Aname="Helloworld"错误,B项错误;数组不可以直接赋值字符串charhead_line[]="========,D30.有如下程序:#include<stdio.h>voidget_put(){charch;ch=getchar();if(ch!="\n")get_put();putchar(ch);}main(){get_put();}程序运行时,输入ABCD<回车>,则输出结果是 。SSS_SINGLE_SELSSS_SINGLE_SEL:B

分值:1有以下程序:#include<stdio.h>main(){intfindmax(int,int,int),m;m=findmax(a,b,c);}intfindmax(intx,inty,intz)get-putchch"D"有以下程序:#include<stdio.h>main(){intfindmax(int,int,int),m;m=findmax(a,b,c);}intfindmax(intx,inty,intz)31.若有以下程序段:charstr[4][12]={"aaa","bbbb","ccccc","dddddd"},*strp[4];inti;for(i=0;i<4;i++)strp[i]=str[i];则以下错误引用字符串的选项是(其中0≤k<4) 。SSS_SINGLE_SELSSS_SINGLE_SEL*strpstr[k]CDstrp分值:1答案:Dstr,strp。A,*strp”aaa”;B,str[k]strk,strp[kstrkD,strp用字符串。32.{…}SSS_SINGLE_SEL则以下叙述正确的是 。SSS_SINGLE_SELA在mainfindmaxB在mainfindmaxmainfindmaxmainfindmax分值:1答案:Afindmaxfindmax数。intfindmax(int,int,int);为函数声明,m=findmax(a,b,c);为函数调用,intfindmax(intx,inty,intz){}为函数定义。33.有如下程序:#include<stdio.h>intsum(int*array,intlen){if(len==0)returnarray[0];elsereturnarray[0]+sum(array+1,len-1);}main(){intarray[5]={1,2,3,4,5};intres=sum(array,4);printf("%d\n",res);}程序运行后的输出结果是 。SSS_SINGLE_SELSSS_SINGLE_SEL151081:A

分值:1array,sum4len=4;len!=0sum(array+1,3)元素地址;len>0sum(array+1,2)传入地址为数组第三个元素地址;len>0sum(array+1,1)0sum(array+1,0)len=0,返5;sum(array+1,1)9;sum(array+1,2)余下语12;sum(array+1,3)14;sum(array+1,415,并输出。34.若有定义:typedefint*T:Ta[20];则以下与上述定义中a类型完全相同的是 。SSS_SINGLE_SELSSS_SINGLE_SELAint*a[20];BCinta[20];Dint**a[20];分值:1答案:A[解析]“typedefBT,Ta[20int*a[20]。35.有以下程序:#include<stdio.h>#include<string.h>#include<stdlib.h>main(){char*p1,*p2;p1=p2=(char*)malloc(sizeof(char)*10);strcpy(p1,"malloc");strcpy(p2,p1+1);printf("%c%c\n",p1[0],p2[0]);}程序的运行结果是 。SSS_SINGLE_SELSSS_SINGLE_SELaamaammm:A

分值:1p1p2,10p1p210strcpy”malloc”107strcpy1027p2536.有如下定义:struct{intmum;charname[10];struct{inty;intm;intd;}birth;}s,*ps=&s;以下对内嵌结构体成员的引用形式错误的是 。SSS_SINGLE_SELSSS_SINGLE_SELps->birth.ybirth.yps.birth.y(*ps).birth.y分值:1答案:C[解析]使用结构体指针对结构体成员进行访问时,形式为:结构体指针名->结构体成员名,或者(*结构体指针名).结构体成员名。37.有以下程序;#include<stdio.h>#defineN2#defineMN+1#defineMUN(M+1)*M/2main(){printf("%d\n",MUN);}程序运行后的输出结果是 。SSS_SINGLE_SELSSS_SINGLE_SEL8956答案:A

分值:1[解析]带参数的宏的替换过程是,用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。MUN被置换成(2+1+1)×2+1/2;程序的运行结果是8。38.有如下程序:#include<stdio.h>structpair{intfirst,second;};structpairget_min_max(int*array,intlen){inti;structpairres;res.first=array[0];res.second=array[0];for(i=1;i<len;i++){if(array[i]<res.first)res.first=array[i];if(array[i]>res.second)res.second=array[i];}returnres;}main(){intarray[5]={9,1,3,4};struetpairmin_max=get_min_max(array,5)printf("min=%d,max=%din",min_max.first,min_max.second);}程序运行后的输出结果是 。SSS_SINGLE_SELSSS_SINGLE_SELmin=1,max=9Cmin=1,max=4Dmin=0,max=4分值:1答案:Bc0,则array[5]={9,1,3,4,0}。程序的执行过程为:调用函数get_min_max(array,5),arrayarray0,resfirsf,9,ressecond。最后返res,min_max=res。输出min_max.first=0,min_max.second=9。39.有以下程序:#include<stdio.h>main(){intc,d;c=13&5;d=10&&5;printf("%d,%d\n",c,d);}程序的运行结果是 。SSS_SINGLE_SELSSS_SINGLE_SELA5.1B1,1C18,1D13,1分值:1答案:A[解析]“&”按位与运算,13=1101B,5=101B,c=13&5;结果为101B=5c=5。“&&”逻辑与运算,105d=140.有以下程序段:FILE*fp;if((fp=fopen("test.txt","w"))==NULL){printf("不能打开文件!");exit(0);}elseprintf("成功打开文件!");SSS_SINGLE_SEL若文件test.txt已存在,则以下叙述正确的是 。SSS_SINGLE_SELA程序运行后,文件test.txt中的原有内容将全部消失B程序运行时,会因文件存在而出错C对文件test.txt进行写操作后,可以随机进行读取D对文件test.txt写入的内容总是被添加到文件尾部分值:1答案:AfopenNULL存在,则创建一个文件名为指定文件名的新文件,然后打开它。本题程序中,test.txttest.txt二、程序填空题1.fun20a0)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:BLANK1.C[试题源程序]#include<stdlib.h>#include<stdio.h>#defineN20voidfun(int*a){inti,x,n=0;x=rand()%20;/***********found**********/while(n< ){for(i=0;i<n;i++)/***********found**********/if(x==a[i]);/***********found**********/if(i== ){a[n]=x;n++;}x=rand()%20;}}main(){intx[N]={0},i;fun(x);printf("Theresult:\n");for(i=0;i<N;i++){printf("%4d",x[i]);if((i+1)%5==0)printf("\n");}printf("\n\n");}SSS_FILLSSS_FILL分值:18N20breakn1n,while20,n<2

温馨提示

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

评论

0/150

提交评论