1、国家二级 C+机试(选择题)-试卷 22 及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列关于栈叙述正确的是( )。(分数:2.00)A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除2.下列叙述中正确的是( )。(分数:2.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法均不正确3.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的
2、深度为(假设根结点在第 1 层)( )。(分数:2.00)A.3B.4C.6D.74.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。(分数:2.00)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.结构化程序所要求的基本结构不包括( )。(分数:2.00)A.顺序结构B.GOTO 跳转C.选择(分支)结构D.重复(循环)结构6.下面描述中错误的是( )。(分数:2.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软
3、件详细设计的表示工具7.负责数据库中查询操作的数据库语言是( )。(分数:2.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言8.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是( )。(分数:2.00)A.1:1 联系B.1:m 联系C.m:1 联系D.m:n 联系9.有三个关系 R、S 和 T 如下: (分数:2.00)A.自然连接B.并C.交D.差10.定义无符号整数类为 UInt,下面可以作为类 UInt 实例化值的是( )。(分数:2.00)A.369B.369C.0.369D.整数集合1,2,3,4,511.下列字符串中可以用作 C
4、+ 标识符的是(分数:2.00)A.1481varB.test-1481C.trueD._12312.下列枚举类型的定义中,包含枚举值 3 的是(分数:2.00)A.enum test LEFT, UP, RIGHT,DOWN;B.enum test LEFT, UP=5, RIGHT, DOWN;C.enum test LEFT=-1, UP,RIGHT, DOWN;D.enum test LEFT, UP, RIGHT=6, DOWN;13.有如下程序段: int i=1; while(1) i+; if(i = 30) break; if(i%3 = 0) cout class A;39
5、.下列关于输入流类成员函数 getline() 的叙述中,错误的是(分数:2.00)A.该函数是用来读取键盘输入的字符串的B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符便停止D.该函数读取字符串时,可以包含空格40.有如下程序 #include #include using namespace std; int main( ) cout,所以 B 选项错误。38.有如下模板声明: template class A; 下列声明中,与上述声明不等价的是(分数:2.00)A.template class A;B.template class A;C.template clas
6、s A;D.template class A; 解析:解析:本题考查模板的定义,A、B、C 选项中两个参数都为 typename 或 class,而 D 选项中第二个参数不是 typename 或 class,所以与题目中不等价,D 选项错误。39.下列关于输入流类成员函数 getline() 的叙述中,错误的是(分数:2.00)A.该函数是用来读取键盘输入的字符串的 B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符便停止D.该函数读取字符串时,可以包含空格解析:解析:本题考查字符输入的流成员函数 getline,函数原型为: istream 将输入流 is 中读到的字符
7、存入 str 中,直到遇到终结符 delim 才结束。对于第一个函数 delim 是可以由用户自己定义的终结符;对于第二个函数 delim 默认为 /n(换行符)。 函数在输入流 is 中遇到文件结束符(EOF)或者在读入字符的过程中遇到错误都会结束。 在遇到终结符 delim 后,delim 会被丢弃,不存入 str 中。在下次读入操作时,将在 delim 的下个字符开始读入。所以 A 选项错误。40.有如下程序 #include #include using namespace std; int main( ) coutsetprecision(3)fixedsetfill(*)12.345_A.setprecision(3)B.fixedC.setfill(*)D.setw(8) 解析:解析:本题考查输入输出格式的控制,可以看出*12.345 和*34.567 字段宽度都为 8,所以遗漏处为 setw(8),D 选项正确。