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 *str の末尾 n 文字を削除するコードはどれ?ただし、str の文字数を len とし、len >= n とする。
str[len] = '\0';
str[n - len] = '\0';
str[len - n] = '\0';
str[n] = '\0';
Q2: ★ char *ptr が文字列を指している時、指している先が数字文字かどうかを判定するコードはどれ?
if( *ptr >= '0' || *ptr <= '9' ) { ... }
if( *ptr >= 0 || *ptr <= 9 ) { ... }
if( *ptr >= '0' && *ptr <= '9' ) { ... }
if( *ptr >= 0 && *ptr <= 9 ) { ... }
Q3: ★ 1バイトは何ビット?
8bit
16bit
4bit
32bit
Q4: ★ あ~りんのほっぺは?
ぷにっぷに
ぴちっぴち
つるっつる
ぷるっぷる
Q5: ★ char へのポインタ ptr の指す先の次のデータを ch に代入するには?
ch = *ptr++;
ch = *ptr;
ch = *++ptr;
ch = ++*ptr;
Q6: ★★ ダミーノード付き環状双方向リンクリスト構造体 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 = ptr->next) != root) { cout << ptr->val; }
Node *ptr = root; while (ptr != root) { cout << ptr->val; ptr = ptr->next; }
Node *ptr = root->next; while ((ptr = ptr->next) != root) { cout << ptr->val; }
Q7: ★★ 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';
Q8: ★ char へのポインタ ptr を宣言するには?
char ^ptr;
char *ptr;
char &ptr;
char #ptr;
Q9: ★ char へのポインタ ptr の指す先のデータを ch に代入するには?
ch = ptr++;
ch = &ptr;
ch = ptr;
ch = *ptr;
Q10: ★★ char *ptr が文字列を指している時、指している先が半角空白またはタブならポインタを進める最も簡潔なコードは以下の中でどれ?
while (*ptr++ == ' ' || *ptr == '\t') {}
while (*ptr == ' ' || *ptr == '\t') ++ptr;
while (*ptr == ' ' || *ptr++ == '\t') {}
while (*ptr++ == ' ' || *ptr++ == '\t') {}


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

最近10人の平均点:4.4
5 6 9 8 1 1 7 3 4 0 (latest)
最近100人の平均点:3.8
最近1000人の平均点:4.4
過去全部(11693人)の平均点:5.0

満点獲得者名と記念コメント:
24/11/13 07:02 名無し さん
24/11/09 23:10 名無し さん
24/11/06 05:51 名無し さん
24/11/05 23:04 名無し さん
24/11/03 21:12 名無し さん
24/11/03 20:55 名無し さん
24/11/03 00:41 名無し さん
24/10/31 23:08 名無し さん
24/10/27 03:47 名無し さん
24/10/26 22:12 名無し さん
24/10/25 18:29 名無し さん
24/10/24 09:14 名無し さん
24/10/23 21:47 名無し さん
24/10/23 09:24 名無し さん
24/10/20 08:25 名無し さん
24/10/19 22:28 名無し さん
24/10/18 04:54 名無し さん
24/10/17 16:14 名無し さん
24/10/11 12:37 名無し さん
24/09/30 13:05 名無し さん

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

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