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 が文字列を指している時、指している先が数字文字かどうかを判定するコードはどれ?
if( *ptr >= 0 && *ptr <= 9 ) { ... }
if( *ptr >= 0 || *ptr <= 9 ) { ... }
if( *ptr >= '0' && *ptr <= '9' ) { ... }
if( *ptr >= '0' || *ptr <= '9' ) { ... }
Q2: ★ char *ptr; が宣言されているとき *ptr の型は何?
char へのポインタ
char へのポインタへのポインタ
void 型
char
Q3: ★★ 文字列 char *src を char *dst にコピーするソースはどれ?
while ((*dst++ = *++src) != '\0') {}
while ((*++dst = *++src) != '\0') {}
while ((*++dst = *src++) != '\0') {}
while ((*dst++ = *src++) != '\0') {}
Q4: ★★ ヌルターミネイトされた文字列 char *str の文字数を len に設定するのはどれ?ただし len は 0 に初期化されているものとする。
while (str[len+1] != '\0') { ++len, ++str; }
while (str[len] != '\0') { ++len, ++str; }
while (*str++ != '\0') ++len;
while (*++str != '\0') ++len;
Q5: ★ char *ptr = "abcd"; の時、ptr[2] は何を返しますか?
'c'
'd'
'b'
'a'
Q6: ★ 構造体 struct Hoge { int val; }; が定義されているとき、Hoge へのポインタ ptr を宣言するには?
Hoge *ptr();
Hoge ^ptr
Hoge &ptr;
Hoge *ptr;
Q7: ★ char *ptr = (char *)0x100; ++ptr; を実行した後の、ptr の値はいくつ?
0x100
0x104
0x102
0x101
Q8: ★ int *ptr = (int *)0x100; ptr += 2; を実行した後の、ptr の値はいくつ?
0x102
0x104
0x108
0x100
Q9: ★★ 以下のなかで正しいソースコードはどれ?
void copy(const char *src, const char *dst) { while( *dst++ = *src++ ) {} }
void setZero(char * const dst, int n) { for(int i = 0; i < n; ++i) *dst++ = 0; }
void setZero(const char *dst, int n) { for(int i = 0; i < n; ++i) *dst++ = 0; }
const char *dup(const char *s) { char *d = new char[strlen(s)]; char *t = d; while( *d++ = *s++) ; return t; }
Q10: ★★ typedef char* charptr とし、charptr p1, p2; と宣言した時の p2 の型は何?
char 型
void 型
char へのポインタへのポインタ型
char へのポインタ型


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

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

満点獲得者名と記念コメント:
20/05/24 06:58 名無し さん
20/04/20 15:53 名無し さん
20/04/08 13:37 aaa さん
 「bbb」
20/03/15 23:43 名無し さん
20/03/13 10:54 名無し さん
20/03/10 03:08 名無し さん
20/03/03 19:00 Y さん
20/03/01 08:55 名無し さん
20/02/24 08:08 名無し さん
20/02/09 13:53 名無し さん
20/02/05 17:02 名無し さん
20/02/04 14:06 名無し さん
19/12/26 04:38 名無し さん
19/12/23 20:01 名無し さん
19/12/23 12:49 名無し さん
19/12/20 11:34 名無し さん
19/12/18 04:25 名無し さん
19/12/17 10:48 名無し さん
19/12/16 13:26 名無し さん
19/12/15 10:32 名無し さん

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

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