C言語編 第0章 はじめに

先頭へ戻る

この章の概要

この章の概要です。

イントロダクション

C言語を学ぼうとするのには、それぞれの理由があることでしょう。 あなたがもし、Windows などの環境で、画像を表示したり、音を鳴らしたり、 あるいはそれらを組み合わせてゲームを作ったりすることを考えているのなら、 「C言語の学習だけでは不可能」だということを知っておきましょう。 ただし、C言語の学習がスタート地点であることは、ほぼ間違いありません(「ほぼ」と言うのは、C言語だけが選択肢ではないという意味です)。

具体的なことを書いておきます。 純粋にC言語だけでできることは、(画像ではなく)文字を表示したり、キーボードから入力を受け取ったり、 ファイルの読み書きを行ったり・・・とその程度です。

実用アプリにせよ、ゲームにせよ、C言語で作れると聞いたことがある人もいるでしょう。 もちろんC言語で作れますが、それはC言語を使って、画像を表示したり、 音を鳴らしたりする機能(これらの機能は、例えば Windows自身が持っているものです)を呼び出しているだけであり、 C言語そのものには、そんな機能はありません。 そして、そういった機能に関する話題は、C言語の入門書を見ても恐らく登場しません(当サイトのC言語編でも同様です)。 それでも、確実に先へ進んでいると考えて間違いありません。

画像も表示できないようなC言語の学習は面白みも少ないでしょうが、 逆に、この部分の学習を疎かにして、いきなりゲーム制作などを始めてみたところで、まったくといっていいほど理解できないと思います。 前述したような「(Windows などが提供している)画像を表示したり、音を鳴らしたりする機能」を呼び出すためには、 C言語の文法・ルールの理解が必要ですから、 一見無意味なようにも思えるC言語の学習は必須事項です。

準備

C言語の学習を始めるに当たり、コンパイラを準備する必要があります。 当サイトでは現在、以下のコンパイラに対応しています。

  1. Microsoft VisualStudio Community 2017
  2. Microsoft VisualStudio Community 2015
  3. clang 5.0.0

VisualStudio は、いずれも Microsoft社製の開発環境です。Windows使用者は、これを選択すればいいでしょう。製品名に「Community」と付いているものは、条件を満たしていれば無料で入手・使用できます。個人開発者であれば、条件に合致していると思われるので、これを検討すると良いでしょう。詳細は、Microsoft のサポートページでご確認下さい
Community 以外のものを使っても、プログラムの書き方が変わることはありません(バージョン番号による違いはあり得ます)。

clang は、多くの OS で動作するフリーのコンパイラです。 macOS の使用者は、Xcode という開発環境を使うことが多いと思いますが、Xcode にも clang が付属しているので、結局のところ clang を使っていることになります

また、これら以外の手段として、オンラインコンパイラを使う方法もあります。 これは、Webブラウザを通して、サービス提供者のサーバにあるコンパイラを使う方法で、 手元の PC に開発環境を構築しなくても、(ある程度の)プログラミングを行うことができます。 ただし、多少、出来ないことがあるかも知れませんから、その点はご了承下さい。
開発ツールの情報」のページに、 paiza.IO という Webサイトの情報を載せていますので、そちらを参照してみて下さい。
paiza.IO を使う場合、実際に動作しているコンパイラは clang 3.8 です(2017年6月5日現在)。


なお、C言語には世界的に標準化された規格が存在します。 2018年4月現在、C89、C95、C99、C11 という4つの規格(数値はそれぞれ正暦年の下2桁の意味)があります。当サイトでは、最も普及している C95 を前提とし、関連する新機能や変更点が C99/11 に存在すれば適宜取り上げます

C99/11 に固有な解説は、できるだけ分離したところに書くようにしています。 そこまで学習するのが大変だと感じるようなら、単にその箇所を無視して読み進めて下さい。


VisualStudio は、C言語の仕様上はまったく問題のないはずのソースコードに対して、警告やエラーを出すことがあります。 これはセキュリティ上、危険な場合への対策を促すものですが、学習には少々邪魔になるかも知れません(もちろん、本格的なプログラムでは、危険性があるということは認識すべきです)。 この辺りの詳細は、開発ツールの情報を参照して下さい。

方向性

当サイトのC言語編では、入門者を対象にした解説を行っていきます。 ただし、当サイトの内容だけで全てを理解できるとは思わないで下さい。 プログラムの学習はそんなに簡単なことではありません。 当サイト以外にも、参考になる Webページや、書籍は大量に存在します。 当サイトの内容だけで理解できなければ、他の人の説明にも目を通してみましょう。 少し違った視点から見ることで、理解が進む場合もあります。

もちろん、どうしても理解できない場合は、質問メールを送って下されば、可能な範囲でお答えします。 pplace_ky@programming-place.net までどうぞ。

本編の内容について

当サイトでは、基本的には、第0章から順番に読み進めていくことを前提に解説を行っています。 できるだけ、突然内容が飛躍するようなことが無いように考慮しているつもりですが、明らかにそうなっていない箇所があれば、是非ご指摘下さい。

解説のレベルとしては、初めてプログラミングを学習する人を想定していますが、各所で割と高いレベルの話にまで踏み込んでいます。 最初から必要となることは無いと思われる説明は、次のように破線で囲んでコラム的な扱いとしています。 この部分の説明については、難しければ読み飛ばしても構いません。

この部分に書かれている内容は、本文の内容を補足するものです。

この部分に書かれている内容は、少し高度な話題です。

本編で登場するサンプルプログラムや、その断片は、使えそうであれば、ご自分のプログラミング作業の中でそのまま使って頂いても構いません。 ただし、バグが無いことや、最良のプログラムであることを保証している訳ではありませんので、自己責任でお願いします。


参考リンク



更新履歴

'2018/6/17 メールアドレスを変更。

'2018/4/5 VisualStudio 2013 の対応終了。

'2018/4/2 「VisualC++」という表現を「VisualStudio」に統一。

'2018/1/5 Xcode 8.3.3 を clang 5.0.0 に置き換え。

'2017/7/30 clang 3.7 (Xcode 7.3) を、Xcode 8.3.3 に置き換え。

≪更に古い更新履歴を展開する≫



次の章へ(第1章 最小限のC言語プログラム)

C言語編のトップページへ

Programming Place Plus のトップページへ


このエントリーをはてなブックマークに追加
rss1.0 取得ボタン RSS