1). 下列叙述中正确的是( )
A.循环队列中的元素个数随队头指针与队尾指针的变化而动态变化
B.循环队列中的元素个数随队头指针的变化而动态变化
C.循环队列中的元素个数随队尾指针的变化而动态变化
D.以上说法都不对
正确答案:A
答案解析:在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针的变化而变化,A正确。
2). 在C++中,cin是一个( )。
A.类
B.对象
C.模板
D.函数
正确答案:B
答案解析:C++提供了一套输入、输出流类的对象,它们是cin、cout和cerr,对应C语言中的3个文件指针stdin、.stdout、stderr,分别指向终端输入、终端输出和标准出错输出(也从终端输出)。cin与>>一起完成输入操作,cout、cerr与<< 一起完成输出与标准错误输出。
3). 已知char a;int b;float c;double d;则表达式a* b+c-d的结果为( )。
A.double
B.int
C.float
D.char
正确答案:A
答案解析:本题考查混合运算表达式类型,由表达式中具有优先级的类型所确定,所以答案为A。
4). 下列关于this指针的叙述中,正确的是( )。
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数才有this指针
正确答案:D
答案解析:本题考查this指针的使用。类的每一个成员函数都有一个隐含的常量指针,即this指针。类的静态成员函数不能含有this指针,因为this指针是一个指向本对象的指针。
5). 设有宏定义″#define IsDIV(k,n)<<k%n= =1?1:0)″且变量m已正确定义并赋值,则宏调用″IsDIV(m,5)&&IsDIV(m,7)″为真时所要表达的是( )。
A.判断m是否能被5或者7整除
B.判断m是否能被5和7整除
C.判断m被5或者7整除是否余1
D.判断m被5和7整除是否都余l
正确答案:D
答案解析:本题考查宏定义,宏定义IsDIV(k,n)的意思是如果k对n求模的余数为l,其值等于1,否则其值等于0。本题中宏调用表达式是两个宏调用之间的逻辑与运算,所以选项D正确。
2017年计算机二级考试C++练习试题及答案(二).doc