前回の復習
前回はprintfをつかってHello World!という文字の出力を行いました。
しかし、printfで出力出来るのは文字だけではありません。プログラムの中で計算してその数値を出力するなんて事もできます。
ということで、今回は数値の出力から取り扱っていきます。
数値の出力
23+47を計算して出力するプログラムを作りましょう。以下のソースコードを見てください。
/****** filename:constant.c *******/ #include<stdio.h> int main(void) { printf("%d\n",23+47); return 0; }
コードの説明
%d
dはdecimal(10進数という意味です)の頭文字で、「以下の実引数を10進数で表示しでください」という書式の指定を行なっています。コードでいえば23+47が対象の実引数となります。
変数
変数というのは、文字や数字などの値を格納する箱のようなものです。aという箱に10という数字を入れるというようなイメージです。箱という表現はプログラミングにおいて、しばしば使われる表現です。
以下のプログラムは先程の計算を一度変数に代入して出力するプログラムです。
/******* filename:variable.c *******/ #include<stdio.h> int main(void) { int a=23; int b=47; int sum=a+b; printf("%d\n",sum); return 0; }
コードの説明
int a=23
intというのは整数の型を意味します。ですからint aというのは変数aは整数の型ですよという宣言になります。他にも様々な型があります。
型名 | 意味 |
---|---|
int | 整数型 |
double | 浮動小数点数型(8バイト) |
float | 浮動小数点数型(4バイト) |
char | 文字型 |
void | 型なし |
また、a=23というのは変数aを23という値で初期化するということを意味します。
変数は宣言された時点である値が割り当てられます。そのままでは計算出来ないので最初に初期化してあげる必要があります。
またa=23というのは、変数aに23を代入するということを意味します。数学のようにaと23が等しいという意味ではありません。
プログラミングでは=で結んだ時、右の値を左の変数に代入するということを意味します。ですからプログラミングではa=bとb=aでは全く違うということに注意しましょう!
前回の復習part2
コードを書いていく上で最初に記述する呪文がありましたよね?

そうです!ではstdioとはなんの略ですか?

さすがですね!完璧です。
stdioが標準入出力ならば出力があれば入力もあるはず。
ということで、入力について学習しましょう。
入力にはscanfを使おう!
今回はキーボードから数値を入力し、その値を使って計算して出力するプログラムを作成します。
以下のソースコードをみてください。
/***** filename:input.c *****/ #include<stdio.h> int main(void) { int a=0; int b=0; printf("一つ目の値は?:"); scanf("%d", &a); printf("二つ目の値は?:"); scanf("%d", &b); printf("%d + %d = %d\n", a, b, a+b); return 0; }
二つ目の値は?:47
23 + 47 = 70
コードの説明
scanf
キーボードからの入力をコンピュータが待つときに使われる命令です。キーボードから入力される値は、「,」以下の変数に格納されます。その際、&をつけることに注意しましょう。
今回のプログラムでは、scanf(“%d”,&a)となっているので、「aという変数にキーボードから入力された10進数の値を格納する」という命令になります。

C言語学習におすすめのテキストはこちら