1、国家二级( C+)笔试模拟试卷 33及答案与解析 1 下列字符常量表示中, _ 是错误的。 ( A) 105 ( B) * ( C) 4f ( D) a 2 下列对字符数组进行初始化的语句中, _ 是正确的。 ( A) char s 1=“abcd”; ( B) char s23=”xyz”; ( C) char s 33=a,x,y ( D) char s33=“xyz”,“mnp”; 3 在一个被调用函数中,关于 rerun语句的 描述, _ 是错误的。 ( A)被调用函数中可以不用 return 语句 ( B)被调用函数中可以使用多个 return 语句 ( C)被调用函数中,如果有返回
2、值,就一定要有 return 语句 ( D)被调用函数中,一个 return 语句可以返回多个值给调用函数 4 将两个字符串连接起来组成一个字符串时,选用 _ 函数。 ( A) strlen() ( B) strcpy() ( C) strcat() ( D) strcmp() 5 以下函数声明中,存在语法错误的是 _ 。 ( A) int AA(int a,int); ( B) int *BB (int,int); ( C) void CC (int,int=5); ( D) void*DD (x, y); 6 设 i和 j为 int 型变量,以下表达式中,与下标引用 xij不等效的是 _
3、。 ( A) *(xi+j) ( B) *(x+i)j ( C) *(x+i+j) ( D) *(*(x+i)+j) 7 设 int*p2= x, *p1=a; p2=*b,则 a和 b的类型分别是 _ 。 ( A) int*和 int ( B) int*和 int* ( C) int 和 int* ( D) int*和 int* 8 设 void f1(int*, long Myclass( ); public: int *p; ; Myclass: :Myclass( int hum) 【 】 Myclass: Myelass( ) 【 】 ; 。 46 流操作中若要按八进制、十六进制和十
4、进制格式显示,则应用【 】、【 】和【 】来分别指定。 47 在下面函数的横线处填上适当的内容使该函数能够利用递归方法求解字符串 str的长度 (不得使用系统提供的字符串处理函数 )。 int GetLen(char *str if (【 】 ) return 【 】; else return 1+GetLen (str+1); 48 在下向程序和横线处填上适当的内容,使程序执行后的输出结果为 1/2005。 #include iostream using namespace std; class Date public: Date(int m=1,int y=0):month(m),year
5、(y) void Print() cout month “/“ year end 1; 【 】 operator+(eonst Date private: int month,year; ; 【 】 operator+(const Date year=d1.year+d2.year; month=d1. month+d2.month; year+=(month-1 )/12; month=(month-1 )% 12+1; return Date(month,year); void main() Date d1 (3,2004),d2,d3(10); d2=d3+d1; d2,Print();
6、 49 在下面程序的横线处填上适当的内容,使程序执行后的输出结果为 ABCD。 #include iostream using namespace std; class A public: A() cout A; ; class B: 【 】 public:B() cout B; ; class C: 【 】 public: C()cout C; ; class D:public B,public C public:D() cout D; ; void main() D obj; 国家二级( C+)笔试模拟试卷 33答案与解析 1 【正确答案】 C 【试题解析】 4f是错误的。 2 【正确答案
7、】 A 【试题解析】 BCD选项都不合字符数组的定义。 3 【正确答案】 D 【试题解析】 被调用函数中,一个 return 语句只能返回一个值给调用函数。 4 【正确答案】 C 【试题解析】 将两个字符串连接起来组成一个字符串,选用 strcat 函数来连接。 5 【正确答案】 D 【试题解析】 D选项参数没有进行声明。 6 【正确答案】 C 【试题解析】 *(x+ i+ j) 没有定义变量 xij。 7 【正确答案】 B 【试题解析】 a的类型一定是一个 int *型,而 b的类型是 int *类型。 8 【正确答案】 A 【试题解析】 函数 f1的第一个参数为 int*,第二个参数为 l
8、ong &,所以 f1(a, b)为合法调用。 9 【正确答案】 C 【试题解析】 类中定义的成员,隐含访问权限是 private。 10 【正确答案】 D 【试题解析】 定义文件流对象的语句为 fstream fin (“A:abc。 txt”,ios: nocreate); 11 【正确答案】 B 【试题解析】 AB a(4), b3构造函数构造了 4次,所以答案选择 B。 12 【正确答案】 B 【试题解析】 实现两个 AB类对象的加法,井返回相加结果的成员函数,声明语句应该为 AB operator+(AB &a)。 13 【正确答案】 B 【试题解析】 由 C+目标文件连接而成的可执
9、行文件的缺省扩展名为 exe。 14 【正确答案】 C 【试题解析】 C选项没有初始化,而且没有指定元素的个数,所以是错误的。 15 【正确答案】 D 【试题解析】 D选项用 “; ”(分号 )分隔参数,所以存在语法错误。 16 【正确答案】 C 【试题解析】 C选项拷贝构造函数是引用,符合拷贝构造函数的要求。 17 【正确答案】 C 【试题解析】 结构中定义的成员隐含访问权限是 private。 18 【正确答案】 C 【试题解析】 ifstream 缺省 in,ofstream 缺省 out, fstream 缺省是 in 或 out。 19 【正确答案】 C 【试题解析】 new 分配函
10、数。 20 【正确答案】 B 【试题解析】 a为一个数组名,不能进行 a+操作,所以 B是错误的。 21 【正确答案】 D 【试题解析】 D选项符合二维数组的定义。 22 【正确答案】 D 【试题解析】 D选项第一个参数没有声明参数类型。 23 【正确答案】 B 【试题解析】 AB类的参数应该为引用的形式。 24 【正确答案】 C 【试题解析】 strstrea.h 包含 了常用的流对象并联系一个字符串,所以在文件开始使用 #include 命令包含 strstrea.h。 25 【正确答案】 B 【试题解析】 顺序结构、循环结构和选择结构是算法的基本结构。 26 【正确答案】 A 【试题解析
11、】 在二叉树的第 k层上,最多有 2k-1 (k1)个结点,而不是 2k (k1)个结点。 27 【正确答案】 C 【试题解析】 分支结构实际就是选择结构,重复结构就是循环结构,顺序结构为结构化程序的基本特点之一。 28 【正确答案】 A 【试题解析】 自顶向下是结构化程序设计的特征。 29 【正确答案】 B 【试题解析】 根据先进后出的原则,输入序列为 1, 2, 3, 4, 5,当 5进入时,不可能先出 1,再出 3, 2,所以选择 B。 30 【正确答案】 B 【试题解析】 软件生命周期的三个阶段是软件设计、软件开发、运行维护。 31 【正确答案】 D 【试题解析】 数据库属于数据设计阶
12、段的主要任务。 32 【正确答案】 D 【试题解析】 系统测试:将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运 行环境下进行一系列的测试。 33 【正确答案】 A 【试题解析】 数据流图的合法图符包括加工、数据存储和源。 34 【正确答案】 D 【试题解析】 概念模式,数据库系统中全局数据逻辑结构的描述,全体用户公共数据视图:外模式,也称子模式与用户模式,是用户的数据视图,也就是用户所见到的数据模式;内模式,又称物理模式,它给出了数据库物理存储结构与物理存取方法。 35 【正确答案】 C 【试题解析】 数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和物理
13、设计。 36 【正确答案 】 时间 【试题解析】 评价一个算法时间性能的主要标准就是算法的时间复杂度。它是某个算法的时间耗费,是该算法所求解问题规模的函数。 37 【正确答案】 数据元素 【试题解析】 数据元素是数据的基本单位。 38 【正确答案】 多关键字 【试题解析】 包含有多个次关键字索引的文件称为多关键字文件,多重表文件和倒排文件都归属于多关键字文件。 39 【正确答案】 黑盒 【试题解析】 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正 常使用。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测
14、试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件 )的完整性。 40 【正确答案】 视图 【试题解析】 视图是从一个或多个基本表中导出的虚表,它本身不存储数据。 41 【正确答案】 inline 【试题解析】 内联函数的声明方法。 42 【正确答案】 静态 【试题解析】 构造 函数不能声明为虚函数,但在构造函数中可以调用虚函数,在构造函数和析构函数中调用虚函数,将采用静态联编。 43 【正确答案】 友元函数 【试题解析】 当需要重载运算符具有可交换性时,选择重载为友元函数。 44 【
15、正确答案】 值 |地址 【试题解析】 函数传递只有两种形式 值传递和地址传递。 45 【正确答案】 P=new int(a)、 delete P 【试题解析】 new和 delete的用法。 46 【正确答案】 ocx、 hex、 dec 【试题解析】 流操作中 ocx、 hex、 dec分别指定为按八进制、十六进制和十进制格式显示。 47 【正确答案】 *str=NULL 或者 !*str 0 【试题解析】 如果结束,返回 0值。 48 【正确答案】 friend Date Date 【试题解析】 重载及友元的相关内容。 49 【正确答案】 virtual public A virtual public A 【试题解析】 继承的相关概念。