a = 6, b = 5 のとき,次の各計算結果を表示するプログラムを作成せよ.
a + b
a − b
a × b
a ÷ b
a ÷ b のあまり
底辺が a, 高さ b の三角形の面積
a2 + ab
解答例:
#include <stdio.h>
void main()
{
    int a, b;
    a = 6;
    b = 5;
    printf("a = %d\nb = %d\n", a, b);
    printf("a + b = %d\n", a+b); 
    printf("a - b = %d\n", a-b); 
    printf("a X b = %d\n", a*b); 
    printf("a / b = %d\n", a/b); 
    printf("a %% b = %d\n", a%b); 
    printf("底辺a,高さbの三角形の面積 = %d\n", a*b/2); 
    printf("a^2 + ab = %d\n", (a+b)*a); 
}
		
		結果:
a = 6 b = 5 a + b = 11 a - b = 1 a X b = 30 a / b = 1 a % b = 1 底辺a,高さbの三角形の面積 = 15 a^2 + ab = 66
あれ,結果が思い通りになりませんね.
わり算の結果(商)は,実数になるはずなので,
    printf("a / b = %f\n", a/b); 
		としてみましょう.さあ,どうでしょう?
a / b = 0.000000
ますますおかしくなりましたね.これは,同じ型同士で演算をすると結果も同じ型になるからです.
上の例だと,
[整数]=[整数]÷[整数]
となるため,商が正しく求まりません.そこで,別の実数の変数を用意して,
[実数]=[整数]÷[整数]
となるように,書き換えてみましょう.
#include <stdio.h>
void main()
{
    int a, b;
    float c;
    a = 6;
    b = 5;
    c = a / b;
    printf("a / b = %f\n", c); 
}
		
		結果:
a / b = 1.000000
まだ,おかしいですね.
わり算をうまく行うには,
[実数]=[実数]÷[実数]
としなくてはなりません.そこで,整数から実数に変数の型を 変換 する必要があります.型を変換する演算子を キャスト演算子 と呼びます.
#include <stdio.h>
void main()
{
    int a, b;
    float c;
    a = 6;
    b = 5;
    c = (float)a / (float)b;
    printf("a / b = %f\n", c); 
}
		
		結果:
a / b = 1.200000
やっと,意図した結果が得られました.
このように,計算の途中で型が思い通りにならないことが多く出てきます.気をつけてプログラムを作りましょう.
これまで,プログラム内で扱う値は,あらかじめプログラムに記述してあるものしか,扱えませんでした.
上のプログラムで,変数aや変数bに,値を後から設定できるようにしましょう.キーボードからデータを入力するには scanf()関数を用います.

scanf() 関数は,printf() 関数によく似ていますが,変数の前に必ず & をつけます.この記号の意味は後期に説明します.
キーボードから入力した値を表示するプログラム:
#include <stdio.h>
void main()
{
    int a;
    float b;
    printf("a = "); scanf("%d", &a);
    printf("b = "); scanf("%f", &b);
    printf("a = %d\n", a);
    printf("b = %f\n", b);
}
		先週作成したプログラムにおいて,変数a, b をキーボードから入力して計算するように変更してみよう.
肥満度を表す指標にBMIというものがあります.これは1999年にWHOで基準が発表されていますが,18.5から25までが正常範囲とされています.
BMI=体重(kg)÷身長(m)^2
キーボードから体重と身長を入力すると,BMI値を計算して画面に表示するプログラムを作成せよ.
参考:
| BMI | 判定 | 
| 18.5未満 | やせ | 
| 18.5〜25 | 普通 | 
| 25〜30 | 肥満1 | 
| 30〜35 | 肥満2 | 
| 35〜40 | 肥満3 | 
| 40以上 | 肥満4 |