C言語 ~分岐~ [C言語]
プログラムらいしいプログラムを書こうとすると、「制御文」を使わないと話になりません。
あんまり意味はありませんが、入力した数値によって表示を変えるようなプログラムを書いてみましょう。
●if/* プラス?マイナス? */
#include <stdio.h>
main()
{
int a; /* aの宣言 */
/* aの入力 */
printf("aを入力してください > ");
scanf("%d", &a);
/* プラス、マイナス、ゼロの判定 */
if (a > 0) {
printf("プラスです\n");
}
else if (a < 0) {
printf("マイナスです\n");
}
else {
printf("ゼロです\n");
}
}
例文を見れば分かると思いますが、if (式1) ~ else if(式2) ~ ・・・~ elseという感じで記述します。ifだけでも構わないし、if ~ elseとなるケースもありまし、else ifがたくさんあるケースもあります。
ただし、あんまりelse ifの数が多くなるとプラグラムが分かりにくくなるので、気を付けてください。
式の部分は、a == 1やa > 1などで、式が真になれば、if文の中身のプログラムが実行されます。
C言語 ~計算してみよう~ [C言語]
コンピュータを日本語に訳すと、電計算機となります。
なので、少しはコンピュータらしいプログラムを作ってしましょう。
四則演算の結果を表示するプログラムを書いてみましょう。
/* 計算してみよう */
#include <stdio.h>
main()
{
int a; /* aの宣言 */
int b; /* bの宣言 */
/* aの入力 */
printf("aを入力してください > ");
scanf("%d", &a);
/* bの入力 */
printf("bを入力してください > ");
scanf("%d", &b);
/* 四則演算の結果を表示 */
printf("a + b = %d\n", a + b);
printf("a - b = %d\n", a - b);
printf("a * b = %d\n", a * b);
printf("a / b = %d\n", a / b);
}
●数値の入力
キーボードからいろいろな値を入力するのには、scanfという関数を使います。
関数書式は、
scanf(フォーマット, 格納可変個引数);
となっています。「フォーマット」のところは、この場合、"%d"となっていますので、10進数で入力しますよってことです。「格納可変個引数」は、フォーマットに対して、格納する変数のアドレスとなります。いまのところは、int型の変数の中に格納するので、&aとなるぐらいで構わないと思います。
●演算子(四則演算)
当たり前ですが、C言語でも四則演算をすることができます。「+」は加算、「-」は減算、「*」は乗算、「/」は除算を示します。まあ、普通に使えばOKです。
C言語 ~変数~ [C言語]
プログラム言語には、変数というものが存在します。
これは、簡単にいうと数値などを入れる箱のようなものです。
例えば整数を格納する箱は、C言語では、int型の変数となります。
あまり意味はないプログラムですが、例を載せます。
/* 変数を使ってみよう */
main()
{
int a;
a = 10;
printf("a = %d\n", a);
}
●変数の宣言
整数を格納する箱を用意する場合、このプログラムにあるように「int a;」と宣言します。
これで、整数を格納できるaとう名前の箱を使えるようになります。
●値の代入
変数にはいろいろな値を格納できます。
aという名前の変数に10を格納する場合「a = 10;」というコードを書きます。
「=」は、右辺の値を左辺に代入するという意味となります。代入演算子と言います。
●変数の表示
printfを使って表示することできます。
例文の場合は、%dの部分にaの値、すなわち10が表示されます。
結果、「a = 10」と表示されます。
また、「\n」はprintf等で表示すると改行されます。私は改行コードと呼んでいます。
なので、このプログラムをコンパイルして実行すると、「a = 10」と表示され、カーソルは次の行になっているはずです。
C言語 ~コンパイルしよう~ [C言語]
さて、作ったC言語環境でコンパイルしてみましょう。
/* はじめの一歩 */
#include <stdio.h>
main()
{
/* Hello World と表示 */
printf("Hello World\n");
}
とりあえず、上記のソースを書いたとして話を進めます。ちなみに、/home/XXX/srcのしたに、上記ソースを「hello.c」というファイル名で書いたとします。
/home/XXX/binの下に実行ファイルを「hello」という名前で保存するとします。その場合は、
cc /home/XXX/src/hello.c -o /home/XXX/src/hello
という命令でコンパイルします(すべてフルパスの場合)。実行する場合には、
/home/XXX/src /hello
とすれば、確実に実行できます。
C言語と離れますが、LinuxでCのソースファイルをコンパイルする場合、
cc ソースファイル名 -o 実行ファイル名
とします。C言語のコンパイラによって異なるかもしれませんが、だいたい上記で大丈夫だと思います。
C言語 ~学習環境づくり~ [C言語]
とりあえず、C言語を勉強する環境を作ります。
Linuxを使ってコンパイルしましょう。
1)直接PCにインストールするのがベストなのでしょうが、面倒なので、Vitual PCをインストールします。下記URLからダウンロードできます。
http://www.microsoft.com/japan/windows/products/winfamily/virtualpc/default.mspx
2)なんでもいいので、Linuxを選びます。
私の場合は、Vine Linuxを選びました。選んだ理由は、CD1枚でインストールできる手軽さです。
http://vinelinux.org/
ここのダウンロードのところから、ISOイメージをダウンロードします。
3)新しいバーチャルマシンを作成し、ISOイメージをセットして再起動すればLinuxのインストールが始まります。
おおざっぱですが、こんな感じです。
C言語 ~はじめの一歩~ [C言語]
C言語の初めの一歩です。
いろいろな参考書にのっていますが、C言語で一番簡単なプログラムは、こんな感じです。
これをコンパイルして実行すると、「Hello World」と表示されます。
/* はじめの一歩 */
#include <stdio.h>
main()
{
/* Hello World と表示 */
printf("Hello World\n");
}
●メイン関数の中に命令を書く
C言語では、main関数の中に命令を記述することでプログラミングしていきます。
具体的には、下記プログラムの中では"{"と"}"の間に命令を記述していきます。
main()
{
【ここに命令を記述します】
}
●printf
文字列などを表示する関数です。
printf("文字列");
とやると「文字列」が表示されます。
●コメント
/* と */ の間の文字列は、コンパイルのときに無視されます。通常、プログラムの説明などを記入します。
●#include <stdio.h>
stdio.hを取り込むという意味です。stdio.hには、いろいろな命令が定義されていてそれを使うよという意味です。printfなどもここに定義されています。
stdio.hは、標準入出力ライブラリといいます。