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 = "abcd"; の時、*++ptr は何を返しますか?
'c'
'b'
'a'
'd'
Q2: ★ char *ptr = (char *)0x100; char *ptr2 = ptr--; を実行した後の、ptr2 の値はいくつ?
0x100
0x0ff
0x0fe
0x0fc
Q3: ★ char b[] = {1, 2, 3, 4}; int *ptr = (int *)b; 実行後の *ptr の値はなにか?
0x03040102
0x01020304
0x04030201
0x02010403
Q4: ★★ int型で引数無しの関数(例:int foo())へのポインタ型 func_t を typedef で定義するコードはどれ?
typedef int *func_t();
typedef int () *func_t;
typedef int () func_t;
typedef int (*func_t)();
Q5: ★ char *p1 = (char *)0x100; char *p2 = (char *)0x110; の時、p2 - p1 の値はいくつですか?
16
8
4
2
Q6: ★ char へのポインタ ptr を宣言するには?
char &ptr;
char *ptr;
char #ptr;
char ^ptr;
Q7: ★ int data[100] がある時、配列の先頭アドレスを int *ptr に設定するには?
ptr = data;
ptr = &data;
ptr = data[0];
ptr = data[];
Q8: ★★ char *ptr が文字列を指している時、指している先が半角空白またはタブならポインタを進める最も簡潔なコードは以下の中でどれ?
while (*ptr++ == ' ' || *ptr++ == '\t') {}
while (*ptr == ' ' || *ptr++ == '\t') {}
while (*ptr == ' ' || *ptr == '\t') ++ptr;
while (*ptr++ == ' ' || *ptr == '\t') {}
Q9: ★★ 文字列 char *str の先頭に文字cを挿入するコードはどれ?ただし、str の文字数は int len; に入っているものとする。
char *ptr = str; for(int i = 0; i < len; ++i) { *str= *(str-1); ++str; } *ptr = c;
str += len; for(int i = 0; i < len; ++i) { *str = *(str-1); --str; } *str = c;
str += len; for(int i = 0; i < len; ++i) { *(str+1) = *str; --str; } *str = c;
char *ptr = str; for(int i = 0; i < len; ++i) { *(str+1) = *str; ++str; } *ptr = c;
Q10: ★ char *ptr が文字 'A' ~ 'F' を指している時、文字を数値(10~15)に変換するコードはどれ?
*ptr + 'A';
*ptr + 'A' + 10;
*ptr - 'A' + 10;
*ptr - 'A';


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

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

満点獲得者名と記念コメント:
25/12/09 10:06 名無し さん
25/12/04 23:36 名無し さん
25/12/02 18:56 名無し さん
25/11/15 10:41 名無し さん
25/11/12 20:06 名無し さん
25/11/10 02:58 名無し さん
25/11/06 13:36 名無し さん
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 名無し さん

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

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