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: ★ char へのポインタ ptr を宣言し、char へのポインタ src の値で初期化するには?
char *ptr = src;
char *ptr = src[];
char *ptr = *src;
char *ptr = &src;
Q2: ★ あ~りんのほっぺは?
つるっつる
ぷるっぷる
ぷにっぷに
ぴちっぴち
Q3: ★ 構造体 struct Hoge { int val; }; が定義されているとき、Hoge データを100個生成し、その先頭アドレスを ptr に代入するには?
Hoge *ptr = new Hoge * 100;
Hoge *ptr = new Hoge[100];
Hoge *ptr = new Hoge ^ 100;
Hoge *ptr = new Hoge & 100;
Q4: ★ char *ptr が文字列を指している時、指している先が数字文字かどうかを判定するコードはどれ?
if( *ptr >= 0 && *ptr <= 9 ) { ... }
if( *ptr >= '0' || *ptr <= '9' ) { ... }
if( *ptr >= '0' && *ptr <= '9' ) { ... }
if( *ptr >= 0 || *ptr <= 9 ) { ... }
Q5: ★★ char *str に文字 c を n 個の書き込み、終端記号 '\0' を付加するコードはどれ?
for(int i = 0; i < n; ++i) { *--str = c; } *str = '\0';
for(int i = 0; i < n; ++i) { *++str = c; } *str = '\0';
for(int i = 0; i < n; ++i) { *str-- = c; } *str = '\0';
for(int i = 0; i < n; ++i) { *str++ = c; } *str = '\0';
Q6: ★ char へのポインタ ptr を宣言するには?
char *ptr;
char ^ptr;
char #ptr;
char &ptr;
Q7: ★★ char *ptr1; char *ptr2; があるとき、それぞれのポインタの指す先のデータを交換するコードはどれ?char t; は宣言済みとする。
t = *ptr1; *ptr1 = *ptr2; *ptr2 = t;
*ptr1 = *ptr2; t = *ptr1; *ptr2 = t;
*ptr2 = *ptr1; t = *ptr1; *ptr1 = t;
t = *ptr1; *ptr2 = *ptr1; *ptr1 = t;
Q8: ★ char *ptr が文字列を指している時、指している先が英大文字かどうかを判定するコードはどれ?
if( *ptr >= 'A' || *ptr <= 'Z' ) { ... }
if( *ptr == 'A' && *ptr == 'Z' ) { ... }
if( *ptr == 'A' || *ptr == 'Z' ) { ... }
if( *ptr >= 'A' && *ptr <= 'Z' ) { ... }
Q9: ★★ ダミーノード付き環状双方向リンクリスト構造体 struct Node { int val; Node *prev; Node *next}; があり、Node *root; がダミーノードを指しているとき、リストの内容を全て表示するコードはどれ?
Node *ptr = root; while ((ptr = ptr->next) != root) { cout << ptr->val; ptr = ptr->next; }
Node *ptr = root; while (ptr != root) { cout << ptr->val; ptr = ptr->next; }
Node *ptr = root; while ((ptr = ptr->next) != root) { cout << ptr->val; }
Node *ptr = root->next; while ((ptr = ptr->next) != root) { cout << ptr->val; }
Q10: ★★ #define CHARPTR char* とし、CHARPTR p1, p2; と宣言した時の p2 の型は何?
void 型
char 型
char へのポインタへのポインタ型
char へのポインタ型


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

最近10人の平均点:5.7
5 5 6 4 4 4 8 8 7 6 (latest)
最近100人の平均点:5.5
最近1000人の平均点:4.6
過去全部(11845人)の平均点:5.0

満点獲得者名と記念コメント:
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 名無し さん
24/12/19 16:24 名無し さん
24/12/17 13:42 名無し さん
24/12/17 08:30 名無し さん
24/12/15 00:07 名無し さん
24/12/13 00:18 名無し さん
24/12/10 23:58 名無し さん
24/12/08 22:09 名無し さん
24/11/30 06:35 名無し さん

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

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