Problem C: [CSP-S1][选择] 指针和引用2
Description
1. 以下代码的输出是( )。
int arr[3] = {10 20 30};
int *p = arr;
p++;
cout << *p;
A. 10
B. 20
C. 30
D. 未定义
2. 引用和指针的主要区别是( )。
A. 引用必须初始化,指针可以未初始化
B. 引用可以重新绑定,指针不能
C. 引用支持算术运算,指针不支持
D. 引用占用独立内存空间
3. 以下代码的输出是( )。
int a = 5;
int *p = NULL;
if (p) cout << *p;
else cout << "Null";
A. 5
B. Null
C. 未定义
D. 编译错误
4. 若 int (*p)[5];,则 p 是( )。
A. 指向整型的指针数组
B. 指向含5个整型的数组的指针
C. 函数指针
D. 整型数组
5. 以下代码的输出是( )。
char s[] = "C++";
char *p = s;
p++;
cout << *p;
A. 'C'
B. '+'
C. ' '
D. '\0'
6. 下列哪个操作会修改指针 p 指向的值?( )
A. p = &a;
B. *p = 10;
C. p++;
D. int *q = p;
7. 以下代码的输出是( )。
int a = 10;
int *p = &a;
cout << sizeof(p); // 64位系统
A. 4
B. 8
C. 2
D. 1
8. 若 const int *p = &a;,则下列操作合法的是( )。
A. *p = 20;
B. p = &b;
C. a = 20;
D. B和C
9. 以下代码的输出是( )。
int arr[2][3] = {{123} {456}};
cout << *(*(arr + 1) + 1);
A. 1
B. 2
C. 4
D. 5
10. 下列哪个声明表示 p 是一个引用,绑定到整型变量?( )
A. int &p;
B. int *&p;
C. int p&;
D. int ref p;
Sample Input Copy
Sample Output Copy