プログラミング入門~初めてのC言語
はじめに
本稿は今からプログラミングを始めてみようという方やC言語は初めてという方に入門レベルのプログラミングを紹介することを目的としています。
実行環境を用意しよう
プログラミングをするには実行するための環境が必要になるのでまずはそこから準備しましょう。おススメの開発環境はMicrosoftが提供している「Visual Studio」になります。個人利用であれば無料で使用することができます。2020年6月時点で最新のバージョンの「Visual Studio 2019」のインストール用のULRを下記に記載します。
https://visualstudio.microsoft.com/ja/downloads/
またインストールは億劫だが、とにかくプログラミングをしてみたいという方は検索サイトで「C言語 web上 実行」等と調べることで、ブラウザ上でプログラミングをできるサイトを見つけることが出来ます。「Visual Studio」等をインストールすることをおススメしますが、本稿では入門レベルのプログラミングを取り扱うのでこちらでも問題ありません。
文字を出力しよう
下記のソースコードを参考にして、文字列を出力してみましょう。
#include <stdio.h>
int main(){
printf("Hello World!");
return 0;
}
「Hello World!」と表示されたでしょうか?「Hello World!」の箇所を変更することで任意の文字を表示することができます。ちなみにこの「Hello World!」を表示するプログラミングは最初に作るプログラムの相場になっていて世界一有名なプログラムと呼ばれてます。
変数を宣言しよう
変数とはデータを入れる入れ物のようなものです。入れ物にも種類(データ型)がありそれに対応したデータしか入れることができません。下記のソースコードを例にしてみていきましょう。
#include <stdio.h>
int main(){
//int型(整数型)の「a」という名前の入れ物を用意する。
int a;
//「a」という入れ物に「5」を代入する。
a = 5;
//「%d」の部分が「a」の値に書き換わります。
printf("%d", a);
return 0;
}
上記のソースコードを実行した際に「5」と表示されたでしょうか?これで変数を宣言できるようになりました。次がint型以外の型も宣言してみましょう。
#include <stdio.h>
int main(){
//int型(整数型)の「a」という名前の入れ物を用意する。
int a;
//「a」という入れ物に「5」を代入する。
a = 5;
//double型(浮動小数点数型)の「b」という名前の入れ物を用意する。
double b;
//「b」という入れ物に「3.14」を代入する。
b = 3.14;
//char型(文字型)の「c」という名前の入れ物を用意する。
char c;
//「c」という入れ物に「x」を代入する。
c = 'x';
//「%d」の部分が「a」の値に書き換わります。
printf("a:%d\n", a);
//「%f」の部分が「b」の値に書き換わります。
printf("b:%f\n", b);
//「%c」の部分が「c」の値に書き換わります。
printf("c:%c\n", c);
return 0;
}
四則演算をしてみよう
変数を使って四則演算の結果を表示してみましょう。下記のコードを実行する前にどのように表示されるか考えた上で実行してみましょう。
#include <stdio.h>
int main()
{
//int型のaとbを用意して、そこに6と3を代入します。
int a = 6;
int b = 3;
//int型の変数c、d、e、f、gを用意して、そこにaとbを使った式を代入します。
int c = a + b;
int d = a - b;
int e = a * b;
int f = a / b;
int g = a % b;
//どのように表示されるか予想してみましょう。
printf("c:%d\n", c);
printf("d:%d\n", d);
printf("e:%d\n", e);
printf("f:%d\n", f);
printf("g:%d\n", g);
return 0;
}
予想通りの結果が出力されたでしょうか?「g」がどのように表示されるか分からなかった方も多いのではないでしょうか。「%」は剰余(余り)を求めることが出来ます。今回の例では6を3で割り切れてしまうので「0」と表示されています。
また割り算を計算する際は注意しなければならない点があるので下記のコードで確認しましょう。
#include <stdio.h>
int main(){
//int型のaとb、double型のc、dを用意して、そこに4と3を代入します。
int a = 4;
int b = 3;
double c = 4;
double d = 3;
//割り算をして結果を「1.33...」となるようにしたい。
double e = a / b;
double f = c / d;
//結果を表示してみよう。
printf("e:%f\n", e);
printf("f:%f\n", f);
return 0;
}
fは問題なく「1.33...」と表示されましたが、eは「1.00...」と表示されてしまいました。これはfは右辺でdouble型同士で計算を行いdouble型の値をfに代入しているのに比べて、eは右辺でint型同士で計算を行いint型の値をeに代入しているためこのようになってしまいます。下記のソースコードで解決方法を確認していきましょう。
#include <stdio.h>
int main(){
//int型のaとb、double型のdを用意して、そこに4と3を代入します。
int a = 4;
int b = 3;
double d = 3;
//割り算をして結果を「1.33...」となるようにしたい。
double e = (double)a / (double)b;
double f = a / d;
//結果を表示させる
printf("e:%f\n", e);
printf("f:%f\n", f);
return 0;
}
eではキャスト演算子「()」という一時的にデータ型を変更できる演算子を使って、aとbをdouble型として計算することでeにdoubule型の値を代入しています。またfは「格上げ」という違う型を計算するときは大きい型に合わせるというルールによりaをdouble型として計算するので計算結果もdouble型になります。
if文を体験してみよう。
C言語にはif文という制御文があり、ある条件を満たしたときのみ実行したい処理がある時に使います。またelseifやelseなど条件を満たさなかったときに処理をさせる制御文もあります。実際に下記のソースコードのxの値を変更し、表示結果を確認しながらどの処理が行われているか確認しましょう。また「〇」を表示させてみましょう。
#include <stdio.h>
int main(){
//ここの値を変更する!
int x = 5;
if(x == 5){
printf("xは5です。");
}else if(x >= 9){
printf("xは9以上です。");
}else if(x <8){
printf("xは8未満です。");
}else{
printf("〇");
}
return 0;
}
for文を体験してみよう
C言語にはfor文という希望の回数だけ繰り返し同じ処理を実行させることができます。
#include <stdio.h>
int main(){
//ここの値を変更してループ回数を変更する!
int x = 5;
int i;
for(i = 0; i < x; i++){
printf("%d回目のループ処理です!\n", i + 1);
}
return 0;
}
まとめ
今回はC言語の入門的なプログラムを紹介してきました。もちろんまだまだ紹介していない構文はたくさんありますが、今回紹介したプログラムを組み合わせるだけでも色々なプログラムを作成することができます。C言語に限らずプログラミングはまずたくさん動かしてみることが大切だと考えているので、皆さんも色々と組み合わせて試してみてください。本稿がこれからC言語を始めてみようとしている方の参考になれば幸いです。最後までお読みいただきありがとうございます。