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 data[100] がある時、配列の先頭アドレスを int *ptr に設定するには?
ptr = data;
ptr = data[];
ptr = &data;
ptr = data[0];
Q2: ★★★ 環状双方向リンクリスト構造体 struct Node { int val; Node *prev; Node *next}; があり、Node *ptr; が定義されているとき、ptr が指すノードを自分自身とリンクするコードはどれ?
ptr->next = ptr + 1; ptr->prev = ptr - 1;
ptr->next = ptr - 1; ptr->prev = ptr + 1;
ptr->next = ptr->prev = ptr;
ptr->next = ptr->prev = 0;
Q3: ★ char *ptr = "abcd"; の時、*++ptr は何を返しますか?
'c'
'd'
'b'
'a'
Q4: ★★ char *ptr が文字列を指している時、指している先が半角空白またはタブならポインタを進める最も簡潔なコードは以下の中でどれ?
while (*ptr == ' ' || *ptr == '\t') ++ptr;
while (*ptr++ == ' ' || *ptr == '\t') {}
while (*ptr++ == ' ' || *ptr++ == '\t') {}
while (*ptr == ' ' || *ptr++ == '\t') {}
Q5: ★★★ 環状双方向リンクリスト構造体 struct Node { int val; Node *prev; Node *next}; と、Node *ptr1, *ptr2; があるとき、ptr1 の次に ptr2 を相互にリンクするコードはどれか?
ptr1->next = ptr2->prev; ptr2->prev = ptr1->next;
ptr1->next = ptr2->next->next; ptr2->prev = ptr1->prev->prev;
ptr1->next = ptr2->next; ptr2->prev = ptr1->prev;
ptr1->next = ptr2; ptr2->prev = ptr1;
Q6: ★ int d[] = {0, 1, 2, 3}; int *ptr = d; ptr += 2; の時、*ptr の値は何か?
2
0
1
3
Q7: ★ char *ptr が数字文字列を指している時、数字文字を数値に変換するコードはどれ?
*ptr - '0';
*ptr - '\0';
*ptr - '9';
*ptr - 0;
Q8: ★ char *ptr が英大文字を指している時、それを英小文字('A' ならば 'a' )に変換するコードはどれ?
*ptr = *ptr - 'A' - 'a';
*ptr = *ptr + 'A' - 'a';
*ptr = *ptr - 'A' + 'a';
*ptr = *ptr + 'A' + 'a';
Q9: ★★ int *first, *last; が定義され、どこかの範囲を指している時、first と last の中間地点を求める正しいコードはどれ?
first + ((int)last - (int)first) / 2;
(first + last) / 2;
first + (last - first) / 2;
(int *)(((int)first + (int)last) / 2);
Q10: ★ 構造体 struct Hoge { int val; }; が定義されているとき、Hoge へのポインタ ptr を宣言するには?
Hoge ^ptr
Hoge &ptr;
Hoge *ptr;
Hoge *ptr();


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

最近10人の平均点:6.4
10 3 8 5 5 4 8 7 6 8 (latest)
最近100人の平均点:5.7
最近1000人の平均点:5.1
過去全部(7271人)の平均点:5.0

満点獲得者名と記念コメント:
19/04/22 15:52 さん
19/04/22 15:40 🐔 さん
19/04/20 18:42 名無し さん
19/04/20 13:52 名無し さん
19/04/16 13:20 名無し さん
19/04/13 12:49 名無し さん
19/04/08 21:38 名無し さん
19/04/08 04:40 名無し さん
19/04/01 09:31 名無し さん
19/03/19 02:54 名無し さん
19/03/18 03:13 名無し さん
19/03/17 07:46 名無し さん
19/03/14 09:02 名無し さん
19/03/10 04:01 名無し さん
19/03/04 06:39 名無し さん
19/02/13 22:45 名無し さん
19/02/11 15:26 名無し さん
19/02/07 02:28 名無し さん
19/01/29 04:52 名無し さん
19/01/19 04:41 名無し さん

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

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