MMGamesロゴ  MMGames
Twitterシェアボタン  Facebookシェアボタン   
 English 

しんで覚えるC言語
しんで覚えるC言語

練習問題10

基本知識

問 1-1
while文の様に、条件が先に判定される繰り返しをなんと呼ぶか。


問 1-2
do~while文の様に、条件が後に判定される繰り返しをなんと呼ぶか。

プログラム読取
次のプログラムは、何を表示するためのプログラムなのか、
処理内容や変数名から判断して答えよ。

問 2-1
#include <stdio.h>

int main(void)
{
    int year = 0;
    double money = 10000;

    while (money < 15000) {
        year++;
        money *= 1.01;
    }

    printf("%d , %f\n", year, money);

    return 0;
}

プログラム書取

問 3-1
テストの点数を入力するプログラムを作りたい。
ただし、テストの点数は0~100までしかないので、
それ以外が入力された場合には再入力させるようにすること。

記述式

問 4-1
do~while文はなぜ入力チェックに向いているのかを簡潔に説明せよ。

基本知識(解答例)

解 1-1
先判定


解 1-2
後判定

プログラム読取(解答例)

解 2-1
金利年1%の銀行に10000円を預けた場合に、
それが15000円になるのに何年かかるかを表示するプログラム。

プログラム書取(解答例)

解 3-1
#include <stdio.h>

int main(void)
{

    int score;

    do {
        printf("点数を入力して下さい:");
        scanf("%d", &score);
    } while (score < 0 || score > 100);

    printf("入力された点数 %d\n", score);

    return 0;
}


再入力の時にメッセージを表示させたい場合には次のようにする。
変数scoreに0が入っているかどうかで初めの入力かどうかを区別している。
scoreに0が入力された場合はループから抜けるので、条件がかぶることはない。

解 3-1 解答2
#include <stdio.h>

int main(void)
{

    int score = 0;

    do {
        if (score != 0)
            printf("点数は 0~100の範囲で入力して下さい。\n");
        printf("点数を入力して下さい:");
        scanf("%d", &score);
    } while (score < 0 || score > 100);

    printf("入力された点数 %d\n", score);

    return 0;
}

問題
記述式(解答例)

解 4-1
do~while文は後判定ループなので、初めに必ず1回は実行され、
入力を行わないという事態が起こらないため。



本サイトについて

苦しんで覚えるC言語(苦C)は
C言語入門サイトの決定版です。
C言語の基本機能を体系立てて解説しており、
市販書籍と同等以上の完成度です。

第0部:プログラム概要編
  1. プログラムとは何か?
2章:プログラムの書き方
  1. 書き方のルール
  2. 書き方の慣習
  3. 練習問題2
3章:画面への表示
  1. 文字列の表示
  2. 改行文字
  3. 練習問題3
6章:キーボードからの入力
  1. 入力用の関数
  2. 入力の恐怖
  3. 練習問題6
9章:回数が決まっている繰り返し
  1. 繰り返しを行う文
  2. ループ動作の仕組み
  3. 練習問題9
10章:回数がわからない繰り返し
  1. 回数不明ループ
  2. 入力チェック
  3. 練習問題10
13章:複数の変数を一括して扱う
  1. 複数の変数をまとめて扱う
  2. 配列の使い方
  3. 練習問題13
20章:複数のソースファイル
  1. 最小限の分割
  2. 分割の定石
  3. 練習問題20

コメント
COMMENT

💬 コメント投稿欄を開く