C++错与对,多谢帮忙!(即使送10分)
1.已知:int a(5),b(10); 表达式++a+b++有二义性。( )
2.在不同类型操作数组成的表达式中,其表达式的类型一定是最高类型double型。( )
3.break语句也可以用于if体内,它可退出if语句。( )
4.在一个被调用函数中,一个return语句可返回多个值给调用函数。( )
5.在传值调用中,要求实参和形参的类型完全一致并且个数相等。( )
6.for循环中,循环变量的作用域是该循环的循环体内。( )
7.所谓私有成员是指只有类中所提供的成员函数才能直接访问它们,任何类以外的函数对它们的访问都是非法的。( )
8.const char *p说明了p是指向字符串的常量指针。( )
9.私有继承中,基类中所有成员对派生类的对象都是不可见的。( )
10.类中所提供的成员函数可以直接访问私有成员。( )
11.数组赋初值时,初始值表中的数据项的数目只能少于或等于数组元素的个数。( )
12.While循环语句的循环体至少执行一次。( )
参考答案:1.(X)解释:++a+b++,把a加上1赋给a,然后a+b给表达式输出结果,然后b加上1赋给b;
2.(X)解释:在C++中为防止精度损失,如果必要的话,类型总是被提升为较宽的类型.取决于表达式中最宽的类型.
3.(X)解释:一般来说 break 语句只能出现在循环或 switch 语句中.这道题其实题目讲的不是很明白,其实也可以说对,在if语句中也可以出现,但并不包含在循环体内或switch语句,将导致编译出错.但是包含在循环体内,这个break真的可以退出if语句(其实是直接退出循环),也可以说他退出了if语句.从原则上讲,应该说这题是错的.
4.(X),解释:return语句只能返回一个值,对于引用的返回则返回一个左值,对指针的返回是只返回一个指针,所以return都是返回一个值.
5.(X),解释,在传值调用中,实参和形参类型,可以隐式转换的时候可以不一样.存在缺省参数,可以要求个数不一样,还有省略参数.
6.(X) 解释:C++中循环变量的定义在循环外,他的作用域就不止在循环体内.
7.(X) 解释:私有成员只能被成员函数和类的友元访问.
8.(X) 解释:const char *p,可以从右往左读,p是一个指向char类型的、被定义成常量的对象的指针,转换成普通表达应该是说p是指向常量字符串的指针。
9.(X)解释:私有继承使基类的整个公有接口在派生类中变成 private,在派生类的友元和成员函数中可以访问。
10.(√)解释:私有成员只能被成员函数和类的友元访问.
11.(√)解释:如果指定了维数 那么数组初始化列表提供的元素的个数不能超过这个值。
12.(X)解释:while ( condition ),计算条件condition为真多少次,循环体就执行多少次,但第一次为假则循环体都没有执行一次。