第2回 四則演算と整数変数の宣言

内 容


このドキュメントは http://icrus.org/c_language_beginers_course/ 上にあります.

2-1. 四則演算



[課題2-1] 1+2=3(整数の加算)を解いてみよう

1+2=3(整数の加算)を解いてみよう.

[プログラム例2-1]


1: #include <stdio.h>
2: void main(void){
3: printf( "%d", 1+2 );
4: getchar();
5: }


3行目→1+2を計算してディスプレイに表示します.
    printf(...)→ディスプレイに表示する関数です.
    "%d"→整数を1つ表示することを関数printf()に教えます。

[結果2-1]

例の1~4行をキ-ボ-ドから入力してコンパイル・実行すると,画面に答えの「3」が表示されます.その後,リターンキーを押すとプログラムは終了します.

あなたの予想通り,3行目の「1+2」を変更すれば,あらゆる四則演算ができます.たとえば3-2=1を計算さたければ「3-2」に変更します.変更の仕方は以下の通りです.

  1. 足し算 3+1=4 → 3 + 1
  2. 引き算 56-32=24 → 56 - 32
  3. 掛け算 10×12=120 → 10 * 12
  4. 割り算 32÷2=16 → 32 / 2
  5. 余り 17÷8の余りは1 → 17 % 8

ここで+,-,/,*,%などの符号は演算子と呼びます.



[課題2-2] 変数nを使って(1+2)÷3(整数の加算と除算)を解いてみよう.

[プログラム例2-1]


1: #include <stdio.h>

2: void main(void){
3: int n;
4: n = ( 1+2 )/3;
5: printf( "%d", n );
6: getchar();
7: }

3行目→変数nを整数型(int型)として使うことを宣言します.
4行目→(1+2)÷3を計算してその結果を変数nに代入しします.
5行目→変数nを画面に表示します.
    printf()→ディスプレイに表示する関数です.
    "%d"→表示したい変数nが整数であることを関数printf()に教えます。

[結果2-2]

例の1~6行をキ-ボ-ドから入力してコンパイル・実行すると,画面に答えの「1」が表示されます.その後リターンキーを押すとプログラムは終了します.

プログラム例2-1]には計算の重要な基本事項が3つ含まれています.それは,①変数の宣言,②計算結果の代入,③計算結果の表示,です.この①~③を利用すれば,いろいろな四則演算を実行し,表示する事ができます.



[課題2-3] 変数nを使って26÷8の商(整数の除算)と余り(整数の剰余)を計算してみよう.

[プログラム例2-3]


1: #include <stdio.h>
2: void main(void){
3: int n1, n2;
4: n1 = 26 / 8;
5: n2 = 26 % 8;
6: printf( "%d %d", n1, n2 );
7: getchar();
8: }

3行目→同じ型なら「,」で区切って複数の変数(ここではn1とn2)を宣言できます.
4行目→26÷8の商を計算してその結果を変数n1に代入しします.このとき変数n1は,int(整数)と宣言されていますので,実際の商3.25の小数点以下が切り捨てられ,n1に整数部分の3が代入されます.
5行目→18÷8のあまりを計算してその結果を変数nに代入しします.
6行目→"%d %d"→表示したい変数n1,n2が整数であることを関数printf()に教えます。

[結果2-3]

例の1~6行をキ-ボ-ドから入力してコンパイル・実行すると,画面に答えの「3 2」が表示されます.その後,リターンキーを押すとプログラムは終了します.



[課題2-4] 変数xを使って2.5×2.1=5.25(実数の乗算)の計算しよう.

[プログラム例2-4]


1: #include <stdio.h>
2: void main(void){
3: double x;
4: x = 2.5 * 2.1;
5: printf( "%lf", x );
6: }


4行目→2.5×2.1を計算してその結果を変数xに代入しします.
5行目→変数xを画面に表示します.
    "%lf"→表示したい変数xが倍精度実数整数であることを関数printf()に教えます。

[結果2-4]


 例の1~6行をキ-ボ-ドから入力してコンパイル・実行すると,画面に答えの「2.25」が表示されます.

2-2. 整数変数の宣言

[文法2]

1.数値型の宣言
 宣言できる型はint,doubleだけではありません.他には以下のようなものがあります.
範 囲 例
整数(short)int-32768~32767
実数(単精度)flout3.4e-38~3.4e+38
実数(倍精度)double1.7e-308~1.7e+308
文字(1文字)chara,b,A,Bなど1文字(数値範囲は-128~127)
文字列char *テーマ8参照

*コンパイラーの種類によって差があります.ここでは代表的なものを示しました.
C言語では変数をある型で宣言することで,宣言した変数に型に応じた大きさのメモリーの領域を割り当てます.(ここで宣言された変数は,同じ関数内でのみ使用できるローカル変数です.)

2.演算子の優先順位

今まで,登場した演算子には次のような優先順位があります.

優先順位
* / %
+ -

したがって+,-を優先して計算したいときは()を使って次のようにします.
3*(2+4) → 答えは18
()を使わないと左から順に計算されます.
3*2+4 → 答えは10
()は多少冗長に使用してもプログラムを読み易くすべきです.

3.変数名

 変数名は英文字(アルファベットの大文字,小文字)と数字と_(下線)の組み合わせで作ります.しかし先頭を数字にしてはいけません.
[例]
n x Abc x1 x2 doog _Xlist → 正しい
5xy 8X 7%X n+5 → 誤り

4.実数を整数型変数に代入すると,小数点以下が切り捨てられます.

記述なし


おつかれさまでした.以上,第2回はC言語を使った簡単な計算をしてみました.


このドキュメントは http://icrus.org/c_language_beginers_course/ 上にあります.

2016,12

ssatoh@

足立工科大学 工学部 情報通信工学科