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: ★ int *ptr = (int *)0x100; ++ptr; を実行した後の、ptr の値はいくつ?
0x100
0x102
0x104
0x101
Q2: ★ char b[] = {1, 2, 3, 4}; int *ptr = (int *)b; 実行後の *ptr の値はなにか?
0x02010403
0x01020304
0x04030201
0x03040102
Q3: ★ char **ptr = (char *)0x100; ++ptr; を実行した後の、ptr の値はいくつ?
0x104
0x102
0x101
0x100
Q4: ★ 0x12ab を2進数で表すと?
0001 0010 1011 1011
1011 1010 0010 0011
1011 1010 0010 0001
0001 0010 1010 1011
Q5: ★★ char *ptr が文字列を指している時、指している先が半角空白またはタブならポインタを進める最も簡潔なコードは以下の中でどれ?
while (*ptr == ' ' || *ptr == '\t') ++ptr;
while (*ptr++ == ' ' || *ptr++ == '\t') {}
while (*ptr++ == ' ' || *ptr == '\t') {}
while (*ptr == ' ' || *ptr++ == '\t') {}
Q6: ★★ #define CHARPTR char* とし、CHARPTR p1, p2; と宣言した時の p2 の型は何?
void 型
char へのポインタへのポインタ型
char 型
char へのポインタ型
Q7: ★★★ 単方向リンクリスト構造体 struct Node { int val; Node *next}; と、Node *ptr1; Node *ptr2; があるとき、ptr1 の次に ptr2 をリンクするコードはどれ?
ptr2->next = ptr1->next;
ptr1->next = ptr2->next;
ptr1->next = ptr2;
ptr2->next = ptr1;
Q8: ★★ 環状双方向リンクリスト構造体 struct Node { int val; Node *prev; Node *next}; があり、Node *ptr; が空でないリストの先頭を指しているとき、リストの内容を全て表示するコードはどれ?
Node *root = ptr; while ((ptr = ptr->next) != root) { cout << ptr->val; }
do { cout << ptr->va; } while ((ptr = ptr->next) != 0);
Node *root = ptr; do { cout << ptr->val; } while ((ptr = ptr->next) != root);
while ((ptr = ptr->next) != 0) { cout << ptr->val; }
Q9: ★ char へのポインタ ptr を宣言し、char へのポインタ src の値で初期化するには?
char *ptr = src[];
char *ptr = *src;
char *ptr = &src;
char *ptr = src;
Q10: ★★ 以下の中で明らかに間違っているコードはどれか?
char *ptr = new char[100]; int len = strlen(ptr);
for (int i = 0; i < n; ++i) { sum += *data++; }
if (*ptr == '\\' && ptr + 1 < endptr ) ptr += 2;
for (int i = 0; i < len; ++i) { *(str + len - i + 1) = *(str + len - i); }


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

最近10人の平均点:1.1
0 0 0 0 0 0 0 0 2 9 (latest)
最近100人の平均点:4.6
最近1000人の平均点:4.7
過去全部(11914人)の平均点:5.0

満点獲得者名と記念コメント:
25/10/31 23:48 名無し さん
25/10/29 16:11 名無し さん
25/10/27 06:29 名無し さん
25/10/25 06:28 名無し さん
25/10/11 13:04 名無し さん
25/10/11 12:58 名無し さん
25/10/11 12:58 名無し さん
25/05/31 01:37 名無し さん
25/05/13 16:09 名無し さん
25/05/11 02:47 名無し さん
25/03/13 07:38 名無し さん
25/01/06 18:23 名無し さん
25/01/02 15:12 名無し さん
25/01/01 17:39 名無し さん
24/12/31 07:04 名無し さん
24/12/28 22:20 名無し さん
24/12/26 08:52 名無し さん
24/12/24 04:20 名無し さん
24/12/23 17:24 名無し さん
24/12/21 18:44 名無し さん

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

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