簡単な計算
1から9までの数字を使って100を作れるか。
code:keisan1.c
int main(void)
{
printf("答えは %d です。\n", 123 - 45 - 67 + 89);
return 0;
}
この %d のところに 123-45-67+89 の計算結果が出力される。%d は decimal(十進法)で整数値を出力する場所を意味する。
変数の利用
code:keisan2.c
int main(void)
{
int x;
x = 123 - 45 - 67 + 89;
printf("答えは %d です。\n", x);
return 0;
}
int x; で整数(integer)型の変数 x を作る。x = ...; で整数値を代入する。
次のようにしても同じ:
code:keisan3.c
int main(void)
{
int x;
x = 123;
x = x - 45;
x = x - 67;
x = x + 89;
printf("答えは %d です。\n", x);
return 0;
}
x = x - 45; は x に x - 45 を代入している(つまり x を45だけ減らしている)。
これでも同じ:
code:keisan4.c
int main(void)
{
int x;
x = 123;
x -= 45;
x -= 67;
x += 89;
printf("答えは %d です。\n", x);
return 0;
}
かけ算は *(米印,asterisk),割り算は /(斜線,slash)を使う。
例えば 1×2÷3 は 1 * 2 / 3 のはずだが・・・
code:keisan5.c
int main(void)
{
printf("答えは %d です。\n", 1 * 2 / 3);
return 0;
}
「答えは 0 です」と表示される。整数同士の割り算は切り捨てて整数になる。
これがまずい場合は「実数」を使う:
code:keisan6.c
int main(void)
{
printf("答えは %g です。\n", 1.0 * 2.0 / 3.0);
return 0;
}
実数を出力する場所は %g とする(詳しくは後述)。
実数と整数の演算は,実数にそろえられる:
code:keisan7.c
int main(void)
{
printf("答えは %g です。\n", 1.0 * 2 / 3);
return 0;
}
double型の変数
code:keisan8.c
int main(void)
{
double x;
x = 1.0 * 2 / 3;
printf("答えは %g です。\n", x);
return 0;
}
いろいろな型
int 型: 整数(integer)4バイトが多い。+2147483647 から -2147483648 までの範囲
long 型(long int 型): 長い整数(long integer)8バイトが多い。+9223372036854775807 から -9223372036854775808 までの範囲
double 型: 実数(倍精度の浮動小数点数,double-precision floating-point number)8バイトが多い
float 型: 実数(単精度の浮動小数点数,single-precision floating-point number)4バイトが多い(現在ではあまり使われない)
変換指定(書式指定)