1.设x=1.2,y=2.0,则语句z=(int )x+y:执行后,x的结果为( )
- A. 3.2
- B. 1
- C. 3.0
- D. 1.2
- B(int) x之后有强制类型转换,把1.2变成1;
-
2. (单选题)下面对于指针的描述不正确的是( )
- A. 指针是地址变量
- B. 指针不能用除0以外的常量赋值
- C. 两个指针变量的加减法无意义
- D. 指针指向不同基类型的变量长度不同
- D:指针指向所有类型的长度都一样
-
3. (单选题)在16位机中,int型字宽为( )字节。
- A. 2
- B. 4
- C. 6
- D. 8
6. (单选题)在C++中,关于下列设置参数默认值的描述中,( )是正确的。
- A. 不允许设置参数的默认值
- B. 设置参数默认值只能在定义函数时设置
- C. 设置参数默认值时,应该是先设置右边的再设置左边的
- D. 设置参数默认值时,应该全部参数都设置
- 参数值是说明或定义时直接赋值,如果实参有传值则用实参,否则用参数值,先右后左。
-
9. (单选题)已知:int a,*pa=&a; 输出指针pa的地址值(十进制)的方法是( )。
- A. cout<<pa;
- B. cout<<*pa;
- C. cout<<&pa;
- D. cout<<long(pa);
- 纯记 D
-
13. (单选题)要使p指向动态空间中的包含30个整数单元的数组使用的定义语句为( )。
- A. int*p=new int[30]
- B. int*p=new int(30);
- C. int*p=new[30];
- D. *p=new int[30];
- 纯记 A
-
15. (单选题)字符串"a+b=12\n"的长度为( )。
- A. 6
- B. 7
- C. 8
- D. 9
- B \n是换行 不算字符 所以是7个
-
17. (单选题)下列定义中,( )是定义指向数组的指针p。
- A. int *p[5]
- B. int (*p)[5]
- C. (int *)p[5]
- D. int *p[]
- 纯记 B
-
18. (单选题)运算结果类型相同的( )
- A. 9.0/2.0 9.0/2
- B. 9/2.0 9/2
- C. 9.0/2 9/2
- D. 9/2 9.0/2.0
- A 整形相除会直接向下取整,如果算式中有更高精度的会直接转成更高精度的
-
24. (单选题)在一个被调用函数中,关于return 语句使用的描述,( )是错误的。
- A. 被调用函数中可以不用return 语句
- B. 被调用函数中可以使用多个return 语句
- C. 被调用函数中,如果有返回值,就一定要有return 语句
- D. 被调用函数中,一个return 语句可返回多个值给调用函数
- D 一个return语句只能返回一个值
-
32. (判断题)对于int a[1],可以用a++来指向数组的第二个元素。
- A. 对
- B. 错
- B int a[1]说明该数组只有一个元素,a++指不到第二个元素
-
36. (判断题)发生传值调用时,形参和实参各占一个独立的存储空间。
- A. 对
- B. 错
- A
实参和形参是各占独立存储空间,函数调用过程中,实参向形参拷贝复制值。实参是个变量,形参也是个变量。
如果占用同一片空间的话,编译时候就不存在实参形参类型不匹配的报错
参数传递中,形参值的改变不影响实参的值。
-
38. (判断题)预处理过程一般在编译过程之后连接过程之前进行。
- A. 对
- B. 错
- 预处理阶段,在正式的编译阶段之前进行。预处理阶段将根据已放置在文件中的预处理指令来修改源文件的内容。