二级C++笔试-322
(总分96, 做题时间90分钟)
一、选择题
下列各题A) 、B) 、C) 、D) 四个选项中,只有一个选项是正确的。
1. 
数据库、数据库系统和数据库管理系统之间的关系是
A 数据库包括数据库系统和数据库管理系统
B 数据库系统包括数据库和数据库管理系统
C 数据库管理系统包括数据库和数据库系统
D 三者没有明显的包含关系
    分值: 2
答案:B
[解析] 数据库系统(DataBase System,简称DBS) 包括数据库(DataBase,简称DB) 、数据库管理系统(DataBase Management System,简称DBMS) 、数据库管理员、硬件和软件。
2. 
对于下面的程序:
   ifstream fin(c:\) ;
   if(fin)
   cout < < "ok";
   else
   cout < < "wrong";
   if语句中的内容可以换为
指向类成员函数的指针A fin. fail( ) ;
B fin. bad( ) ;
C fin. good( ) ;
D fin. eof( ) ;
    分值: 2
答案:C
[解析] C++语言中判断文件操作成功主要有两个函数good( ) 和fail( ) ,其中if(文件流名. good( ) ) 和if(!文件流名.fail( ) ),还有if(文件流名) 都可以表示判断文件操作是否成功。
3. 
以下程序的输出结果是
   #include<iostream.h>
   void main( )
     char x=040;
   cout < < (X < < 1) ;
A 100
B 80
C 64
D 32
    分值: 2
答案:C
[解析] 左移1位,相当于乘以2,题中的 x的值是一个八进制数,转换为十进制数是32,再乘以 2,x的值为64。
4. 
下列运算符中全都可以被友元函数重载的是
A =、+、-、\
B [ ] 、+、( ) 、new
C ->、+、*、>>
D < <、>>、+、*
    分值: 2
答案:D
[解析] C++中只能被成员函数重载的运算符是=,[ ] ,( ) ,->,只能被友元函数重载的是
< <、>> 。
5. 
数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及
A 数据的存储结构
B 计算方法
C 数据映象
D 逻辑存储
    分值: 2
答案:A
[解析] 数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含3个方面
的内容,即数据的逻辑结构、存储结构和数据的运算。
6. 
有如下说明:
   int a[10] =1,2,3,4,5,6,7,8,9,10,* p=a;
   则数值为9的表达式是
A *p+9
B * (p+8)
C * p+=9
D p+8
    分值: 2
答案:B
[解析] 按照C++语言的数组元素的引用方法,如数组元素a[0] ,可以用表达式 * (p+0) ,即
* p来引用,对于数组元素a[1] ,可以用表达式 * (p+ 1) 来引用,在这里,p+1的值就是数组元素a[1] 的地址,对此地址使用“间接访问运算符”:* (p+1) 就代表存储单元a[1] ,注意一对圆括号不可少。同样,对于数组元素a[2] ,则可以用表达式 * (p+2) 来引用…,对于数组元素a[9] ,可以用表达式 * (p+9) 来引用。因此,当指针变量p指向a数组的起始地址时,若0≤i< 10,则数组元素a[i] 可以用表达式 * (p+i) 来引用。
7. 
对以下说明语句的正确理解是
   int a[10] =6,7,8,9,10;
A 将5个初值依次赋给a[1] 至a[5]
B 将5个初值依次赋给a[0] 至a[4]
C 将5个初值依次赋给a[6] 至a[10]
D 因为数组长度与初值的个数不相同,所以此语句不正确
    分值: 2
答案:B
[解析] 本题中,表达式将5个初值赋给 a[0] 至a[4] ,后面的部分将自动被依次补零处理。
8. 
设有程序段:
   int k=10;
   while(k=0) k=k-1;
   则下面描述中正确的是
A 循环执行10次
B 无限循环
C 循环体语句一次也不执行
D 循环体语句执行一次
    分值: 2
答案:C
[解析] 本题中,首先将0赋给k,表达式变为0,跳出循环,没有执行循环体语句。解答本题的关键是掌握while语句。
9. 
设有int x=11;,则表达式(x++ * 2/3) 的值是
A 7
B 8
C 11
D 12
    分值: 2
答案:A
[解析] 当自加运算符做后缀表达式的时候,表达式的值不变,只有变量的值增1,所以表达式 (x++ * 2/3) 相当于(11 * 2/3) ,取整后为7。
10. 
关于静态数据成员的描述中正确的是
A 类的静态数据成员不是类的所有对象共享的数据
B 类的静态数据成员不能被类的成员函数调用
C 类的静态数据成员不能被类的构造函数调用
D 类的静态数据成员必须进行初始化
    分值: 2
答案:D
[解析] C++类中的静态成员变量是该类中所有对象所共有的,它能够被类中的任何函数调用,所以选项A) 、选项B) 、选项C) 是错误的。而类的静态数据成员是必须要进行初始化才能使用的。
11. 
不合法的main函数命令行参数表示形式是
A main(int a,char * c[ ] )
B main(int arc,char * * arv)
C main(int argc,char*argv)
D main(int argv,char * argc[ ] )
    分值: 2
答案:C
[解析] 在C++语言中,main函数也可以有参数,例如:main(int arvc, char * argv) ,argc是指向字符串的指针数组,而选项C) 的第二个形参是指向字符变量的指针,是错误的。
12. 
关系模型允许定义3类数据约束,下列不属于数据约束的是
A 实体完整性约束
B 参照完整性约束

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。