ViVi Home > 技術文書 > ポインタ入門 > ポインタ4択問題集


 
Follow @vivisuke Tweet

 

pointer's boot camp は C/C++ のポインタを学習するための4択問題集です。
以下の10問の答えを選択し、画面下部の【採点】を押してください。
※ sizeof(void*) は 4、sizeof(int) は 4、sizeof(short) は 2 とする。
※ 文字エンコーディングは ASCII 、文字列は '\0' を終端とする。
※ バイトオーダはリトルエンディアンとする。

Q1: ★★ ダミーノード付き環状双方向リンクリスト構造体 struct Node { int val; Node *prev; Node *next}; があり、Node *root; がダミーノードを指しているとき、リストの内容を全て表示するコードはどれ?
Node *ptr = root->next; while ((ptr = ptr->next) != root) { cout << ptr->val; }
Node *ptr = root; while ((ptr = ptr->next) != root) { cout << ptr->val; ptr = ptr->next; }
Node *ptr = root; while ((ptr = ptr->next) != root) { cout << ptr->val; }
Node *ptr = root; while (ptr != root) { cout << ptr->val; ptr = ptr->next; }
Q2: ★ char *src; char *dst; があるとき、src の指す先のデータひとつを dst の指す先にコピーするには?
dst = *src;
dst = src;
*dst = *src;
*dst = src;
Q3: ★ 16進数 0x100 を 10進数に変換するといくつでしょうか?
258
256
260
262
Q4: ★ int *ptr; があるとき、ptr の指す先から i 個先のデータを取得するには?
*ptr + i
*(ptr + i)
ptr+i
ptr(i)
Q5: ★★ 単方向リンクリスト構造体 struct Node { int val; Node *next}; が定義されていて、Node ptr; がリストを先頭を指しているとき、リストの内容を表示するコードはどれ?ただしリストが空の場合は ptr は 0 だとする。
do { cout << ptr->val; } while ((ptr = ptr->next) != 0);
while (ptr != 0) { cout << ptr->val; ptr = ptr->next; }
do { cout << ptr->val; ptr = ptr->next; } while (ptr != 0);
while ((ptr = ptr->next) != 0) { cout << ptr->val; }
Q6: ★ char *ptr = (char *)0x100; ++ptr; を実行した後の、ptr の値はいくつ?
0x102
0x100
0x101
0x104
Q7: ★★ 以下のなかで正しいソースコードはどれ?
void setZero(char * const dst, int n) { for(int i = 0; i < n; ++i) *dst++ = 0; }
const char *dup(const char *s) { char *d = new char[strlen(s)]; char *t = d; while( *d++ = *s++) ; return t; }
void setZero(const char *dst, int n) { for(int i = 0; i < n; ++i) *dst++ = 0; }
void copy(const char *src, const char *dst) { while( *dst++ = *src++ ) {} }
Q8: ★ char へのポインタ ptr の指す先のデータを ch に代入するには?
ch = ptr;
ch = *ptr;
ch = &ptr;
ch = ptr++;
Q9: ★ char **ptr; が宣言されているとき *ptr の型は何?
void 型
char へのポインタ
char
char へのポインタへのポインタ
Q10: ★ char *ptr = (char *)0x100; char *ptr2 = --ptr; を実行した後の、ptr2 の値はいくつ?
0x0ff
0x0fc
0x0fe
0x100


※ 問題は10問ランダムに表示されます。 総問題数:87

最近10人の平均点:6.4
6 7 8 5 6 2 9 7 5 9 (latest)
最近100人の平均点:5.5
最近1000人の平均点:5.0
過去全部(3748人)の平均点:5.1

満点獲得者名と記念コメント:
17/02/24 18:26 名無し さん
17/02/22 07:26 名無し さん
17/02/21 17:20 hoge さん
 「hogepiyo」
17/02/20 07:41 名無し さん
17/02/18 04:14 名無し さん
17/02/17 06:44 名無し さん
17/02/15 16:35 名無し さん
17/02/13 03:43 名無し さん
17/02/09 17:41 名無し さん
17/02/07 04:10 名無し さん
17/02/05 20:46 名無し さん
17/02/05 02:10 名無し さん
17/02/04 23:01 名無し さん
17/02/03 16:02 名無し さん
17/02/02 05:54 名無し さん
17/01/31 04:07 名無し さん
17/01/29 08:14 名無し さん
17/01/28 03:04 名無し さん
17/01/26 04:45 名無し さん
17/01/26 02:36 名無し さん

その他のジャンルの問題もあるよ:

Copyright (C) 2013 by N.Tsuda, All Rights Reserved.