はじめに
機会があって、C言語の学習を始めました。
基礎の部分を現在行っている段階で、ここまでで学んだ内容を備忘録として載せておこうと思います。
1.C言語とは
C言語とは現在用いられている主流の言語の中で、もっとも古い言語であり、多くの言語のベースとなっている言語。
C言語の特徴
①組み込みソフトやゲーム開発など、何にでも対応できるため汎用性が高い
②ファイルサイズがコンパクトなため、プログラミングに制限のあるハードウェア周辺でも活躍できる
③すべてのコードを機械語に翻訳してから実行するコンパイラ言語のため、実行速度が速い
④他言語に比べると低水準言語(機械語)に近いため、難解
2.C言語の基本的なプログラムのスタイル
Cプログラムで最も基本的なスタイルは以下のように記述する。
# include <stdio.h>
データ型 関数名(引数)
{
処理;
}
上記のスタイルに沿って記述すると以下のようになる。
# include <stdio.h>
int main(void)
{
printf("こんにちは¥n");
printf("私の名前は%sです。¥n年齢は%dです。¥n","hoge",20);
}
このコードを実行するとと以下のように出力される。
こんにちは
私の名前はhogeです。
年齢は20です。
記述したコードの内容
・#include : ヘッダファイルを読み込む時に用いる宣言
・stdio.h : “stdio”とは“Standard Input/Output”の略で、標準入出力を制御するために必要な基本的な関数、記号定数、マクロなどの定義が記述されたヘッダファイルのこと。 “.h”は、C言語のヘッダファイルの拡張子。
・int (データ型) : 整数型で、実行すると戻り値を整数で返す。
・main (関数) : 全体を管理する機能を持った関数。
・void (引数) : 引数がない場合に用いる。空でもOK。
・printf(); (処理) : ()内に記述されているものをコンソールに出力する関数。
・¥n : エスケープシーケンスのひとつで、改行を意味している。
・%s・%d : 書式指定の一部で、文字列の後にコンマで区切られた値をそこに並べたとおりに入れるもの。 %sは文字列、%dは整数値をそれぞれ表示する。
3.C言語の変数
C言語で変数を用いたい場合は以下のように行う。
# include <stdio.h>
int main(void)
{
int a; //変数を宣言している(aという箱をつくっている)
a = 1; //aという箱に1を入れている(最初に値を代入することを”初期化”という)
int b,c; //複数の変数を宣言している(bという箱とcという箱を同時につくっている)
int d = 2; //宣言と初期化を同時に行っている
printf("%d ",a); //コンソールには1と出力される
}
4.C言語の条件分岐
条件分岐にはif・else・else if を用いる。
# include <stdio.h>
int main(void)
{
int n //変数nを宣言
printf("1か2の値を入力してください"); //コンソールに()内の文字列を出力
scanf("%d",&n); //変数nに入力された文字を代入
if(n == 1){
printf("one¥n"); //nに1を代入した場合、oneを出力される
}else if(n == 2){
printf("two¥n"); //nに2を代入した場合、twoを出力される
}else{
printf("不適切な値¥n"); //nに1or2以外を代入した場合、文字列が出力される
}
}
・scanf(); : 文字列を入力する際に用いる関数。 scanf("いずれはの書式指定", &変数名);とすることで、入力された文字列を変数に代入することができる。
さいごに
C言語は多くの言語のベースということで、今まで学習してきたRubyの知識とも重なる点があったため、今のところは順調に学べているなーと感じてます。
今回は現在までに学んだことを載せたので、今後もC言語の学習を続け、追記もしくは新たに記事を投稿していきたいと思います。
参考
以下のサイトを参考にさせていただきました。ありがとうございます。
http://c-lang.sevendays-study.com/index.html
http://www9.plala.or.jp/sgwr-t/