C言語の基本構造
■基本的な構成
C言語 統合開発環境 【基礎 第2回】で開発環境の整備を行いましたので、今回からコードを書いていきたいと思います。
では基本的な構造を見てみましょう。
#include <****> int main(void){ 文; return 0; }
◆#include
最初の行は標準で用意されている関数(関連ある処理をひとまとめにしたもの)を使用したい場合に使用します。
C言語で何か処理をさせたい場合、コンパイラ側で用意されている関数群を利用することができます。
コンソール画面に何か表示するといった処理などです。
それらを利用する際にどの機能を読み込んで使用するのかを指定するのが「#include」ディレクティブとなります。
ディレクティブというのはプリプロセッサというコンパイル前に処理をするためのプログラムに対する命令となります。
ディレクティブに関しては「#include」以外にもあり、後程でてきます。
「#include」の後ろに使用したい処理(関数)を宣言してあるヘッダーファイルを指定します。
ヘッダーファイルというのは変数や関数などを宣言したものが含まれているファイルです。
◆main
mainというのは処理の中心となります。
C言語の処理はこのmain関数から始まる形となっています。
そしてこのメイン関数に書いてある文の順番にプログラムが実行されていきます。文というのはプログラム実行の
最小単位となります。
この各文の終わりにはセミコロン(;)を付ける決まりとなっています。
改行が文の終わりとはみなされないようになっています。
mainの前についている「int」が戻り値、後ろの「void」のことを引数といいます。関数のところで説明しますが、
簡単に説明すると引数とは処理を呼び出す際に渡す値のことです。
戻り値はその処理を呼び出した呼び出し元に返す値となります。
◆複合文
「{」「}」で囲まれた文などの並びのことを複合文と言います。複合文で囲むことで1つの文とみなされます。
囲まれている部分が1つのブロックとなります。main関数が行う処理は「{」から「}」までの処理ということになります。
◆return
プログラムが終了したことを知らせるためのものです。
■文字を表示
では画面に実際に画面に文字を表示させてみましょう。
#include <stdio.h> int main(void){ //画面にHello World!!と表示させます。 printf(“Hello World!!”); return 0; }
先ほどの処理と変更しているのは1行目のというところと
「//画面にHello World!!と表示させます。」「printf(“Hello World!!”);」が入ったくらいです。
このコードを入力しコンパイル、実行するとコマンドプロンプトに「Hello World!!」と表示されます。
まず(スタンダードアイオヘッダー)ですがこれは標準的な入出力関係の処理が宣言されているファイルの
名前です。その機能を使用したいので「#include」ディレクティブを使用して読み込んでいます。
「//画面にHello World!!と表示させます。」の部分ですが、プログラムのコードとして何かが
行われれるわけではありません。「//」を行頭につけることでコメント扱いとなります。
ソースコードに対する注釈をこれでつけることができるようになります。
今回は「//」ですが「/*」「*/」で注釈にしたい文字を囲む方法もあります。
「/*画面にHello World!!と表示させます。*/」のように使用します。「//」と違い複数行にまたがってコメントアウト
できますが、閉じを忘れると以下の行がすべてコメント扱いになってしまいます。
処理の部分のprintfですがこれは「stdio.h」内で宣言されている関数で画面に文字列を表示させるものです。
何か処理をさせたい場合は、それに必要な関数をソースコード内で呼び出す必要があります。
今回は「printf」という関数を呼び出して処理を依頼するわけですが、何を表示させるのかを指定しなければ
表示させようがありません。そこで表示させたい内容を引数というもので渡します。引数というのは
関数に処理してもらいたい内容などを渡すためのもので関数の[(」「)」の間の部分で指定します。
今回は「Hello World!!」と表示させたいのでそれを指定します。
文字列を表すためにダブルクォーテーション「”」で囲む必要があります。
この「printf」文は引数を複数指定することができます。以降のプログラムで増やしていきたいと思います。。
現段階では画面に文字が表示されるだけの小さなプログラムですが、これが基本的な構造ですので覚えておいてください。
コンパイル
ビルド
ではこのコードをコンパイルしてみましょう。
メニューバーの「ビルド」から「プロジェクト名のビルド」をクリックするとコンパイルとリンクが行われ、実行可能ファイルが
作成されます。このとき何かエラーがあった場合は画面下部にそのエラー個所が表示されるので
修正して再度ビルドしていく形となります。
実行
ビルドが無事終了してエラーがなければ、実行ということになります。
メニューバーの「ツール」から「デバッグなしで開始」をクリックすると実行が行われます。
「デバッグ開始」の場合、実行後プロンプトが終了してしまいますが、「デバッグなしで開始」の場合、閉じません。
(VC++Express2008の場合です)
実行するとコンソール画面に「Hello world!!」と表示されます。
実践力が身につくC言語講座 連載リンク
競技プログラミングをイメージしたライブラリ活用講座
競技プログラミング風-標準Cライブラリ入門 連載
アルゴリズムをマスターして技術力アップ!
実践アルゴリズム講座 連載
パズルゲームの解析をテーマにしたC++講座
ゲーム解析プログラミング 連載