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[0];
ptr = data;
Q2: ★ 0x12ab を2進数で表すと?
1011 1010 0010 0001
1011 1010 0010 0011
0001 0010 1011 1011
0001 0010 1010 1011
Q3: ★ char *ptr が文字列を指している時、指している先が英小文字かどうかを判定するコードはどれ?
if( *ptr >= 'a' && *ptr <= 'z' ) { ... }
if( *ptr >= 'a' || *ptr <= 'z' ) { ... }
if( *ptr >= 'z' || *ptr <= 'a' ) { ... }
if( *ptr >= 'z' && *ptr <= 'a' ) { ... }
Q4: ★ strdup(char *str) のためにメモリをアロケートするのはどれが正しい?ただし、str の文字数を len とする。
new char[len-1]
new char[len+1]
new char[len*2]
new char[len]
Q5: ★ char *ptr が文字列を指しているとき、文字列を cout で表示するには?
cout << ptr;
cout << (void *)ptr;
cout << (int)ptr;
cout << *ptr;
Q6: ★★ int *first, *last; が定義され、どこかの範囲を指している時、first と last の中間地点を求める正しいコードはどれ?
first + ((int)last - (int)first) / 2;
(first + last) / 2;
first + (last - first) / 2;
(int *)(((int)first + (int)last) / 2);
Q7: ★★ ヌルターミネイトされた文字列 char *str の文字数を len に設定するのはどれ?ただし len は 0 に初期化されているものとする。
while (*str++ != '\0') ++len;
while (*++str != '\0') ++len;
while (str[len] != '\0') { ++len, ++str; }
while (str[len+1] != '\0') { ++len, ++str; }
Q8: ★★ char *str に文字 c を n 個の書き込み、終端記号 '\0' を付加するコードはどれ?
for(int i = 0; i < n; ++i) { *(str+i) = c; } str[n] = '\0';
for(int i = 0; i < n; ++i) { *str = 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';
Q9: ★ int *p1 = (int *)0x100; int *p2 = (int *)0x110; の時、p2 - p1 の値はいくつですか?
16
8
4
2
Q10: ★ あ~りんのほっぺは?
ぴちっぴち
ぷるっぷる
つるっつる
ぷにっぷに


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

最近10人の平均点:6.0
6 4 8 7 4 8 5 7 4 7 (latest)
最近100人の平均点:4.8
最近1000人の平均点:4.8
過去全部(9121人)の平均点:5.0

満点獲得者名と記念コメント:
21/02/22 06:25 名無し さん
21/02/09 13:06 名無し さん
21/01/14 14:24 名無し さん
20/10/21 03:53 名無し さん
 「顎い刀」
20/10/15 12:35 名無し さん
20/10/10 16:31 名無し さん
20/10/02 16:15 名無し さん
20/09/21 21:28 名無し さん
20/09/14 11:57 名無し さん
20/09/09 16:13 名無し さん
20/08/26 21:51 キノピオ さん
 「Year!」
20/08/17 16:45 名無し さん
20/07/21 17:25 名無し さん
20/07/13 07:31 名無し さん
20/07/09 14:43 名無し さん
20/06/15 15:45 名無し さん
20/06/05 23:49 名無し さん
20/06/05 05:06 名無し さん
20/05/24 06:58 名無し さん
20/04/20 15:53 名無し さん

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

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