# この記事について
C言語を学習し始めた初心者がアウトプットのために書いたものです。大半の方にとっては参考にならないと思います。記事の間違った内容があればご指摘いただけると助かります。
C言語について
そもそもC言語とは
「C言語とは、1972年のAT&Tベル研究所で、ブライアン・カーニハンとデニス・リッチーによって開発された、コンパイル型の汎用プログラミング言語のことである。」
IT用語辞典のBINARYより https://www.sophia-it.com/content/C%E8%A8%80%E8%AA%9E
だそうです。
比較的歴史の長い言語ですが、今尚人気が衰えていないです。
C言語の主な特徴は"コンパイル"という処理が必要なことです。コンパイルとは、人の手で書いたソースコードを機械が理解できる言語に変換する行為です。他の言語と違い既に変換した後なので、早く処理できるというメリットがあります。
Hello World
新しい言語を学ぶ時に必ず作るものですが、ターミナル上に'Hello World'と表示されるファイルを作成しました。
/*決まり文句みたいなもの*/
#include <stdio.h>
/*int main(void){}の{}の中に処理を書く*/
int main(void){
/*printf();は文字を標準出力へ出力する関数*/
/*/nは改行を意味する*/
printf("Hello World\n");
return 0;
}
このファイルをコンパイルする必要があります。コンパイルはターミナルで実行します。ディレクトリは元のファイルと同じディレクトリで行ない、以下のようにコマンドを書きます。
% gcc -o hello sample.c
% ./hello
gcc(コマンド)は「GNU Compiler Collection」の略です。
-oはオプションで、出力先をfileに設定する。
上記のhelloはコンパイル後のファイル名です。
sample.cは元々のファイル名です。
コンパイルされたファイルを実行する時は"./コンパイル後のファイル名"とコマンドを書くことでできます。
# 変数
C言語にも他の言語と同様に変数という概念が存在します。変数には型が存在しており、変数の定義の時に書くコードが型によって変わります。整数はint、実数(少数も含む)はfloat、1文字はcharです。定義は以下のように行ないます。
#include <stdio.h>
int main(void){
/*データの型 変数名 = 代入する値*/
int x = 10;
float y = 4.6f;
char c = 'Z';
}
また、printf関数で変数の値を出力させる方法が決まっているので、それについても纏める。
printfの""内での変数の表し方は、整数の場合%d、実数の場合%f、1文字の場合%cである。
#include <stdio.h>
int main(void){
int x = 10;
float y = 4.6f;
char c = 'Z';
/*""内で変数を%dや%f等で表現し、""の外で実際の変数名を記入*/
/*順番通り書かないとエラーが出る*/
printf("%d, %f, %c\n", x, y, c);
/*ターミナルでは"x = 10, y = 4.600000, c = Z"と表示される*/
return 0;
}
演算子
C言語の演算子は他の言語と似ています(C言語が元祖?)。
・四則演算
+(足し算)、-(引き算)、*(掛け算)、/(割り算)、%(余りの値)
・代入を伴う演算子
x = x + 5 と x += 5 は同じ
・単項演算子(1ずつ足したり1ずつ減らしたり)
++ --
#include <stdio.h>
int main(void){
int x = 10 % 3; /*余りは1*/
x += 3; /*1 + 3 = 4*/
x++; /*4 + 1 = 5*/
/*5が表示される*/
printf("%d\n", x);
return 0;
}
感想
コンパイルという作業を初めてC言語の学習で知ることができた。これまで学んできた言語と比べると難しそうな印象だが、引き続き勉強を続けたい。