Problem D: [CSP-S1][选择] 指针和引用1

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:55 Solved:4

Description

1. 下列哪个声明表示 p 是一个指向整型的指针?( )

A. int *p;

B. int p*;

C. int &p;

D. int p[];


2. 以下代码的输出是( )。

int a = 5;  

int *p = &a;  

*p = 10;  

cout << a;  

A. 5

B. 10

C. 地址值

D. 未定义


3. 下列哪个操作可以交换两个整数 x 和 y 的值?( )

A.

void swap(int a int b) {  

   int temp = a;  

   a = b;  

   b = temp;  

}  

B.

void swap(int *a int *b) {  

   int temp = *a;  

   *a = *b;  

   *b = temp;  

}  

C.

void swap(int &a int &b) {  

   int temp = a;  

   a = b;  

   b = temp;  

}  

D. B和C


4. 若 int arr[5] = {1 2 3};,则 *(arr + 2) 的值是( )。

A. 1

B. 2

C. 3

D. 0


5. 以下代码的输出是( )。

int a = 10;  

int &b = a;  

int c = 20;  

b = c;  

cout << a;  

A. 10

B. 20

C. 未定义

D. 编译错误


6. 下列哪个表达式表示指针 p 指向的数组的第3个元素?( )

A. p[2]

B. *(p + 3)

C. p + 2

D. *p + 2


7. 以下代码的输出是( )。

char *str = "Hello";  

cout << *(str + 3);  

A. 'H'

B. 'e'

C. 'l'

D. 'o'


8. 若 int **p;,则 p 是( )。

A. 指向整型的指针

B. 指向指针的指针

C. 整型数组

D. 函数指针


9. 以下代码的输出是( )。

int a = 5;  

int *p = &a;  

int **pp = &p;  

**pp = 10;  

cout << a;  

A. 5

B. 10

C. 地址值

D. 编译错误


10. 下列哪个声明表示 p 是一个指向函数的指针,该函数返回 int?( )

A. int *p();

B. int (*p)();

C. int p[];

D. int &p;


Sample Input Copy


Sample Output Copy