コース一覧
C言語中級 連結リスト・応用
第5章クイズ

C言語中級 連結リスト・応用

C言語の連結リストと応用的なデータ操作を学び、実装でデータを扱うコースです。

1
連結リスト
01. 配列の限界15分
02. ノードを定義する15分
03. 先頭に追加する15分
04. リストを歩く15分
05. 任意位置の挿入と削除15分
06. リストを全解放する15分
07. つくる リスト版成績管理15分
08. 第5章クイズ10分
2
応用
01. 動的な二次元配列15分
02. コマンドライン引数15分
03. バイナリ保存15分
04. エラーの調べ方15分
05. つくる 引数とバイナリ保存15分
06. 第6章クイズ10分
3
総合制作
01. リスト版を完成させる20分
02. メモリバグ演習20分
03. 自由拡張20分
04. 完成と次のステップ10分

C言語中級 連結リスト・応用

01配列の限界
02ノードを定義する
03先頭に追加する
04リストを歩く
05任意位置の挿入と削除
06リストを全解放する
07つくる リスト版成績管理
08第5章クイズ
09動的な二次元配列
10コマンドライン引数
11バイナリ保存
12エラーの調べ方
13つくる 引数とバイナリ保存
14第6章クイズ
15リスト版を完成させる
16メモリバグ演習
17自由拡張
18完成と次のステップ

第5章クイズ

クイズ1

自己参照構造体について、正しい説明はどれですか。

c

struct Node {
    char name[32];
    int score;
    struct Node *next;
};

クイズ2

先頭にノードを追加する処理として正しいのはどれですか。head はいまの先頭、node は新しく確保したノードです。

クイズ3

次のコードの出力はどうなりますか。

c

struct Node *head = NULL;
head = insert_head(head, "田中", 82);
head = insert_head(head, "鈴木", 91);
head = insert_head(head, "佐藤", 70);
for (p = head; p != NULL; p = p->next) {
    printf("%s ", p->name);
}

クイズ4

次の解放処理には問題があります。何が起きていますか。

c

while (head != NULL) {
    free(head);
    head = head->next;
}

クイズ5

名前で1つ削除する関数を書いたところ、先頭の学生を削除したときだけ落ちました。最も疑うべき原因はどれですか。

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

ログインが必要です

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