プログラムを書くための準備

変数

プログラムの中でデータを保持する事のできる領域を変数と呼ぶ。 例えて言うならば箱のようなものである。 変数に対する操作としては、次の3種類がある。


変数の型

整数型変数

「整数」を表すための型として次のものが用意されている。

型名 データサイズ(バイト) 表現できる値の範囲
符合付 符合無
char 1 -128 〜 127 0 〜 255
short 2 -32768 〜 32767 0 〜 65535
int 2 または 4 (※1) -32768 〜 32767 または 0 〜 65535 または
-2147483648 〜 2147483647 0 〜 4294967295
long 4 (※2) -2147483648 〜 2147483647 0 〜 4294967295

実数型

実数(浮動小数点)を表現する変数には次のものが用意されている。

型名 データサイズ(バイト) 表現できる値の範囲 おおよその有効桁数
float 4 -3.4×1038〜3.4×1038 10進数で7桁程度
double 8 -3.4×10308〜3.4×10308 10進数で14桁程度

実数型には、符合無の型はなく、必ず符合付きである。

ポインタ変数

メモリ上の番地を表現するポインタを格納できる 変数である。上に出てきたすべての型に対するポインタ変数が存在する。


変数の中身を表示させる

変数の中に入っている値を参照するには、printfを利用するのが簡単である。 前回も使用した printf は書式(format)と変数を指定すると、書式にしたがって変数の中身を表示する。

printf("i = %+02d\n", i);

書式指定はman 3 printf として参照できるマニュアルに現れる言葉に従うと

%[フラグ文字][フィールド幅][. 精度][長さ修飾子]変換指定子

と書くことができる。

~tacha/kadai02/test_printf.c
int main() {
     int i;
     double t;

     i = 12;
     t = 314.15926535;

     printf("i = %d\n", i);

     i = 23;
     printf("i = %d\n", i);
     printf("i = %1d\n", i);
     printf("i = %2d\n", i);
     printf("i = %5d\n", i);
     printf("i = %05d\n", i);
     printf("i = %o\n", i);
     printf("i = %x\n", i);

     printf("t = %f\n", t);
     printf("t = %e\n", t);
     printf("t = %6.2f\n", t);
}

演算子

c で利用可能な演算子には次のようなものがある。

2項演算子 ( a ◎ b の形で用いるもの)
  *   i = 12 * 25 300
/ i = 30 / 6 5
% 剰余 i = 34 % 6 4
+ i = 11 + 20 31
- i = 81 - 42 39
< 未満 8 < 5 偽(0)
<= 以下 5 <= 5 真(1)
>= 以上 6 >= 5 真(1)
> より大きい 4 > 5 偽(0)
== 等しい 4 == 5 偽(0)
!= 等しくない 4 != 5 真(1)
&& 論理AND (論理積) (3 == 3) && (8 < 5) 偽(0)
&& 論理OR (論理和) (3 == 3) || (8 < 5) 真(1)

演算子の優先順位

下記の表で上にあるものほど優先順位が高い

右から左
演算子 結合順序
() [] -> . 左から右
! ~ ++ -- -(type) * & sizeof 右から左
* / % 左から右
+ - 左から右
<< >> 左から右
< <= > >= 左から右
== != 左から右
& 左から右
^ 左から右
| 左から右
&& 左から右
|| 左から右
?:
= += -= 等 右から左
, 左から右

表紙


tacha@tack.fukui-med.ac.jp
$Id: emacs.html,v 1.1 2005/10/27 11:12:42 tacha Exp tacha $