ページへ戻る

− Links

 印刷 

blike​/intro​/p0003 のバックアップソース(No.3) :: OSASK計画

osaskwiki:blike/intro/p0003 のバックアップソース(No.3)

« Prev[4]  Next »[5]
* (2) 変数で計算してみる [#e6e5fff5]
-(by [[K]], 2011.02.13)
*** (1) rei0004.c [#f0f9cd8b]
 int a;
 a = 1 + 2;
 printf("%d", a);
-今回はここから話をはじめたいと思います。1行目は、aというのは変数だよ、これは整数を覚えるのに使うよ、とコンピュータに教えるためのものです。命令のintは整数のintergerに由来します。こうやって前もって断っておかないと、いきなりaとか書いてもコンピュータは驚いてしまって、「なんかいきなりaとか出てきたんだけど、ちゃんと宣言してから使ってよね」というエラーが出てしまいます。
-2行目は、1+2を計算してその結果がaに代入されます。1+2という数式を覚えるのではなくて、答えである3を覚えます。
-そして3行目。printfでは%dを使うと変数の中身を表示することができます。なんかよくわからない書き方だなあと感じると思いますが、とりあえずこう書けば変数の値を表示することができる、と今は思ってください。
-ということでこれを実行すると画面に3が表示されます。まあ面白くはないです。ごめんなさい。
*** (2) rei0005.c [#u0b4a6a2]
 int a;
 a = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10;
 printf("kotae ha %d", a);
-これを実行すると、画面には kotae ha 55 と表示されます。これくらいになると、ただの計算機よりはかしこいかなという気になります。また、%dの意味も少し分かってきます。つまり%dの部分に変数の値が置き換わって表示されるというわけです。
-ここまではいいでしょうか?
*** (3) rei0006.c [#j3ab74ac]
 int a, b, c;
 printf("tate?");
 scanf("%d", &a);
 printf("yoko?");
 scanf("%d", &b);
 c = a * b;
 printf("menseki = %d", c);
-これを実行すると、縦や横の数字を聞かれるようになります。入力した数字は変数aとbに入ります。そしてそれを掛け算した結果がcに入って、面積として表示されます。
-このようにscanfを使うと、数字を入力できるようになります。scanfの書き方はprintfに似ていますが、&がつくところが違います。またC言語では掛け算の記号に*を使います。
-面積の計算は簡単すぎて面白くないですが、もっと難しい公式を覚えさせれば、それなりに役に立ちます。
*** (4) rei0007.c [#u570c5db]
 float a, b, c, d;
 printf("shincho[cm]?");
 scanf("%f", &a);
 printf("taijyu[kg]?");
 scanf("%f", &b);
 c = a / 100.0;
 d = b / (c * c);
 printf("BMI = %f", d);
-これは身長と体重からBMIを計算するプログラムです。今回は整数の計算では不足なので、小数を扱っています。小数を覚えられる変数を作るには int の代わりに float を使います。そして scanf や printf では %d の代わりに %f を使うようにします。100ではなく100.0にしているのは、これは小数を使った割り算なんだよと強調するためです(このプログラムの場合は前後の文脈から判断して小数の割り算だとコンピュータに気づいてもらえるので、別に100でも問題はないですが)。
-ちなみにBMIは20~24くらいの範囲であればいいらしいです。あなたはどうですか?
*** (5) まとめ [#wa715d1c]
-今回は最後の例題に float が出てきましたが、今後 float はあまり出てこないのでそれほど重要ではないです。整数の計算だけでは困るなあということがもしあったら思い出してあげてください。
-変数は重要です。超重要です。

« Prev[4]  Next »[5]