wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

TPP2020: Review of Pointers

Total questions: 14

Worksheet time: 7mins

Name
Class
Date
1.
暖身題:這題答錯可以離開了。
.
這個教你/妳 C++ 的人叫做?
a)
蔣宗哲
b)
蔣忠哲
c)
蔡宗哲
d)
莊宗哲
2.

正式開始囉!不用急,時間倒數完還是有答對分數。不要急著亂猜。

下列哪一行敘述定義了指標變數?

a)

int a;

b)

double b;

c)

char c;

d)

float *d;

3.
int a, b, *p = &a;
.
下列哪一行敘述有編譯錯誤?
a)
a = 3;
b)
*p = 4;
c)
*p = &b;
d)
p = &b;
4.
int a, *p;
double b, *q;
.
以下敘述何者有編譯錯誤?
a)
p = &a;
b)
b = a;
c)
p = q;
d)
q = &b;
5.
以下程式的輸出為何?
int a = 4, b = 5;   
int *p, *q;
p = &a;   
*p = 10;   
q = p;   
p = &b;   
*q = 11;   
printf("%d %d", a, b);
a)
11 5
b)
11 10
c)
11 11
d)
10 11
6.

printf() 和 scanf() 的使用差異是,前者不需在變數名稱前加上 &,而後者必定要加 &。

a)

True

b)

False

7.
int f(int *p) { *p = 3; return *p+1; }
.
呼叫 c = f(&b); 後,b 和 c 的值為?
a)
b = 3, c = 4
b)
不一定
c)
b = 3, c = 3
d)
b = 4, c = 4
8.

int a[5], *p=a;

.

陣列 a 和 指標 p 擁有相同的資料型態。

a)

True

b)

False

9.

int a[5] = {9, 4, 3, 8, 7};

int *p = a;

請問以下運算式有幾個的「值」相同?

*a+1

a[1]

*(p+1)

p[1]

a)

1

b)

2

c)

3

d)

4

10.

int a[5] = {9, 4, 3, 8, 7};

int *p = a;

請問以下運算式有幾個的「值」相同?

a+1

&a[1]

p+1

&p[1]

a)

1

b)

2

c)

3

d)

4

11.
int s[5] = {5, 20, 30, 40, 50};
int *p = &s[1];
請問 &s[4] - p 的值為何?
a)
30
b)
3
c)
不能計算
d)
35
12.

int main() {

int *p;

int q[5];

int r[10];

}

上述程式碼中,p, q, r 有幾種不同的資料型態?(或問 &p, &q, &r 有幾種不同的資料型態?)

a)

1

b)

2

c)

3

d)

4

13.
void f(int p[]) {}
void g(int *q) {}
void h(int r[5]) {}
void m(int s[10]) {}
上述程式碼中,p, q, r, s 有幾種不同的資料型態?
a)
1
b)
2
c)
3
d)
4
14.
int *p, *q;   
.
以下三個定義式,哪些有編譯錯誤?
const int *r = p;   
int *t = r;   
int * const s;
a)
r 和 t
b)
t
c)
三個都錯
d)
t 和 s