1.
下列程序的运行结果是 1*2 3*4,那么横线处缺失程序可以是()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
A.1,2,3,4
B.(1,2),(3,4)
C.Test(1,2),Test(3,4)
D.1234
答案:C
t是一个数组,返回类型为Test的数组。B选项改为{1,2},{3,4}
2.
下面程序的输出结果是?
1 2 3 4 5 6 7 8 |
|
A:10,30,60
B:10,30,50
C:10,20,30
D:20,40,60
答案:
C
知识点:指针数组 vs 数组指针 (二维数组)
a[3]声明的是一维数组,则(*p)[3]也是一维数组,只不过p为指向二维数组的指针,p=n,则:
p[0][0] = n[0][0] = 10
*(p[0]+1) = n[0][1] = 20
(*p)[2] = *(*(p+0)+2) = n[0][2] = 30
3.
有如下C++代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
输出是多少?
答案:
1
知识点1:++
函数中的自增用的是p2++,是先执行语句再进行自增1,所以函数中的*t结果是1+10,而不是1+20
知识点2:实参和形参
main里面的t和fun里面的t是两个不同的变量,调用fun传参时只不过是将前者的值拷贝给了后者,在fun中对t的任何操作都不会影响main中的t,所以cout << *t << endl;
还是输出t指向的原来的值,即1
4.
在下列的符号常量定义中,正确的定义格式为( )?
A:#define M1
B:const int M2 20;
C:#define M3 10
D:const char mark;
答案:
C
知识点:常量定义
A表示定义了一个预处理变量;B语句错误;C正确;D定义一个常量要初始化,必须赋值
5.
构造函数的名字必须与类名相同,其返回类型缺省为void类型。
A:正确
B:错误
答案:
B
知识点:构造函数没有返回值
构造方法是一种特殊的方法,具有以下特点。
(1)构造方法的方法名必须与类名相同。
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
(4)构造方法不能由编程人员调用,而要系统调用。
(5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构 造器,这个构造器不执行任何代码。
(6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。
6.
以下代码的输出为()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
A:ABC
B:CBA
C:BAC
D:ACB
答案:
C
知识点 :结构体的调用顺序
结构体的调用顺序是根据类中声明的顺序来