版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
人若是看透了自己,便不会小看别人!–老舍<骆驼祥子>
1.有以下定义:
int a[10]; char b[80];
函数声明为:
void sss(char[],int[]);
则正确的函数调用形式是()
A sss(a,b); B sss(char b[],int a[]);
C sss(b[],a[]); D sss(b,a);
正确答案:D
解析:
a为一个含有10个元素的整形数组,b为一个含有80元素的字符数组;
2.数组a的定义语句为“float a[3][4];”,下列()是对数组元素不正确的引用方法
A a[i][j] B *(a[i]+j) C *(*(a+i)+j) D *(a+i*4+j)
正确答案:D
解析:“float a[3][4]”定义为一个浮点型的二维数组,是一个长度为3的一维数组,里面的每个元素又是长度为4的一维数组,即三行四列分布。
3.下面叙述错误的是()
char acX[]=”abc”; char acY[]={‘a’,’b’,’c’};
char *szX=”abc”; char *szY=”abc”;
A acX与acY的内容可以修改 B szX与szY指向同一个地址
C acX占用的内存空间比acY占用的大 D szX的内容修改后,szY的内容也会被更改
正确答案:D
解析:
acX和acY为字符数组,szX和szY都为指针指向同一块内容
4.下列代码的运行结果是()
int a[]={1,2,3,4};
int *b=a;
*b+=2;
*(b+2)=2;
b++;
printf(“%d,%d\n”,*b,*(b+2));
A 1,3 B 1,2 C 2,4 D 3,2
正确答案:C
解析:
5.在32位cpu上选择缺省对齐的情况下,有如下结构体定义:
struct A{
unsigned a : 19;
unsigned b : 11;
unsigned c : 4;
unsigned d : 29;
char index;
};
则sizeof(struct A)的值为()
A 9 B 12 C 16 D 20
正确答案:C
6.以下关于C++的描述中哪一个是正确的:
A 任何指针都必须指向一个实例 B 子类指针不可以指向父类实例
C 任何引用都必须指向一个实例 D 引用所指向的实例不可能无效
正确答案:C
7.以下不是double compare(int,int)的重载函数的是()
扫描二维码关注公众号,回复:
7196085 查看本文章
A int compare(double,double) B double compare(double,double)
C double compare(double,int) D int compare(int,int)
正确答案:D
8.关于虚函数的描述正确的是()
A 派生类的虚函数与基类的虚函数具有不同的参数个数和类型
B 内联函数不能是虚函数
C 派生类必须重新定义基类的虚函数
D 虚函数可以是一个static型的函数
正确答案:B
9.请将下列构造函数补充完整,使得程序的运行结果是5
#include<iostream>
using namespace std;
class Sample{
public:
Sample(int x){
________
}
~Sample(){
if(p) delete p;
}
int show(){
return *p;
}
private:
int*p;
};
int main(){
Sample S(5);
cout<<S.show()<<endl;
return 0;
}
A *p=x; B p=new int(x); C *p=new int(x); D p=&x;
正确答案:B
10.关于c++的inline关键字,以下说法正确的是()
A 使用inline关键字的函数会被编译器在调用处展开
B 头文件中可以包含inline函数的声明
C 可以在同一个项目的不同源文件内定义函数名相同但实现不同的inline函数
D 定义在Class声明内的成员函数默认是inline函数
E 优先使用Class声明内定义的inline函数
F 优先使用Class实现的内inline函数的实现
正确答案:D