经典基础C++笔试题(附答案) | 您所在的位置:网站首页 › 广州地铁笔试题目及答案解析 › 经典基础C++笔试题(附答案) |
一、选择题 1. 若用数组名作为函数调用时的实参,则实际上传递给形参的是( A ) A. 数组首地址 B. 数组的第一个元素值 C. 数组中全部元素的值 D. 数组元素的个数 2. 有关函数重载的正确说法是( B ) A. 函数名不同,但参数的个数和类型相同 B. 函数名相同,但参数的个数不同或参数的类型不同 C. 函数名相同,参数的个数和类型相同 D. 函数名相同,函数的返回值不同,而与函数的参数和类型无关 3. 已知int a[3][2]={3,2,1}; 则表达式“a[0][0]/a[0][1]/a[0][2]”的值是(B) A. 0.166667 B. 1 C. 0 D. 错误的表达式 4. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( D ) A. const char *p="ABCD"; B. char const *p="ABCD"; C. char *const p="ABCD"; D. const char * const p="ABCD"; 5. 对静态成员的不正确描述是( C ) A. 静态成员不属于对象,是类的共享成员 B. 静态数据成员要在类外定义和初始化 C. 调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针 D. 非静态成员函数也可以操作静态数据成员 6. 下面函数原型声明中,( B )声明了fun为纯虚函数 A. void fun()=0; B. virtual void fun()=0; C. virtual void fun(); D. virtual void fun(){}; 7. 在排序方法中,关键码比较次数与记录地初始排列无关的是( D ) A. Shell排序 B. 归并排序 C. 直接插入排序 D. 选择排序 8. 一个栈的入栈序列是A,B,C,D,E,则栈的不可能的输出序列是( C ) A. EDCBA; B. DECBA; C. DCEAB; D. ABCDE 二、填空题 1.求下面函数的返回值 _____ int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; }假定x = 9999。 答案:8 思路:将x转化为2进制,看含有的1的个数。 2. 以下三条输出语句分别输出什么 _____char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char* str5 = "abc"; const char* str6 = "abc"; cout next = p1 ; head = p2 ;// 作为新的头结点 return head ; }15. 写个函数交换两个指针。答案 : #include using namespace std; void ex(char **a,char **b) { char *c; c=*a; *a=*b; *b=c; } int main() { char *pt=”pt\n”; char *pt_another=”pt_another\n”; cout |
CopyRight 2018-2019 实验室设备网 版权所有 |