9.9 課題9

cd c を実行した後で( ~/c に移動した後で)、 以下の課題をやってみよ。

課題 9.1
文字変数の入出力 キーボードから、文字を1文字読み取り、'y' だったなら ば YES を、'n' だったならば NO を、それ以外だったならば、 ERROR を表示するプログラムを作成せよ。

課題 9.2
文字の値

文字に割り当てられた値を調べるために、キーボードから文字を 1文字読み取り、その文字の値を調べるプログラムを作成せよ。

文字の値は、読み込んだ文字をいったん整数変数に代入し、その 整数変数の値を出力することで得られる。

    int a;
    char c;
    ...
    /* キーボードから文字変数 c に読み込んだ後で */
    ...
    a = c;
    ...

色々な文字を入力してみよ。

課題 9.3
何が起こるか?

以下のプログラムを入力し、実行してみよ。

#include <stdio.h>
main()
{
    int i;
    char c;

    i = 'a' + 'A';
    printf("'ex1:  a' + 'A' = %d\n", i);

    c = 1 + 'a';
    i = c;
    printf("ex2:  1 + 'a' を整数で出力すると %d\n", i);
    printf("ex3:  1 + 'a' を文字で出力すると %c\n", c);
}

プログラムを実行してみて、ex1, ex2, ex3 それぞれの表示が何故そうなるかを 説明せよ (課題9.2 を用いると文字の値を調べられるので、それを用いよ)。 更に、自分で 'Q' + 4 の結果を文字として表示すればどうなる かを考え、理由とともに答えよ。 プログラムの実行結果と説明を creport までメイルで送ること。 題名は、kadai09 とせよ。



最初のページ 戻る 目次
Hiroyasu Asami