第3回 Cプログラムの作成 (4/24)

第4回 キーボード入力(5/1)


先週の復習

【演習1】 円の半径を入力し,面積を表示するプログラムを作成する.


#include <stdio.h>
void main()
{
     int r;
     float s;
     printf("半径を入力してください");
     scanf("%d", &r);
     s = r * r * 3.14;
     printf("円のの面積は%fです\n", s);
}

【演習2】 整数ではなくて,小数を入力するにはどうしたらよいか考える.


#include <stdio.h>
void main()
{
     float r, s;

     printf("半径を入力してください");
     scanf("%f", &r);
     s = r * r * 3.14;
     printf("円のの面積は%fです\n", s);
}
【演習3】 次のプログラムを作成して,演算子の位置の違いを観察する.
#include <stdio.h>
void main()
{
    int a, b, c;

    a = 10;
    b = a++;
    c = ++a;

    printf("変数aの値は%d,変数bの値は%d,変数cの値は%dです\n", a, b, c);
}

++を変数の前に置いた場合と,後においた場合で,結果が異なってくる.a++も++aも変数aに1を加えるのだが,
  b=a++;
を分解して書くと
  b=a;
  a=a+1;
となり,
  b=++a;
を分解して書くと
  a=a+1;
  b=a;
となる.注意して使い分けよう.

【演習4】 キーボードから整数の値を入力し,その値に1を加えた値を出力するプログラムをインクリメント演算子を用いて作成する.


#include <stdio.h>
void main()
{
     int a;

     printf("数字を入力してください");
     scanf("%d", &a);
     printf("入力された値+1は%dです\n", ++a);
}


条件分岐

今週から,プログラムの構造について勉強する.まずは,プログラムを次のプログラムを実行してみよう.


#include <stdio.h>
void main()
{
     int h;

     printf("身長を入力してください ");
     scanf(" %d", &h);
     if ( h <= 180 ) {
         printf("身長が低くいので乗れません!\n");
    }else{
         printf("どうぞお乗りください\n");
    }
}

これは,よくジェットコースターなどで見かける身長制限をプログラムにしてみたものです.ここでつかわれているif文は,条件分岐に大変よく使われます.基本形は,

if (式)

文1;

else

文2;

となります.まず,「式」が評価され,式が真であれば「文1」が実行されます.偽の時は「文2」が実行されます.else以下は省略可能です.式に用いる論理式をまとめると,

演算子 意味
> 大きい
>= 大きいか等しい
< 小さい
<= 小さいか等しい
== 等しい
!= 等しくない
&& かつ(AND)
|| または(OR)
! 否定(NOT)

【演習】 台形(上辺a,下辺b,高さh)の面積を計算したい.まず,キーボードから a, b, h の値を読み込む.もし,h=0 だったら「けいさんできない!」と表示して,プログラム終了.hが0以外なら面積を計算して出力するプログラムを作成しよう.

Oh-o! Meijiのレポートから(第2回)のところへ,演習で作成したプログラムを送る.プログラムには必ず,学年,組,番号,氏名,メールアドレスを記入すること.