正确答案: A
1
题目:若a是数值类型,则逻辑表达式(a==1)I l(a!=1)的值是( )。
解析:逻辑或”I|”要求只要两边的运算对象有一个非零,结果就为真。虽然不知道a的值,但是若a为1,则左边运算对象为1;若a的值不是l,则右边运算对象的值为1,所以总能保证一边非零,所以结果为真,即1。
查看原题
举一反三的答案和解析:
[单选题]阅读下面程序,则执行后的结果是
include "stdio.h"
tmem
解析:解析:存放字符串的字符数组的名字就是这个字符串的首地址。本题的功能是对字符串"tomeetme"进行选择式输出,从第一个字母开始,每输出一个字符即跳过一个。
[单选题]有如下程序: #includeiostream.h> using namespace std; class Demo { public: Demo(){ cout"default constructor\n";} Demo(const Demo &X){ cont"copy constructor\n";} }; Demo userCode (Demo b){Demo c(b);return c;} int main() { Demo a,d; cout"calling userCode()\n"; d=userCode(a); return 0; } 执行上面程序的过程中,构造函数Demo()和Demo(const Demo &x)被调用的次数分别是( )。
2和3
解析:解析:此题考查的是虚函数的应用。C++语言中,在创建一个对象时,会自动调用类的构造函数,所以语句“Demo a,d;”将调用函数Demo()两次。当一个对象作为实参传递给函数时,为初始化形参,要调用复制构造函数:在函数返回一个对象时调用复制构造函数。所以语句“d=userCode(a);”调用复制构造函数3次。
[单选题]有如下程序: #includeiostream> using namespace std; class B{ public: Virtual void show(){cout“B”;} }; class D:publicB{ public: void show(){cout“D”;} }; void funl(B*ptr){ptr->show();} void{un2(B&ref){ref.show();} void
DBB
解析:解析: 本题考查的知识点是,虚函数与多态性。在成员函数声明的前面加上virtual修饰,即把该函数声明为虚函数。在C++中,一个基类指针(或引用)可以用于指向它的派生类对象,而且通过这样的指针(或引用)调用虚函数时,被调用的是该指针(或引用)实际所指向的对象类的那个重定义版本。故本题最终输出结果为DBB。
[单选题]判断字符型变量ch是否为大写英文字母,应使用表达式
ch>='A'&&ch='Z'
解析:解析:本题考核C++表达式类型及求值规则。ch为大写字母的条件是大于等于'A'且小于等于'Z'。
[单选题]设根结点的层次为0,则高度为k的二叉树的最大结点数为______。
2k+1-1
解析:解析:本题考查点是二叉树的性质。设根结点的层次为0,在二叉树的第i层上至多有2i (j>=0)个结点,因此高度为k的二叉树的最大结点数为20+21+22+…2k=k+1-1。
[单选题]有以下函数定义: void fun(int n double x){…} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。
fun(x,n);
解析:解析:选项A中应将y和m前面的函数类型说明符去掉,故选项A不正确。fun函数没有返回值,不能对k赋值,所以选项B不正确。选项D在调用函数时,不用声明其返回类型,故选项D不正确。当函数不返回函数值时,函数的调用可作为一条独立的语句,故选项C符合题意。