プログラミング言語Cについて知ろう:目指せ! Cプログラマ(1)(2/2 ページ)
プログラミング言語の基本となる「C」。正しい文法や作法を身に付けよう。Cには確かに学ぶだけの価値がある(編集部)
Cプログラミングの基本
プログラミングとは「プログラム(ある一連の処理をコンピュータへ指示するもの)を作成すること」をいいます。
プログラムをコーディングする際に使用する専用の言語をプログラミング言語といい、本連載ではCを使います。
Cでプログラムを書くだけでは、実際に動作するプログラムにはなりません。実際にコンピュータでCのプログラムを実行できるようにするまでには、さまざまな作業が必要です。Cの文法を覚えるだけでなく、それらの作業も含めて理解しましょう。
ここでは、プログラム開発に必要なものの紹介と簡単な用語について説明します。最低限、これだけは必要というものを次に挙げます。
- ソースプログラムエディタ
- Cコンパイラ(C compiler)
- 実行環境(Execution environment)
ソースプログラムエディタは、ソースプログラムを編集するアプリケーションです。ソースプログラムはテキストファイルに保存しますので、テキストファイルを編集できるアプリケーションがあれば、ソースプログラムエディタとして利用できます。
つまり、Windowsであればメモ帳を利用することもできます。しかし、メモ帳をソースプログラムエディタとして使うには不便なことが多いため、ソースプログラムエディタとしての機能を備えたものを選ぶことが賢明です。
Cコンパイラは、Cで書かれたソースプログラムを、実行環境で実行可能な形式に変換するソフトウェアです。ソースプログラムとは、私たちが書いたプログラムのことで、これを実行可能な形式に変換することによって、プログラムを実行することができるようになります。
この変換のことをコンパイルと呼びます。CコンパイラとしてはGCC(GNU Compiler Collection)が有名ですが、ほかにも多くのCコンパイラが存在します。性能に特化したものや多くの環境に適用できるものなど、それぞれ特徴に違いがあります。
実行環境は、実行可能な形式に変換したCプログラムを実行できる環境のことです。本連載では、Cプログラムを作成している環境と、コンパイルしたプログラムを実行している環境は同じですので、特に意識する必要はありません。
しかし、それらが異なる場合もあります。例えば、32-bit版のWindows環境で開発したソースプログラムを、64-bit版のWindowsで動作するプログラムにコンパイルしたい場合もあるのです。この場合は、Cプログラムの作成環境と、プログラムの実行環境が異なることを意識する必要がでてきます。
Cプログラムを効率的に開発する
道具を選ぶことは大切なことです。目的にあった道具を選ぶことで、より早くゴールに近づくことができます。Cコンパイラとソースプログラムエディタ、そして実行環境がそろったところで、ひととおりのCプログラミングができるようになります。
そしてこれを応用することでどのようなプログラムでも作ることができますが、効率的に開発するにはもう少しツールがあったほうがよいでしょう。
- デバッガ(Debugger)
- 統合開発環境(Integrated Development Environment:IDE)
ソースプログラムの誤りのことをバグ(bug)と呼びます。デバッガは、ソースプログラムの誤りを見つけることを助けてくれるソフトウェアです。プログラムを実行したときに、そのプログラムがどのような動作をしているのかを教えてくれ、どのような順序で実行したか調べたり、メモリのシステムの状態を確認したりすることができます。もちろん、バグを見つけたり直したりするのはあなたの仕事です。
●コラム デバッグ
バグ(bug)を取り除くことをデバッグ(debug)といいます。するどいあなたは気が付きましたね。bugとdebugのbugとは、実は発音記号が同じです。ですから、debugはデバグと表記しても間違いではないはずですが、あまりみかけません。
これ自体は、どうでもいい話ですが、日本語のカタカナ表記とは別に英語も覚えておくと良い場合が多いです。筆者も苦い経験があります。パソコン雑誌を読みながら電車に乗っていたところ、隣に座った外国人が突然「Do you know ダース?」と話しかけてきたことがあります。
「お菓子なんかもっていないけど、ダースって何だろう」と不思議がって答えにつまっていたところ、どうやら「Do you know DOS?」と聞いていたらしい、ということに気が付きました。普段「ドス」と発音していたので、まったく分からなかったという、恥ずかしいことがありました。
統合開発環境は、Cコンパイラ、ソースプログラムエディタ、デバッガなどを、1つのパッケージとしたソフトウェアです。統合開発環境をセットアップすれば、Cコンパイラやソースプログラムエディタなどを1つずつセットアップするよりも、早く開発を始めることができます。
統合開発環境にもさまざまなものがあり、そのパッケージにどのようなものが含まれているか決まっているわけではありませんので、必ずしも前述のソフトウェアが含まれているというわけではありません。採用にあたっては事前に情報を集めて十分なものを選ぶようにしましょう。もちろん、自分にあったものを選ぶことが大切です。
気に入ったツールを組み合わせて使っていくのもまた面白いものですが、これから始める方は統合開発環境から入るのが良いでしょう。次回は、Windows用のCコンパイラやデバッガを含んでいるMinGWと、よく使われている統合開発環境のEclipseのC/C++開発者用パッケージのセットアップを解説します。
今回学んだこと
- Cはシステムプログラミング用として誕生し、現在ではさまざまなソフトウェアの開発で使用されています
- CはANSI米国工業規格標準やISO国際標準となっており、有名な標準に1989年に策定されたC89と、1999年に策定されたC99があります
- Cプログラミングは、ソースプログラムエディタを使ってソースプログラムを作成し、Cコンパイラでコンパイルし、実行環境で実行するという流れで行います
- デバッガや統合開発環境を使用すると、より効率的にCプログラミングを進めることができます
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- いまさらアルゴリズムを学ぶ意味
コーディングに役立つ! アルゴリズムの基本(1) コンピュータに「3の倍数と3の付く数字」を判断させるにはどうしたらいいか。発想力を鍛えよう - Zope 3の魅力に迫る
Zope 3とは何ぞや?(1) Pythonで書かれたWebアプリケーションフレームワーク「Zope 3」。ほかのソフトウェアとは一体何が違っているのか? - 貧弱環境プログラミングのススメ
柴田 淳のコーディング天国 高性能なIT機器に囲まれた環境でコンピュータの動作原理に触れることは可能だろうか。貧弱なPC上にビットマップの直線をどうやって引く? - Haskellプログラミングの楽しみ方
のんびりHaskell(1) 関数型言語に分類されるHaskell。C言語などの手続き型言語とまったく異なるプログラミングの世界に踏み出してみよう - ちょっと変わったLisp入門
Gaucheでメタプログラミング(1) Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう