NEW
Font size
S
M
L
XL
WorksheetsTPP2020: Review of Pointers
Total questions: 14
Worksheet time: 7mins
Name
Class
Date
1.
暖身題:這題答錯可以離開了。
.
這個教你/妳 C++ 的人叫做?
.
這個教你/妳 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;
.
以下敘述何者有編譯錯誤?
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);
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 的值為?
.
呼叫 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 的值為何?
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 有幾種不同的資料型態?
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;
.
以下三個定義式,哪些有編譯錯誤?
const int *r = p;
int *t = r;
int * const s;
a)
r 和 t
b)
t
c)
三個都錯
d)
t 和 s
Reset
