国家二级(C语言)笔试模拟试卷58(题后含答案及解析)_第1页
国家二级(C语言)笔试模拟试卷58(题后含答案及解析)_第2页
国家二级(C语言)笔试模拟试卷58(题后含答案及解析)_第3页
国家二级(C语言)笔试模拟试卷58(题后含答案及解析)_第4页
国家二级(C语言)笔试模拟试卷58(题后含答案及解析)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

国家二级(C语言)笔试模拟试卷58(题后含答案及解析)题型有:1.选择题2.填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。1.最简单的交换排序方法是A.快速排序B.选择排序C.堆排序D.冒泡排序正确答案:D解析:冒泡排序是一种最简单的交换类排序方法,它是通过相邻数据元素的交换逐步将线性表变成有序。注意:交换排序方法有冒泡排序和快速排序,显然选项B)和选项C)错误,冒泡排序比较简单,其算法也容易理解,但快速排序本身较为复杂,且采用了递归调用,其算法理解也稍难。注意:插入排序、选择排序、归并排序、基数排序等排序方法的特点。2.栈通常采用的两种存储结构是A.顺序存储结构和链式存储结构B.散列方式和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构正确答案:A解析:和线性表类似,栈也有两种存储方法,一是顺序栈,二是链式栈。栈的顺序存储结构是利用一组地址连续的存储单元一次存储自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素的位置,由于栈的操作是线性表操作的特例,相对而言,链式栈的操作更易于实现。注意:这3种运算方法在各种存储结构中的应用。3.线性表的顺序存储结构和线性表的链式存储结构分别是A.顺序存取的存储结构、顺序存取的存储结构B.随机存取的存储结构、顺序存取的存储结构C.随机存取的存储结构、随机存取的存储结构D.任意存取的存储结构、任意存取的存储结构正确答案:B解析:顺序存储结构中,数据元素存放在一组地址连续的存储单元中,每个数据元素地址可通过公式LOC(ai)=LOC(a1)+(i-1)L计算得到,从而实现了随机存取。对于链式存储结构,要对某结点进行存取,都得从链的头指针指向的结点开始,这是一种顺序存取的存储结构。注意:顺序存储结构和链式存储结构的定义和性质,两种存储结构的操作方法。4.完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是A.黑箱测试法B.白箱测试法C.错误推测法D.安装测试法正确答案:A解析:黑箱测试方法完全不考虑程序的内部结构和内部特征,而只是根据功能导出测试用例。注意:白箱测试是根据对程序内部逻辑结构的分析来选取测试用例,白箱测试也称为逻辑覆盖测试,故选项B)不正确;错误推测法只是黑箱测试所使用的一种具体的方法,故选项C)不正确;安装测试是测试层次中的一种,它属于高级测试,故选项D)不正确。注意:常用的黑箱测试方法及其定义,白箱测试用例的准则。5.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向正确答案:A解析:常用的软件结构设计工具是结构图(SC-StructureChart),也称程序结构图。其中,矩形内用于注明模块的功能和名字;箭头表示模块间的调用关系,带实心圆的箭头表示传递的是控制信息,带空心圆的箭头表示传递的是数据。注意:根据结构图设计思想,了解结构图构成的基本形式。6.下列选项中,不属于模块间耦合的是A.数据耦合B.标记耦合C.异构耦合D.公共耦合正确答案:C解析:模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。按照耦合程度从弱到强,可以将其分成5级,分别是:数据耦合、同构耦合、控制耦合、公用耦合和内容耦合。选项C),没有这种耦合方式。注意:评价模块独立性的主要标准,以及对它们的定义和分类。7.一个关系中属性个数为1时,称此关系为A.对应关系B.单一关系C.一元关系D.二元关系正确答案:C解析:在关系模型数据库中,基本结构是二维表,这种二维表称为关系。关系的列称为属性,一个具有N个属性的关系称为N元关系。注意:各种关系查询语言与过程性语言和非过程性语言的关系,过程性语言的特点。8.为用户与数据库系统提供接口的语言是A.高级语言B.数据定义语言(DDL)C.数据操纵语言(DML)D.汇编语言正确答案:C解析:DBMS提供数据操纵语言(DML)实现对数据库中数据的操作,数据操纵语言(DML)是用户(包括应用程序)与数据库系统的接口。数据操纵语言通常包括检索和更新功能。注意:程序模块中语言处理部分的分类,各子类的定义及其功能。9.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和A.可重用性差B.安全性差C.非持久性D.冗余性正确答案:D解析:文件系统所管理的数据文件基本上是分散的、相互独立的,因此相对于数据库系统,以此为基础的数据处理存在3个缺点,数据冗余大、数据的不一致性、程序与数据的相互依赖(简称为数据依赖)。注意:文件系统和数据库系统各自的特点,人工管理阶段及数据库系统三代的特点。10.需求分析阶段的任务是确定A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能正确答案:D解析:需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。注意:选项A)软件开发方法是在总体设计阶段完成的任务;选项B)软件开发工具是在实现阶段需完成的任务;选项C)软件开发费用是在可行性研究阶段需完成的任务。注意:需求分析的任务和它的6种方法。11.以下叙述正确的是()。A.在C语言程序中,main函数必须位于程序的最前面B.C语言程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C语言程序进行编译的过程,可发现注释中的拼写错误正确答案:C解析:选项A)中,main函数可以放在程序的任何位置,不一定要放在程序的最前面,不论main函数放在什么位置,程序的执行却总是从main函数开始的;选项B)中,因为C语言的语法限制不严格,所以可以多条语句放在同一行上;选项C)是正确的,C语言中没有专门的输入输出语句,输入输出是通过使用输入输出库函数来实现的;选项D)是错误的,因为C语言中的注释是不会被编译的。注意:掌握算法的相关特性。12.下列字符串是合法的标识符的是()。A._HJB.9_studentC.longD.LINE1正确答案:A解析:标识符是以字母、数字和下划线组成的字符串,且只能是字符或下划线开头,且C语言的关键字不能用作用户自定义的标识符。注意:熟记C语言中常用的关键字。13.以下合法的十六进制数是()。A.0xB.0x4deC.0x1hD.oX77正确答案:B解析:十六进制数以0x开头,后面跟着若干位1~f的数,所以正确答案为B)。注意:整形常量、实型常量和字符型常量的合法性判断。14.若有以下定义,则能使值为3的表达式是intk=7,x=12;A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)正确答案:D解析:运算符“%”的两侧都应该是整型数。另外,本题需要掌握的知识点是:x%=k,等价于x=x%k。注意:强制类型转换表达式。15.x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是A.INPUTx、v、z;B.scanf(“%d%d%d”,&x,&y,&z);C.scanf(“%d%d%d”,x,y,z);D.read(“%d%d%d”,&x,&y,&z);正确答案:B解析:scanf函数的一般格式是:scanf(格式控制,地址表列)该格式中,地址表列中应是变量地址,而不是变量名。注意:调用putchar和getchar函输出和输入字符。16.以下叙述正确的是()。A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句正确答案:B解析:continue是结束本次循环,直接进入到下次循环中,break用于循环语句中的作用是直接跳出本层循环,能从多层循环中退出的语句除了goto语句,exit,return等语句也能直接跳出多层循环。注意:continue和break语句在while语句中的作用。17.执行下面的程序后,a的值为()。main(){inta,b;for(a=1,b=1;a<=10;a++){if(b%3==1){b+=3;continue;}b=5;}}A.7B.8C.9D.10正确答案:D解析:continue语句的作用是结束本次循环,直接进入到下次循环中。18.以下程序段的输出结果是inta=1234;printf(“%2d\n”,a);A.12B.34C.1234D.提示出错、无结果正确答案:C解析:在C语言中,对于不同类型的数据用不同的格式字符,其中,“%d”是按整型数据的实际长度输出,“%md”中,m为指定的输出字段的宽度,如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。注意:格式输入函数scanf的使用。19.能正确表示逻辑关系:”a≥10或a≤0”的C语言表达式是A.a>=10ora<=0B.a>=0|a<=10C.a>=10&&a<=0D.a>=10||a<=0正确答案:B解析:本题考查C语言的逻辑表达式及逻辑或(“||”)运算符的用法。“||”表示或的意思,“|”是按位或的意思,“&&”是并且的意思,C语言中没有“or”。20.设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句if(a<b)if(c==d)y=0;elsey=1;该语句所表示的含义是A.B.C.D.正确答案:C解析:整个语句都是以a<b为假设的,在a<b的情况下,如果c=d则y=0,否则y=1。所以答案为选项C)。注意:if嵌套语句的使用。21.若变量c为char类型,能正确判断出c为小写字母的表达式是A.’a’<=c<=‘2’B.(c>=‘a’)||(c<=‘2’)C.(‘a’<=c)and(‘2’>=c)D.(c>=‘a’)&&(c<=‘z’)正确答案:D解析:字符型数据在计算机内部是以ASCII存储的,英文大写字母和小写字母在ASCII码表中都是连续的,大写字母A到Z是从65到90,小写字母a到z是97到122。所以只要变量c大于a并且小于z就能保证其为小写字母。22.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!=‘\n’){switch(c-’2’){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf(“\n”)}从第一列开始输入以下数据<CR>代表一个回车符。2743<CR>程序的输出结果是A.66877B.668966C.6677877D.6688766正确答案:A解析:本题主要考查了字符输入输出函数getchar和putchar的使用。getchar函数用来从标准输入设备上读入一个字符,putchar(c)函数是将字符变量c中的字符输出到标准输出设备上。并且字符可以看作整数参与运算。23.C语言允许函数类型缺省定义,此时函数值隐含的类型是A.floatB.intC.longD.double正确答案:B解析:在C语言中,对于自定义函数要遵循“先定义,后使用”的规则,如定义时,不指定函数类型,C编译系统都默认函数的返回值是int型。24.若有说明:int*p,m=5,n;以下正确的程序段是A.p=&n;scanf(“%d”,&p);B.p=&n;scanf(“%d”,*p)C.scanf(“%d”,&n);*p=n;D.p=&n;*p=m;正确答案:D解析:“&”是求址运算符,“*”是指变量说明符。选项A)、B)应改为scanf(“%d”,p);选项C)中指针变量p未指向一确定的内存单元,不能为其赋值,并且这样做很危险建议不使用。25.有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向此链表中的3个连续结点。structnode{intdata;structnode*next;}*p,*q,*r;现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是A.p->next=q->next;B.p-next=p->next->next;C.p->next=r;D.p=q->enxt;正确答案:D解析:本题考查链表结点的删除。q->next中存放的是r所指结点的首地址,将r所指结点的首地址存于p->next中,则实现删除q所指结点的功能,并保持链表连续,p所指结点与r所指结点相连。26.以下程序的运行结果是#include”stdio.h”main(){structdate{intyear,month,day;}today;printf(“%d\n”,sizeof(structdate));}A.6B.8C.10D.12正确答案:A解析:在解答本题时应该考虑两个问题:结构体变量的长度及sizeof()求字节数的运算符。结构体变量的长度是其内部成员总长度之和,本题中,structdate中包含year,month,day三个整型变量。一个整型变量所占的字节数为2。27.若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是A.EOFB.-1C.1D.NULL正确答案:C解析:EOF是指向文本文件的结束标志,NULL是打开文件错误时的返回值。feof(fp)用来判断文件是否在文件末尾,文本文件和二进制文件均可以使用此函数,如果遇到文件结束就返回1,否则返回0。28.以下程序的输出结果是main(){intc=35;printf(“%d\n”,c&c);}A.0B.70C.35D.1正确答案:C解析:本题考查按位与“&”。因为1&1=1,0&0=0,所以任何数与自身按位与,结果仍为此数,不发生变化。29.当运行以下程序时,从键盘输入;AhaMA(空格)Aha<CR>,则下面程序的运行结果是#include<stdio.h>main(){chars[80],c=‘a’;inti=0;scanf(“%s”,s);while(s[i]!=‘\n’){if(s[i]==c)s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32;i++;}puts(s);}A.ahaMaB.AbAMaC.AhAMa[空格]ahAD.ahAMa[空格]ahA正确答案:A解析:本题主要考查的知识点是大写字母比它对应的小写字母ASCII码值小32,并且字符可以看作整数进行算术运算等操作。30.有如下程序:main(){intn=9;while(n>6){n--;printf(“%d”,n);}}该程序的输出结果是A.987B.876C.8765D.9876正确答案:B解析:该题目应该根据循环体第一次和最后一次执行时的输出结果来决定哪一项是正确的。第一次进入循环时,n的值是9,循环体内,先经过n--运算,n的值变为8,所以第一次的输出值是8,由此可以排除选项A)和D)。由循环条件n>6可以知道,最后一次循环开始时,n的值应该为7,所以最后一次执行循环体时输出为6,由此可以排除选项C)。31.若执行下面的程序时,从键盘上输入5和2,则输出结果是main(){inta,b,k;scanf(“%d,%d”,&a,&b);k=a;if(a<b)k=a%b;elsek=b%a;printf(“%d\n”,k);}A.5B.3C.2D.0正确答案:C解析:本题考查简单的if...else语句。先执行条件if(a<b),显然不成立,则执行else语句。32.有以下程序:main(){intx=0,y=0,i;for(i=1;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf(“%d,%d”,x,y);}程序的输出结果是()。A.2,1B.2,2C.2,5D.5,2正确答案:A解析:本题考查了continue和break语句用在循环语句中的作用。break语句的作用是结束本层循环,而continue语句的作用是结束本次循环直接进入到下次循环。33.有以下函数定义:intmypr(doublea,doubleb){returna*b;}若以下选项中所用变量都已正确定义并赋值,错误的函数调用是A.if(mypr(x,y)){……}B.z=mypr(mypr(x,y),mypr(x,y));C.z=mypr(mypr(x,y)x,y);D.mypr(x,y);正确答案:C解析:本题考查了函数调用的方法。选项C函数调用mypr(x,y)可以作为表达式再参与运算,但是与另一个运算数x之间没有任何运算符所以是错误的。34.现有如下程序段#include”stdio.h”main(){inta[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};inti=0,j=5;printf(“%d\n”,*(&a[0][0]+2*i+j-2));}则程序的输出结果为A.21B.78C.23D.28正确答案:A解析:通过地址来引用二维数组;若有以下定义:inta[3][4],i,j;且当0≤i<3,0≤j<4,则可以有以下几种方式来引用数组中的第i行,第j列的元素:a[i][j],*(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。表达式&a[0][0]+2*i+j-2相当于是地址&a[0][0]加上多少偏移量。35.以下程序的输出结果是#include<stdio.h>inta[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)malloc(sizeof(int));f(p,a);printf(“%d\n”,*p);free(p);}f(int*s,intp[][3]){*s=p[1][1];}A.1B.4C.7D.5正确答案:D解析:本题考查了二维数组元素引用的方法。题中用动态存储分配函数malloc分配了一个int型数据长度大小的内存,然后指针p指向了这段内存,函数f()中对p所指向的数据进行了赋值,p[1][1]为二维数组第二行第二列的元素,对应于实参a的元素5,所以输出结果为5。36.有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A.a[p-a)B.*(&a[i])C.p[i]D.*(*(a+i))正确答案:D解析:本题考查数组指针的应用。选项D)第一层括号中为数组a中第i项元素的值,外面再加指针运算符没有意义。37.以下程序的输出结果是voidfun(float*p1,float*p2,float*s){s=(float*)calloc(1,sizeof(float));*s=*p1+*p2++;}main(){floata[2]={1.1,2.2},b[2]={10.0,20.0},*s=a;fun(a,b,s);printf(“%5.2f\n”,*s);}A.11.1B.12C.21.1D.1.1正确答案:D解析:本题主要考查了一维数组名用作函数实参进行的运算,数组名作实参相当于传递的是地址,这样在函数中对形参进行的操作可以影响到实参。38.请选出正确的程序段A.int*p;scanf(“%d”,p);…B.int*s,k;*s=100;…C.int*s,k;char*p,c;s=&k;p=&c;*p=‘a’;…D.int*s,k;char*p,e;s=&k;p=&c;s=p;*s=1;…正确答案:C解析:本题的选项A)和B)犯了一个同样的错误,即指针变量p定义后并没有指向具体的变量。也就是说,p中没有确定的地址值,它的值是不可预见的,所指向的单元也是不可预见的,因此不能进行赋值操作。另外,在选项D)中,s是int型指针变量,p是char型指针变量,所指向的内存单元所占用的字节数是不同的,因而不能将字符指针变量p的值赋给整型指针变量s。39.有以下程序intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=1;i<3;i++)j+=f(i);printf(“%d\n”,j);}程序运行后的输出结果是A.4B.3C.2D.1正确答案:B解析:在main函数中,对f(1)和f(2)的值进行了累加。f(1)=1f(2)=f(1)+1=2最后,j的值为1+2=340.在C语言中,变量的隐含存储类别是A.autoB.staticC.externD.无存储类别正确答案:A解析:auto变量:无static声明的局部变量。用auto作存储类别的声明时,可以不写auto,存储类别隐含确定为auto(自动存储类别)。是动态存储方式。大多数变量是自动变量。用static声明的局部变量是静态局部变量。函数调用结束后静态局部变量占据的内存存储单元空间不释放,局部变量保留原值,下次调用时可以继续使用该值。用extern声明外部变量,外部变量即全局变量,可以用extern声明来改变全局变量的作用域,实际上,关键字”auto”可以省略,auto不写则隐含确定为:自动存储类别”,它属于动态存储方式。41.以下程序的输出结果是unionmyun{struct{intx,y,z;}u;intk;}a;main(){a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf(“%d\n”,a.u.x);}A.4B.5C.6D.0正确答案:D解析:本题考查共用体变量起作用的范围。共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员就失去作用,在本题中,当对a.u.y成员赋值时,a.u.x的值就不存在了,当对a.u.2赋值时,a.u.y的值就不存在了。42.下面程序输出的结果是main(){intinta[3)[3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d”,a[2-i][i]);}A.159B.753C.357D.591正确答案:B解析:本题用循环的方法考查对数组概念的掌握。首先,当i=0时,数组中的位置是a[2][0]=7,当然,如果用排除法的话,就不用考虑后面的循环了,因为在4个选项中,第1个数为了的选项只有B)。本题执行第2次循环时,i的值为1,则printf函数中的数组指向为a[1][1]=5,依次循环,可求出答案。43.有以下程序#include<stdio.h>main(){FILE*fp;inti=20,j=30,k,n;fp=fopen(“d1.dat”,”w”);fprintf(fp,”%d\n”,i);fprintf(fp,”%d\n”,j);fclose(fp);fp=fopen(“d1.dat”,”r”);fscanf(fp,”%d%d”,&k,&n;printf(“%d%d\n”,k,n);fclose(fp);}程序运行后的输出结果是A.2030B.2050C.3050D.3020正确答案:A解析:本题中,最主要的是掌握几个有关文件的函数的应用。函数名:fopen功能:打开一个文件调用方式FILE*fp;fp=fopen(文件名,使用文件方式);函数名:fprintf功能:传送格式化输出到一个文件中调用方式:fprintf(文件指针,格式字符串,输出表列);函数名:fclose功能:关闭一个文件调用方式:fclose(文件指针);函数名:fscanf功能:从磁盘文件执行格式化输入调用方式:fscanf(文件指针,格式字符串,输入表列)。44.一个C语言程序是由A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成正确答案:B解析:C程序是由函数构成的。一个C源程序至少包括一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位,被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己编制设计的函数。45.C语言规定,在一个源程序中,main函数的位置A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后正确答案:C解析:一个C程序总是从main函数开始执行的,不论main函数在整个过程中的位置如何。46.下列叙述中正确的是A.C语言编译时不检查语法B.C语言的子程序有过程和函数两种C.C语言的函数可以嵌套定义D.C语言的函数可以嵌套调用正确答案:D解析:C语言相对其他高级语言来说,放宽了语法检查,因此程序设计自由度大,但并不是不检查语法,C语言的程序是由函数构成的。函数不能嵌套定义,但是可以嵌套调用。47.下面程序段的运行结果是chara[]=“lanuage”,*p;p=a;while(*p!=‘u’){printf(“%c”,*p-32);p++;}A.LANGUAGEB.languageC.LAND.langUAGE正确答案:C解析:本段程序的作用是输出字符串“lanuage”中字母u之前的字符,并将其转化为大写字母。注意:如果一个字符数组用来作为字符串使用,那么在定义该字符数组时,数组的大小就应该比它将要实际存放的最长字符多一个元素,以存放‘\0’。48.若执行下述程序时,若从键盘输入6和8时,结果为main(){inta,b,s;scanf(“%d%d”,&a,&b);s=aif(a<b)s=b;s*=s;printf(“%d”,s);}A.36B.64C.48D.以上都不对正确答案:B解析:本题中a的值为6,b的值为8,最后s的值为8,s*=s等价于s=s*s。49.以下叙述中不正确的是A.预处理命令行都必须以#号开始B.在程序中凡是以#号开始的语句行都是预处理命令行C.宏替换不占用运行时间,只占编译时间D.在以下定义是正确的:#definePI3.1415926;正确答案:D解析:带参数的宏定义如下:#define宏名(参数)字符串。本题中,宏定义的作用是指定用标识符PI来代替“3.1415926”这个字符串,但宏定义不是C语句,不必在行末加分号。50.下列各数据类型不属于构造类型的是A.枚举型B.共用型C.结构型D.数组型正确答案:A解析:共用型、结构型和数组型是C语言中的构造类型。填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡上。注意:以命令关键字填空的必须拼写完整。51.数据结构分为逻辑结构与存储结构,线性链表属于【】。正确答案:存储结构解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构;数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式。在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。52.在面向对象方法中,类之间共享属性和操作的机制称为【】。正确答案:继承解析:类是面向对象语言中必备的程序语言结构,用来实现抽象数据类型。类与类之间的继承关系实现了类之间的共享属性和操作,一个类可以在另一个已定义的类的基础上定义,这样使该类型继承了其父类的属性和方法,当然,也可以定义自己的属性和方法。53.耦合和内聚是评价模块独立性的两个主要标准,其中【】反映了模块内各成分之间的联系。正确答案:内聚解析:内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,内聚是从功能角度来度量模块内的联系;耦合性是模块间互相连接的紧密程度的度量。54.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于【】的联系。正确答案:一对多(或1:N)解析:两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有3种,即一对一(1:1)的联系、一对多(1:N)或多对一(N:1)的联系和多对多(N:N)的联系。55.数据库设计分为以下6个设计阶段:需求分析阶段、【】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。正确答案:概念设计阶段解析:数据库设计分为以下6个设计阶段:需求分析阶

温馨提示

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

评论

0/150

提交评论