コース一覧
C言語中級 文字列・構造体
第4章クイズ

C言語中級 文字列・構造体

C言語の文字列と構造体を学び、複数のデータを整理して扱うコースです。

1
文字列処理の実践
01. strlenを自作する15分
02. strcpyを自作する15分
03. バッファオーバーフロー体験15分
04. 文字列を分解する15分
05. 動的な文字列15分
06. つくる 名前入力の安全化15分
07. 第3章クイズ10分
2
構造体とポインタ
01. 構造体ポインタと->15分
02. 構造体の動的確保15分
03. 動的な構造体配列15分
04. 関数ポインタ15分
05. qsortで並べ替える15分
06. つくる 動的Student完成15分
07. 第4章クイズ10分

C言語中級 文字列・構造体

01strlenを自作する
02strcpyを自作する
03バッファオーバーフロー体験
04文字列を分解する
05動的な文字列
06つくる 名前入力の安全化
07第3章クイズ
08構造体ポインタと->
09構造体の動的確保
10動的な構造体配列
11関数ポインタ
12qsortで並べ替える
13つくる 動的Student完成
14第4章クイズ

第4章クイズ

クイズ1

Student *p が構造体を指しているとき、(*p).score と同じ意味になる書き方はどれですか。

クイズ2

次のコードを実行したとき、表示される値はどれですか。

c

Student st = {"Sato", 80};
Student *p = &st;
p->score += 10;
printf("%d\n", st.score);

クイズ3

Student *s = malloc(sizeof(Student)); と書くべきところを Student *s = malloc(sizeof(Student *)); と書いてしまいました。何が起きますか。

クイズ4

次のコードを実行したとき、表示される値はどれですか。

c

void twice(int *x) { *x *= 2; }
void plus3(int *x) { *x += 3; }

int main(void) {
    void (*f)(int *) = twice;
    int v = 10;
    f(&v);
    f = plus3;
    f(&v);
    printf("%d\n", v);
    return 0;
}

クイズ5

点数だけを見る比較関数で qsort を呼びました。同じ点数の学生が2人いるとき、その2人の並びについて正しいのはどれですか。

未回答の問題は、不正解として正解と解説のみ表示します

ログインが必要です

クイズに回答するにはログインしてください。