1、计算机二级(C)5 及答案解析(总分:645.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:40,分数:60.00)1.有以下程序: void sum(int a) a0=a-1+a1; main() int a10= 1,2,3,4,5,6,7,8,9,10; sum( printf(“%d/n“,a2); 程序运行后的输出结果是_。 (分数:1.50)A.6B.7C.5D.82.在 Windows 环境下,能实现窗口移动的操作是( )。(分数:1.50)A.用鼠标拖动窗口中的任何部位B.用鼠标拖动窗口的边框C.用鼠标拖动窗口的控制按钮D.用鼠标
2、拖动窗口的标题栏。3.有以下程序: int a=2; int f(int n) static int a=3; int t=0; if(n%2) static int a=4; t+=a+; else static int a=5; t+=a+; return t+a+; main() int s=a,i; for(i=0;iA.26B.28C.29D.244.在 Windows 环境下,粘贴按钮是( )。(分数:1.50)A.B.C.D.5. 有以下程序 main( ) int i=10,j=1; printf(“%d,%d/n“,i-,+j); 执行后输出的结果是( )。 (分数:1.50
3、)A.9,2B.10,2C.9,1D.10,16.设 char 型变量 x 中的值为 10100111,则表达式(2+x)(3)的值是(分数:1.50)A.10101001B.10101000C.11111101D.010101017.阅读以下函数 fun(char *sl,char *s2) int i=0; while(sli=s2i return(sli=/0 此函数的功能是( )。 (分数:1.50)A.比较 s1 和 s2 所指字符串的大小,若 s1 比 s2 的大,函数值为 1,否则函数值为 0B.将 s2 所指字符串赋给 s1C.比较 s1 和 s2 所指字符串是否相等,若相等,
4、函数值为 1,否则函数值为 0D.比较 s1 和 s2 所指字符串的长度,若 s1 比 s2 的长,函数值为 1,否则函数值为 08.有以下程序: int fa(int x) return x *x; int fb(int x) return x *x *x; int f(int( *f1)( ),int( *f2)( ),int x) return f2(x)-f1(x); main( ) int i; i=f(fa,fb,2);printf(“%d/n“,i); 程序运行后的输出结果是( )。 (分数:1.50)A.-4B.1C.4D.89.下列关于栈的描述正确的是_。 (分数:1.50)
5、A.在栈中能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素10.执行以下程序后,test.txt 文件的内容是(若文件能正常打开)_。 #include main() FILE *fp; char *s1=“Fortran“,*s2=“Basic“; if(fp=fopen(“test.txt“,“wb“)=NULL) printf(“Cant open test.txt file/n“); exit(1); fwrite(s1,7,1,fp); /*把从地址 s1 开始的 7
6、 个字符写到 fp 所指文件中*/ f seek(fp, 0L,SEEK_SET); /*文件位置指针移到文件开头*/ fwrite(s2,5,1,fp); fclose(fp); (分数:1.50)A.BasicanB.BasicFortranC.BasicD.FortranBasic11.若整型变量 a、b、c、d 中的值依次为 1、4、3、2。则条件表达式 a0|Ename,p-num); printf(“%s %d/n“,p-name,p-num); 程序运行后的输出结果是_。(分数:1.50)A.SunDan 20042B.SunDan 20044C.LiSiGuo 20042D.Y
7、angSan 2004136.与十进制数 200 等值的十六进制数为( )。(分数:1.50)A.A8B.A4C.C8D.C437.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是( )。(分数:1.50)A.if(ab) else k=0;B.if(ab)|(bc) k=1 else k=0;C.if(ab) k=1; else if(bc) k=1; else k=0;38.在 Windows 环境下,当一个应用程序窗口被最小化后,该应用程序( )。(分数:1.50)A.继续在后台运行B.继续在前台运行C.终止运行D.暂停运行39.已定义 ch 为字符型变量,以下赋值语句中
8、错误的是(分数:1.50)A.ch=/;B.ch=62+3;C.ch=NULL;D.ch=/xaa;40.十六进制数 100 转换为十进制数为( )。(分数:1.50)A.256B.512C.1024D.6441.下列叙述中,不属于软件需求规格说明书的作用的是( )。(分数:-1.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析42.NULL 是指 ( )。(分数:-1.00)A.0B.空格C.未知的值或无任何值D.空字符串43.SQL 语言又称为( )。(分数:-1.00)A.结构化定
9、义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言44.链表不具有的特点是( )。(分数:-1.00)A.不必事先估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比45.应用数据库的主要目的是( )。(分数:-1.00)A.解决数据保密问题B.解决数据完整性问题C.解决数据共享问题D.解决数据量大的问题46.下列说法中,不属于数据模型所描述的内容的是( )。(分数:-1.00)A.数据结构B.数据操作C.数据查询D.数据约束47.关系表中的每一横行称为一个( )。(分数:-1.00)A.元组B.字段C.属性D.码48.在数据管理技术发展过程中,
10、文件系统与数据库系统的主要区别是数据库系统具有( )。(分数:-1.00)A.特定的数据模型B.数据无冗余C.数据可共享D.专门的数据管理软件49.下列不属于软件调试技术的是( )。(分数:-1.00)A.强行排错法B.集成测试法C.回溯法D.原因排除法50.数据库、数据库系统和数据库管理系统之间的关系是( )。(分数:-1.00)A.数据库包括数据库系统和数据库管理系统B.数据库系统包括数据库和数据库管理系统C.数据库管理系统包括数据库和数据库系统D.3 者没有明显的包含关系三、填空题(每空 2 分,共 40 分)(总题数:15,分数:600.00)51.以下函数的功能是删除字符串 s 中的
11、所有数字字符。请填空。 viod dele(char *s) int n=0,i; for(i=0;si;i+) if( 1) sn+=si; sn= 2; (分数:40.00)填空项 1:_52.设函数 findbig( )已定义为求 3 个数中的最大值。以下程序将利用函数指针调用 findbig 函数。请填空。 main( ) int findbig(int,int,int); int (*f)( ),x,y,z,big; f= 1; scanf(“%d%d%d“, big=(*f)(x,y,z); printf(“big=%d/n“,big); (分数:40.00)填空项 1:_53.以
12、下程序的输出结果是 1。 #define MCRA(m) 2*m #define MCRB(n,m) 2*MCRA(n)+m main( ) int i=2,j=3; printf(“%d/n“,MCRB(j,MCRA(i); (分数:40.00)填空项 1:_54.在 DOS 环境下,表示打印机的设备文件名是 1。(分数:40.00)填空项 1:_55.以下程序的功能是输入任意整数给 n 后,输出 n 行由大写字母 A 开始构成的三角形 字符阵列图形。例如,输入整数 5 时(注意:n 不得大于 10),程序运行结果如下: A B C D E F G H I J K L M N O 请填空完成
13、该程序。 main1 int i,j,n; char ch=A; scanf(“%d“, if(n0|Ename,p-num); printf(“%s %d/n“,p-name,p-num); 程序运行后的输出结果是_。(分数:1.50)A.SunDan 20042 B.SunDan 20044C.LiSiGuo 20042D.YangSan 20041解析:本题主函数中定义了结构体类型的指针变量 p,并使其指向了结构体类型的数组 s1,并通过调用函数 f 改变了指针变量 p 所指向的结构体中成员变量 name 的值,但并未改变其 num 的值。这是因为函数 f 中的形参 name 是一个字符
14、型指针变量,它指向了主函数中指针变量 p 所指向的结构体的成员变量 name, 所以对函数 f 中的形参*name 的改变也就是对主函数中 p-name 的改变,而函数 f 中对形参 num 的改变并 不会影响主函数中 p-num 的值,因为此时传递给 num 的是一个值,而不是地址。36.与十进制数 200 等值的十六进制数为( )。(分数:1.50)A.A8B.A4C.C8 D.C4解析:37.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是( )。(分数:1.50)A.if(ab) else k=0; B.if(ab)|(bc) k=1 else k=0;C.if(ab)
15、 k=1; else if(bc) k=1; else k=0;解析:38.在 Windows 环境下,当一个应用程序窗口被最小化后,该应用程序( )。(分数:1.50)A.继续在后台运行 B.继续在前台运行C.终止运行D.暂停运行解析:39.已定义 ch 为字符型变量,以下赋值语句中错误的是(分数:1.50)A.ch=/; B.ch=62+3;C.ch=NULL;D.ch=/xaa;解析:40.十六进制数 100 转换为十进制数为( )。(分数:1.50)A.256 B.512C.1024D.64解析:41.下列叙述中,不属于软件需求规格说明书的作用的是( )。(分数:-1.00)A.便于用
16、户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析 解析:软件需求规格说明书(SRS,Software Requirement Specification)是需求分析阶段的最后成果,是软件 开发中的重要文 档之一。它有以下几个方面的作用:便于用户、开发人员进行理解和交流;反映出用户问题的结 构,可以作为软件开发工作的基础和依据;作为确认测试和验收的依据。42.NULL 是指 ( )。(分数:-1.00)A.0B.空格C.未知的值或无任何值 D.空字符串解析:此题属于记忆性的题目,NULL 是指未知的值或无
17、任何值。43.SQL 语言又称为( )。(分数:-1.00)A.结构化定义语言B.结构化控制语言C.结构化查询语言 D.结构化操纵语言解析:结构化查询语言(Structured Query Language,简称 SQL)是集数据定义、数据操纵和数据控制功能于一体 的数据库语言。44.链表不具有的特点是( )。(分数:-1.00)A.不必事先估计存储空间B.可随机访问任一元素 C.插入删除不需要移动元素D.所需空间与线性表长度成正比解析:链表采用的是链式存储结构,它克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。但是链式存
18、储结构也有不足之处:每个结点中的指针域需额外占用存储空间;链式存储结构是一种非随机存储结构。45.应用数据库的主要目的是( )。(分数:-1.00)A.解决数据保密问题B.解决数据完整性问题C.解决数据共享问题 D.解决数据量大的问题解析:数据库中的数据具有“集成”与“共享”的特点,也就是数据库集中了各种应用的数据,进行统一构造与存储,而使它们可以被不同应用程序所使用,故选项 C)正确。46.下列说法中,不属于数据模型所描述的内容的是( )。(分数:-1.00)A.数据结构B.数据操作C.数据查询 D.数据约束解析:数据模型所描述的内容有 3 个部分,它们是数据结构、数据操作和数据约束。其中,
19、数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式。47.关系表中的每一横行称为一个( )。(分数:-1.00)A.元组 B.字段C.属性D.码解析:关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为表中的一个属性,对应表中的一个字段;在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。48.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有( )。(分数:-1.00)A.特定的数据模型 B.数据无冗余C.数据可共享D.专门的数据管理软件解析:在文件系统中,相互独立的记录其内部结构的
20、最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。49.下列不属于软件调试技术的是( )。(分数:-1.00)A.强行排错法B.集成测试法 C.回溯法D.原因排除法解析:调试的关键在于推断程序内部的错误位置及原因。主要的调试方法有强行排错法、回溯法和原因排除法。50.数据库、数据库系统和数据库管理系统之间的关系是( )。(分数:-1.00)A.数据库包括数据库系统和数据库管理系统B.数据库系统包括数据库和数据库管理系统 C.数据库管理系统
21、包括数据库和数据库系统D.3 者没有明显的包含关系解析:数据库系统(Data Base System,简称 DBS)包括数据库(Data Base,简称 DB)和数据库管理系统(Data Base Management System,简称 DBMS)。三、填空题(每空 2 分,共 40 分)(总题数:15,分数:600.00)51.以下函数的功能是删除字符串 s 中的所有数字字符。请填空。 viod dele(char *s) int n=0,i; for(i=0;si;i+) if( 1) sn+=si; sn= 2; (分数:40.00)填空项 1:_ (正确答案:si=0si=9)解析:
22、52.设函数 findbig( )已定义为求 3 个数中的最大值。以下程序将利用函数指针调用 findbig 函数。请填空。 main( ) int findbig(int,int,int); int (*f)( ),x,y,z,big; f= 1; scanf(“%d%d%d“, big=(*f)(x,y,z); printf(“big=%d/n“,big); (分数:40.00)填空项 1:_ (正确答案:findbig)解析:53.以下程序的输出结果是 1。 #define MCRA(m) 2*m #define MCRB(n,m) 2*MCRA(n)+m main( ) int i=2
23、,j=3; printf(“%d/n“,MCRB(j,MCRA(i); (分数:40.00)填空项 1:_ (正确答案:16)解析:54.在 DOS 环境下,表示打印机的设备文件名是 1。(分数:40.00)填空项 1:_ (正确答案:PRN)解析:55.以下程序的功能是输入任意整数给 n 后,输出 n 行由大写字母 A 开始构成的三角形 字符阵列图形。例如,输入整数 5 时(注意:n 不得大于 10),程序运行结果如下: A B C D E F G H I J K L M N O 请填空完成该程序。 main1 int i,j,n; char ch=A; scanf(“%d“, if(n=n
24、;i+) for(j=1; j=n-i+1;j+) printf(“%2c“,ch); 2 ; 3 ; else printf (“n is too large!/n“); printf(“/n“); (分数:40.00)填空项 1:_ (正确答案:ch+ 或 ch=ch+1 或 +ch , printf(“/n“))解析:此题主要考核的是有关循环的程序分析。程序中使用了两层 for 循环,外循环的作用是控制行数,内循环的作用是控制每行的列数,在此循环内第一个空中填入 ch+的作用是将输出的字符本身加 1,成为 欲输出的下一个字符。第二个空中填入 printf(“/n“)是用来实现换行操作的。
25、56.E-mail 地址由用户名和域名两部分组成,这两部分的分隔符为 1。(分数:40.00)填空项 1:_ (正确答案:)解析:57.以下程序运行后的输出结果是 1。 main( ) char a =“123456789“,*p; int i=0; p=a; while(*p) if(i%2=0) *p=*; p+;i+; puts(a); (分数:40.00)填空项 1:_ (正确答案:*2*4*6*8*)解析:58.以下程序运行后的输出结果是 1。 main( ) int p7=11,13,14,15,16,17,18; int i=0,j=0; while(i填空项 1:_ (正确答案
26、:24)解析:59.以下程序运行后的输出结果是 1。 main( ) int a 44=1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18; int i=0,j=0,s=0; while(i+4) if(i=2|i=4) continue; j=0; do s+= aj; j+; while(j4); printf(“%d/n“,s); (分数:40.00)填空项 1:_ (正确答案:92)解析:60.数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数 据独立性最高的阶段是 1。(分数:40.00)填空项 1:_ (正确答案:数据库系统)解析:在
27、数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据 独立性最高的阶段是数据库系统。61.在面向对象方法中,类的实例称为 1。(分数:40.00)填空项 1:_ (正确答案:对象)解析:将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。62.一棵二叉树第六层(根结点为第一层)的结点数最多为 1 个。(分数:40.00)填空项 1:_ (正确答案:32)解析:根据二叉树的性质:二叉树第 i(i1)层上至多有 2i-1 个结点。得到第 6 层
28、的结点数最多是 32。63.以下程序中,函数 sumColumM 的功能是:求出 M 行 N 列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。 #define M 2 #define N 4 void SumColumMin(int aMN,int *sum) int i,j,k,s=0; for(i=0;iN;i+ k=0; for(j=1;jM;j+ if(akiaji)k=j; s+= 1; 2=s; main( ) int xMN=3,2,5,1,4,1,8,3,s; SumColumMin( 3); printf(“%d/n“,s); (分数:40
29、.00)填空项 1:_ (正确答案:aki)解析:64.计算机软件分为系统软件和应用软件,UNIX 系统属于 1。(分数:40.00)填空项 1:_ (正确答案:系统软件)解析:65.以下程序运行后的输出结果是 1。 main2 int x=10,y=20,t=0; if(x= =y)t=x;x=y;y=t printf(“%d,%d/n“,x,y); (分数:40.00)填空项 1:_ (正确答案:20,0)解析:66.栈和队列通常采用的存储结构是 1。(分数:-1.00)填空项 1:_ (正确答案:链式存储和顺序存储)解析:栈和队列都属于线性表,它们一般采用顺序存储结构,也可以对它们采用链
30、式存储结构。67.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为 1。(分数:-1.00)填空项 1:_ (正确答案:n/2)解析:在线性表的任何位置插入一个元素的概率相等,即概率为 p=1/(n+1),则插入一个元素时所需移动元素的平均次数为 E=1/(n+1)(n-i+1)=n/2。68.在面向对象的程序设计中,类描述的是具有相似性质的一组 1。(分数:-1.00)填空项 1:_ (正确答案:对象)解析:将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。69.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 1。(分数:-1.00)填空项 1:_ (正确答案:软件生命周期)解析:软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。70. 1 是数据库设计的核心。(分数:-1.00)填空项 1:_ (正确答案:数据模型)解析:数据模型是对客观事物及联系的数据描述,它反映了实体内部及实体与实体之间的联系。因此,数据模型是数据库设计的核心。