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: ★★ 以下の中で明らかに間違っているコードはどれか?
for (int i = 0; i < n; ++i) { sum += *data++; }
for (int i = 0; i < len; ++i) { *(str + len - i + 1) = *(str + len - i); }
if (*ptr == '\\' && ptr + 1 < endptr ) ptr += 2;
char *ptr = new char[100]; int len = strlen(ptr);
Q2: ★ void foo(char *, int *); という関数があり、char *ptr; char ch; int data[10], int x; が定義されているとき、以下のなかで正しくないのはどれ?
foo(&ch, data);
foo(&ch, &x);
foo(ptr, &data);
foo(ptr, &x);
Q3: ★★★ 環状双方向リンクリスト構造体 struct Node { int val; Node *prev; Node *next}; があり、Node *ptr; が定義されているとき、ptr が指すノードを自分自身とリンクするコードはどれ?
ptr->next = ptr + 1; ptr->prev = ptr - 1;
ptr->next = ptr->prev = ptr;
ptr->next = ptr - 1; ptr->prev = ptr + 1;
ptr->next = ptr->prev = 0;
Q4: ★★ char *str に文字 c を n 個の書き込み、終端記号 '\0' を付加するコードはどれ?
for(int i = 0; i < n; ++i) { str[i] = c; ++str; } str[n] = '\0';
for(int i = 0; i < n; ++i) { str[++i] = c; } str[n] = '\0';
for(int i = 0; i < n; ++i) { str[i] = c; } str[n] = '\0';
for(int i = 0; i < n; ++i) { str[i++] = c; } str[n] = '\0';
Q5: ★★ int d[] = {0, 1, 2, 3}; int *ptr = d; int **pp = &ptr; *pp += 1; の時、*ptr の値は何か?
0
2
1
3
Q6: ★ char *ptr が文字 'A' ~ 'F' を指している時、文字を数値(10~15)に変換するコードはどれ?
*ptr - 'A' + 10;
*ptr + 'A' + 10;
*ptr + 'A';
*ptr - 'A';
Q7: ★ char *ptr = (char *)0x100; char *ptr2 = --ptr; を実行した後の、ptr2 の値はいくつ?
0x0fe
0x0fc
0x0ff
0x100
Q8: ★ 構造体 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];
Q9: ★ char へのポインタ ptr を宣言するには?
char ^ptr;
char *ptr;
char #ptr;
char &ptr;
Q10: ★★ char b[4]; int *ptr = (int *)b; *ptr = 0x01020304; 実行後、b[2] の値は何か?
0x02
0x04
0x01
0x03


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

最近10人の平均点:3.9
5 4 7 3 0 0 7 5 4 4 (latest)
最近100人の平均点:5.2
最近1000人の平均点:4.7
過去全部(11874人)の平均点:5.0

満点獲得者名と記念コメント:
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 名無し さん
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 名無し さん

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

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