[计算机类试卷]国家二级(C语言)笔试模拟试卷179及答案与解析.doc

上传人:孙刚 文档编号:503339 上传时间:2018-11-29 格式:DOC 页数:19 大小:53KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)笔试模拟试卷179及答案与解析.doc_第1页
第1页 / 共19页
[计算机类试卷]国家二级(C语言)笔试模拟试卷179及答案与解析.doc_第2页
第2页 / 共19页
[计算机类试卷]国家二级(C语言)笔试模拟试卷179及答案与解析.doc_第3页
第3页 / 共19页
[计算机类试卷]国家二级(C语言)笔试模拟试卷179及答案与解析.doc_第4页
第4页 / 共19页
[计算机类试卷]国家二级(C语言)笔试模拟试卷179及答案与解析.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、国家二级( C语言)笔试模拟试卷 179及答案与解析 1 算法的空间复杂度是指 ( )。 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 下列叙述中正确的是 ( )。 ( A)一个逻辑数据结构只能有一种存储结构 ( B)逻辑结构属于线性结构,存储结构属于非线性结构 ( C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 ( D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的 效率 3 下列关于类、对象、属性和方法的叙述中,错误的是 ( )。 ( A)类是对一类具有相同的属

2、性和方法对象的描述 ( B)属性用于描述对象的状态 ( C)方法用于表示对象的行为 ( D)基于同一个类产生的两个对象不可以分别设置自己的属性值 4 在软件开发中,需求分析阶段产生的主要文档是 ( )。 ( A)数据字典 ( B)详细设计说明书 ( C)数据流图说明书 ( D)软件需求规格说明书 5 数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和 ( )。 ( A)编码设计 ( B)测试阶段 ( C)运行阶段 ( D)物理设计 6 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是 ( )。 ( A)并 ( B)交 ( C)投影 ( D)除 7 下列叙述中,正确的是 ( )

3、。 ( A)软件交付使用后还需要进行维护 ( B)软件一旦交付使用就不需要再进行维护 ( C)软件交付使用后其生命周期就结束 ( D)软件维护是指修复程序中被破坏的指令 8 设一棵满二叉树共有 15个结点,则在该满二叉树中的叶子结点数为 ( )。 ( A) 7 ( B) 8 ( C) 9 ( D) 10 9 设 R是一个 2元关系,有 3个元组, S是一个 3元关系,有 3个元组。如T=RS,则 T的元组的个数为 ( )。 ( A) 6 ( B) 8 ( C) 9 ( D) 12 10 下列选项中,不属于数据库管理的是 ( )。 ( A)数据库的建立 ( B)数据库的调整 ( C)数据库的监控

4、 ( D)数据库的校对 11 以下关于 C语言的叙述中正确的是 ( )。 ( A)预处理命令通常位于函数体外面,但也可以位于函数体中间 ( B) C语言中的变量定义须在其他语句之前 ( C)在 C语言程 序的书写中,一个语句必须单占一行 ( D)一个 C语言源程序可以由一个或多个源文件组成,每个源文件可由自己的main函数 12 下列叙述中错误的是 ( )。 ( A)用户所定义的标识符允许使用关键字 ( B)用户所定义的标识符应尽量做到 “见名知意 ” ( C)用户所定义的标识符必须以字母或下划线开头 ( D)用户定义的标识符中,大、小写字母代表不同标识 13 下列选项中可作为 C语言合法常量

5、的是 ( )。 ( A) -80 ( B) -80 ( C) -80.0 ( D) -80.0e 14 下列定义 变量的语句中错误的是 ( )。 ( A) int_int; ( B) double int_; ( C) char For; ( D) float US$; 15 下列关于函数的叙述中正确的是 ( )。 ( A)每个函数都可以被其他函数调用 (包括 main函数 ) ( B)每个函数都可以被单独编译 ( C)每个函数都可以单独运行 ( D)在一个函数内部可以定义另一个函数 16 当 a=1、 b=2、 c=3、 d=4时,执行下面程序段后, x的值是 ( )。 if(a B)if(

6、c D)x=1; else if(a C)if(b D)x=2: else x=3: else x=6: else x=7: ( A) 1 ( B) 6 ( C) 3 ( D) 2 17 以下程序的输出结果是 ( )。 #include stdio.h main() int a=4, b=3,c=2, d=1; printf(“%d“, a b?a:d c?d:B); ( A) 1 ( B) 3 ( C) 2 ( D) 4 18 有以下程序 #include stdio.h main() int b33=0, 1, 2, 0, 1, 2,0, 1, 2, i,j,t=0; for(i=0; i

7、 3; i+) for(j=2;j =i;j-)t+=bij; printf(“%dn“, t); 程序运行后的输出结果是 ( )。 ( A) 4 ( B) 3 ( C) 8 ( D) 9 19 以下程序: #include stdio.h main() char str10; scanf(“%s“,switch(b%3) default:m+; case 0:m+;break; printf(“%dn“, m); ( A) 1 ( B) 2 ( C) 3 ( D) 4 22 定义如下变量和数组: int i, x33=1, 2, 3, 4, 5, 6, 7, 8, 9; 则下面语句的输出结果

8、是 ( )。 for(i=0; i 3; i+)printf(“%d“, xi2-i); ( A) 159 ( B) 147 ( C) 357 ( D) 369 23 有下列程序段: typedef struct NODE int num; struct NODE*next; OLD; 下列叙述中正确的是 ( )。 ( A)以上的说明形式非法 ( B) NODE是一个结构体类型 ( C) OLD是一个结构体类型 ( D) OLD是一个结构体变量 24 下列数组定义中错误的是 ( )。 ( A) int x3=0; ( B) int x23=1, 2, 3, 4, 5, 6; ( C) int

9、x3=1,2, 3, 4, 5, 6; ( D) int x23=1, 2, 3, 4, 5, 6; 25 以下叙述错误的是 ( )。 ( A)变量的作用域取决于变量定义语句的位置 ( B)全局变量可以在函数以外的任何部位进行定义 ( C)局部变量的作用域可用于其他函数的调用 ( D)一个变量说 明为 static存储类型是为了限制其他编译单元的引用 26 若定义函数 int*func(),则函数 func的返回值为 ( )。 ( A)一个实数 ( B)一个指向整型变量的指针 ( C)一个指向整型函数的指针 ( D)一个整型函数的入口地址 27 若有定义 int a5, *p=a;则正确引用数

10、组元素的是 ( )。 ( A) * ( B) q1=k; ( C) q1=q2; ( D) k=*q1+*q2; 37 以下有关宏替换的叙述不正确的是 ( )。 ( A)使用宏定义可以嵌套 ( B)宏定义语句不进行语法检查 ( C)双引号中出现的宏名不替换 ( D)宏名必须用大写字母表示 38 已知函数的调用形 式: fread(buffer,size, count, fp);其中 buffer代表的是( )。 ( A)一个整型变量,代表要读入的数据项总数 ( B)一个文件指针,指向要读的文件 ( C)一个指针,是指向的输入数据放在内存中的起始位置 ( D)一个存储区,存放要读的数据项 39

11、两次运行下面的程序,如果从键盘上分别输入 3和 2,则输出结果是 ( )。 #include stdio.h main() int x; scanf(“%d“, &x); if(x+2)printf(“%d“, x); else printf(“%dn“,x-); ( A) 4和 3 ( B) 4和 2 ( C) 4和 1 ( D) 3和 2 40 设某循环队列的容量为 50,头指针 front=5(指向队头元素的前一位置 ),尾指针rear=29(指向队尾元素 ),则该循环队列中共有 ( )个元素。 41 在面向对象方法中, ( )描述的是具有相似属性与操作的一组对象。 42 诊断和改正程序

12、中错误的工作通常称为 ( )。 43 一个关系表的行称为 ( )。 44 在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,( )负责数据的模式定义与数据的物理存取构建。 国家二级( C语言)笔试模拟试卷 179答案与解析 1 【正确答案】 D 【试题解析】 算法的空间复杂度是指执行这个算 法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行中所需要的额外空间。其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。在许多实际问题中,

13、为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。 2 【正确答案】 D 【试题解析】 数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不 同的存储结构,常用的存储结构有顺序和链式结构。采用不同的存储结构,其处理的效率是不同的。 3 【正确答案】 D 【试题解析】 类是对一类具有相同的属性和方法对象的描述,属性用于描述对象的状态,方法用于表示对象的行为,基于同一个类产生的两个对象是可以分别设置自己的属性值的。 4 【正确答案】 D 【试题解析】 需求分析的最终结果是生成软件需要规格说明书,可以为用户、分析人员和设计人员之间

14、的交流提供方便。 5 【正确答案】 D 【试题解析】 数据库设计目前一段采用生命周期法,即将整 个数据库应用系统的开分解成目标独立的若干阶段,它们是:需要分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。在数据库设计中采用上面几个阶段中的前四个阶段,并且重点以数据结构和模型设计为主线。 6 【正确答案】 B 【试题解析】 关系 R与 S经交运算后所得到的关系是由那些既在 R内又在 S内的有序组所组成,记为 RS,交运算不改变关系表中的属性个数但能减少元组个数。 7 【正确答案】 A 【试题解析】 软件的运行和维护是指将已交付的软件投入运行,并 在

15、运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。而软件生命周期是指软件产品从提出、实现、使用维护到停止使用退役的过程。 8 【正确答案】 B 【试题解析】 在具有 n个结点的满二叉树,其非叶子结点数为 int(n/2),而叶子结点数等于总结点数减去非叶子结点数。本题 n=15,故非叶子结点数等于int(15/2)=7,叶子结点数等于 15.7=8。 9 【正确答案】 C 【试题解析】 R为 n元关系,有 P个元组 S为 m元关系,有 q个元组。两个关系笛卡儿积是一个 n+m元的关系,元 组个数是 qp。所以 T的元组的个数为 9个。 10 【正确答案】 D 【试题解析】 数

16、据库管理一般包括:数据库的建立、数据库的调整、数据库的重组、数据库的安全性控制与完整性控制、数据库的故障恢复和数据库的监控。 11 【正确答案】 A 【试题解析】 源程序中可以有预处理命令 (include命令仅为其中的一种 )。 C语言中的变量可以在使用之前的任何位置进行定义。 C语言程序的书写中,多个语句可以位于一行,但为了增强可读性,一般每行只有一条语句。一个 C语言源程序可以由一个或多个源文件组成,但仅可以 有一个 main函数。 12 【正确答案】 A 【试题解析】 在 C语言中,合法标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,凡是要求标

17、识符的地方都必须按此规则命名。在 C语言的标识符中,大写字母和小写字母被认为是两个不同的字符。在选择标识符时,应注意做到 “见名知义 ”,即选择具有一定含义的英文单词或汉语拼音作为标识符,以增加程序的可读性。 13 【正确答案】 A 14 【正确答案】 D 15 【正确答案】 B 16 【正确答案】 A 17 【正确答案】 A 18 【正确答案】 C 【试题解析】 这道题主要考查的是二维数组的有关知识。在两层 for循环语句中,累加上三角元素,所以程序执行的过程为t=b00+b01+b02+b1+b12+b22=8。 19 【正确答案】 A 【试题解析】 当从键盘输入 bow are you时

18、,由于 scanf输入函数的特点是遇到空格时结束读入字符,因此,该程序只将 how这 3个字符送到了字符数组 str中,并在其后自动加上结束符 “0”。 20 【正 确答案】 A 【试题解析】 本题考查 printf函数的格式和逗号表达式。 printf函数在输出时,是根据格式说明符的个数输出的,如果函数中有有多余的项将不予输出;如果有输出项少于格式说明符,则出错,不能输出正确的结果。 本题中逗号表达式 (x,y)只返回 y的值。此时格式说明的个数是 2,而输出项的个数是 3,因此 printf函数只输出前两项。 21 【正确答案】 B 【试题解析】 本题考查 switch语句。因为 a=8,

19、 a%4=0,所以执行 case 0后面的语句,将 m加 1,遇到 break语句跳出 switch。 22 【正确答案】 C 【试题解析】 本题主要考查二维数组的使用。题中利用 for循环来输出 x数组中的指定元素: 当 j=0时,输出 x02=3; 当 i=1时,输出 x115; 当 i=2时。输出 x20=7。 23 【正确答案】 C 【试题解析】 C语言允许用 typedef说明一种新类型名,其一般形式为: typedef类型名 标识符。 typedef语句的作用仅仅是使 “标识符 ”来代表已存在的 “类型名 ”,并未产生新的数据类型。原有类型名依然有效。此题中,用使 typedef定

20、义了新的类型 OLD结构,所以 OLD为结构体类型。 24 【正确答案】 B 25 【正确答案】 D 【试题解析】 本题考查函数调用的变量作用域。全局变量不在任何函数体内定义,作用域为整个文件;局部变量在函数体内定义,作用域仅为本次函数; static类型是静态变量,为了方便其他编译单元的引用,不能随意改变。 一个函数包含两部分:函数首和函数体,函数体包括花括号内的所有语句。 26 【正确答案】 B 【试题解析】 本题考考查的是指针函数。指针函数定义的基本格式为:类型说明符 *函数名 ()。其中, “类型说明符 ”表示返回的指针。值所指向的数据类型。 27 【正确答案】 D 28 【正确答案】

21、 C 【试题解析】 联合体的几个特点: 联合体所占用的内存空间为最长的成员所占用的空间; 各个成员分量全部是从低地址方向开始使用内存单元; 联合体中的空间在某一时刻只能保存某一个成员的数据; 联合体和结构体可以任意嵌套。 29 【正确答案】 C 30 【正确答案】 D 【试题解析】 本题考查指针的运用。通过 pt=&xy,将 pt指向 xy所占有的内存地址,而 *pt是指针 pt所指向内存单元中的内容,即 200,所以最后 xy的值为230。 31 【正确答案】 B 【试题解析】 第一个 for循环,给数组 a的 20个元素分别赋值 0 19;第二个for循环,给数组 p赋值, p0=a1=1

22、, p1=a2=2, p2=a5=5,p3=a10=10;第三个 for循环,将数组 p中元素的值进行累加,k=1+2+5+10=18。 32 【正确答案】 C 【试题解析】 函数 fun(int*x, int i)的功能是把数组元素 xi的值加 1赋给 x0。所以 在主函数中执行 fun(a, 2)后,数组元数 a0的值等于 4。然后在 for循环语句中,输出数组 a中的前 4个元素的值,分别是 4, 2, 3, 4。 33 【正确答案】 C 【试题解析】 “*”号的优先级比 “+”的优先级高,所以先执行 “*p”;指针 p指向的是数组的首地址,因此 *p=a,再加 4得 e。 34 【正确

23、答案】 D 【试题解析】 本题考查指针变量的运用。本题中的函数数实质上是将字符串 t续接到字符串 s中。 35 【正确答案】 A 【试题解析】 本题考查的是静态变量以及函数的实参与 形参之间的地址值传递。sub()函数数中定义的变量 m是一个静态变量,系统可为其分配固定的存储空间,重复使用时,变量的值保留;所以当 mam()函数中的 for循环中语句 sub(a,&x);执行时, sub函数中 m的值依次是 4, 3, 2, 1, 0;因为变量 x进行的是地址值传递,所以最后依次输出的是数组 a的元素 a4、 a3、 a2、 a1、 a0。 36 【正确答案】 B 37 【正确答案】 D 【试

24、题解析】 本题考查宏替换的规则。宏替换有两类:简单的字符替换和带参数的宏替换。使用宏应注意: 宏 定义仅仅是符号替换,不是赋值语句,因此不做语法检查: 为了区别程序中其他的标示符,宏名的定义通常用大写字母,但不是必须用大写; 双引号中出现的宏名不替换; 使用宏定义可以嵌套,即后定义的宏中可以使用先定义的宏。 38 【正确答案】 C 【试题解析】 数据块输入 /输出函数的调用形式为: fread(buffer, size,count,fp)。 fread函数参数说明: “buffer”是一个指引,对 fread来说,它是读入数据的存放地址; “size”是要读写的字节数; “count”是要进行

25、读写多少个 size字节的数据项; “fp”是指文件型指针。 39 【正确答案】 A 【试题解析】 本题考查 if-else语句。首先, scanf函数通过键盘读入 x的值。当x=3时,第一个 if语句先判断条件,取 x的值 3和 2比较,然后将 x的值加 1, if条件成立,执行下面的 printf语句,输出 x的值 4。当 x=2时,第一个 if语句先判断条件,先取 x的值 2和 2比较,然后将 x的值加 1(x的值变为 3), if条件不成立,执行下面的 else语句,先输出 x的值 3,再将 x的值减 1。 40 【正确答案】 24 【试题解析】 当 front rear时循环队列中元

26、素的个数为 rear-front,当 frontrear时,循环队列中元素的个数为 N(N为循环队列容量 )-front+rear。此题中front=5 rear=29,因此该循环队列中共有 29-5=24个元素。 41 【正确答案】 类 【试题解析】 现实世界中的很多事物都具有相似的性质,把具有相似的属性和操作的对象归为类,也就是说类是具有共同属性、共同方法的对象的集合,是对对象的抽象。 42 【正确答案】 程序调试 【试题解析】 程序调试的任务是诊断和改 正程序中的错误,主要在开发阶段进行,调试程序应该由编制源程序的程序员来完成。 43 【正确答案】 元组 【试题解析】 一个关系表中的行称为元组,列称为属性。 44 【正确答案】 数据定义语言 【试题解析】 数据定义语言负责数据的模式定义和数据的物理存取构建;数据操纵语言负责数据的操纵,包括查询及增、删、改等操作;数据控制语言负责数据完整性、安全性的定义与检查以及并发控制、数据恢复等功能。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1