1.
解析:
cin,C++编程语言互换流中的标准输入流。
cout,C++编程语言互换流中的标准输出流。
cerr是C++预定义的标准错误输出函数,作用就是直接将参数(错误消息)打印到屏幕上。
CFile是MFC文件类的基类,它直接提供非缓冲的二进制磁盘输入/输出设备,并直接地通过派生类支持文本文件和内存文件。
2.
解析:
mock对象:也成为伪对象,在测试中的利用mock对象来代替真实对象,方便测试的进行。
反射机制:在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性
java的封装性:指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,通过该类提供的方法实现对内部信息的操作访问。
反射破坏代码的封装性,破坏原有的访问修饰符访问限制
3.
解析:
(1)x=3,3%2=1为真,所以执行*%d,即*3
(2)X=4,4%2=0为假,所以执行#%d,即#4
(3)X=5,5%2=1为真,所以执行*%d,即*5
(4)X=6,不满足条件,继续执行,所以最后结果为*3#4*5
4.******
解析:x为二维数组,p是一个数组指针,将p指向长度为4的int数组,那么p指向的元素是x的第一行元素的首个,p+2指的就是第三行的首个元素,所以p[2]所指即为x[2][0]
p是指向int[4]类型的指针,p = x,指向x的首地址。
p+2,即加上2个指向类型的大小,即2 * 4 = 8个int,所以*(p+2)指向x[2][0]
5.
解析:
该题考察函数的参数传递:
当用函数做实参时,编译器一般会根据参数传递顺序,先计算出函数的返回值,然后将返回值传递给原来的函数。
在x86架构(Linux或Unix系统)上,函数的参数是通过栈传递的。因此参数从右往左入栈顺序是:printf("c"),printf("b"),printf("a")。依次计算出结果:cba
在x86_64架构(Linux或Unix系统)上,函数的前6个参数是通过寄存器传递的,超出6个的部分(如第7个参数,第8个参数等等)通过栈传递。因此参数进寄存器顺序是:printf("a"),printf("b"),printf("c")。依次计算出结果:abc
6.
解析:
unordered_map:是所谓的哈希map,很容易就选了hashtable
priority_queue:是所谓的优先级队列,说白了就是一个二叉堆,所以底层应该是用heap实现,并非名字中的queue
7.
解析:c++标准输入输出函数中的格式限定参数 %d:指参数以十进制整型输入or输出 %f:浮点数输入or输出(还有%1.2f 等,表示限定小数点前后的位数) %u:无符号整数 %x:十六进制 %o:八进制。 第一个输出,只输出前两个,第三个k被忽略了
8.
解析:
- A选项:
- 通过 pageContext(PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问) 获取stringBean 的值,赋给 String 类型的变量 myBean,然后通过 Jsp 表达式 处理该值。
- bean:define
- 题目中的 Struts 的bean:define 标签定义了一个字符串变量 stringBean ,它的值为 helloworld。
- bean:write
- bean:write相当于 <%=request.getAttribute("something")%> 其中 something 是属性的名字。所以 B 错,C对。
- D选项:
- 通过Jsp 表达式 获取变量 stringBean 的值
9.
解析:
A和B中long和float,正常定义需要加l和f,但是long和float属于基本类型,会进行转化,所以不会报出异常。AB正确
boolean类型不能和任何类型进行转换,会报出类型异常错误。所以C错。
D选项可以这样定义,D正确。
E选项中,byte的取值范围是-128—127。报出异常: cannot convert from int to byte.所以E选项错误。