C言語

【入門】C言語を深く知ろう!

皆さんこんばんにちは、ユウです。

今回はC言語について詳しく紹介していきます。

C言語はプログラミング言語でも良く耳にする言語だと思います。

でも、よくよく考えるとC言語って一体何なんだ?と思う人もいるかもしれません。

そんな方に向けて、今回は紹介していきます。

C、C++、C#についての違いがよく分からないという方は、別の記事で紹介しているのでそちらの方へ訪れてみて下さい。

【比較検証】C言語、C++、C#の違いとは?【用途別に解説】今回は、C言語、C++、C#について比較しつつ、違いや用途別に解説していきます。。中でも、C#という言語の万能性について述べていきます。C言語はロボットやハードウェアを動かしますが、C++やC#は、アプリも作れるも作れるんです!そんな情報をシェアしたいと思います。...

そもそもC言語とは

C言語は1972年にAT&Tベル研究所で、ブライアン・カーニハンとデニス・リッチによって開発されたコンパイル型の汎用プログラミング言語です。

コンパイルというのは、ソースコードから実際に機械が理解できる言葉に翻訳する行為です。

C言語はこのコンパイルという行為が必要なので、コンパイラというコンパイルするソフトウェアなどを用意しなければなりません。

C言語は他の言語と比較すると、かなり機械が理解しやすい言語です。機械側に近い言語ですので高速でコンパクトなプログラムが実現可能な言語なので、長いコードや計算の際などはかなり活躍する言語です。

高校や大学で学ぶイメージが強いプログラミング言語ですが、実は他の言語と比べると習得難易度は高い方です。C言語はしっかりとした土台を作れる言語なので様々な教育機関で教えられているのではないでしょうか。

C言語の名前の由来

C言語の名前はB言語という言語の後継となるのでC言語と言います。

B言語はC言語と同様にAT&Tベル研究所で作られ、BCPL(Basic Combined Programming Language)という言語を基礎にしています。BCPLの頭文字をとってB言語といわれるようになりました。C言語もこのBCPLの要素を受け継ぎB言語の後に誕生したわけです。

C言語で出来る事

C言語はC++やC#を含めると様々なアプリを作成することが出来る汎用的なプログラミング言語です。

作れるものには、Webアプリ、スマホアプリ、ロボットなどを制御するような組み込みアプリなどがあり私たちの生活を支えている言語です。

C言語を書く際の環境設定

今回は私が大学の講義で使用しているテキストエディタとコンパイラについて紹介していきます。

TeraPad

https://tera-net.com/library/tpad.html

Windowsに対応したシンプルなテキストエディタです。

C言語以外にもHTML・ Perl・PHP・CSS・Ruby・INI・BAT・Java・JavaScript・HSP・Delphiといった種類の言語を編集できます。

かなりシンプルで複雑な設定がいらないので、初心者の方でもインストールしてすぐに使える利点を持っています。

少し昔のテキストエディタとなりますので、若干使いにくいところがありますが、申し分なくコードを書いてくことが出来ます。

Cygwin

https://cygwin.com/install.html

Windows環境で使えるソフトウェアです。

C言語は最初の方に紹介したようにコンパイルという行為が必要です。そのコンパイルはソフトウェアやインターネット上で行うのですが、その機能を持つソフトウェアのひとつがCygwinです。

Cygwinはgccというものでコンパイルを行うので、インストールする際にはgccを入れておかなければなりません。

インストール方法はこちらの方のサイトを参考にしてみて下さい。

https://proengineer.internous.co.jp/content/columnfeature/2667

最後に

今回はC言語の基礎的な知識を紹介してきました。

C言語は勉強していくと、ハード面でもかなり強くなれる言語です。若干難しい言語ですが、基礎を着実に積んでいけば理解できていくと思うので興味がある方は初めて見てはどうでしょうか。

今後はC言語の基本的な構文と標準関数について紹介していこうと思っています。

ぜひ、興味がある方はそちらの方に目を通してみてはどうでしょうか。

今回は以上になります。

最後まで読んでいただきありがとうございました!

ABOUT ME
ユウ
プログラミング担当です。夜行性大学生やってます。 メンバーの中で一番プログラミングが得意で、将来はBMIという研究をしてALSの患者さんへの医療機器の開発を目標にしています。 無線LAN有線LANより便利。