第1章 Cプログラミングの基礎

1 Cプログラムの基本形

C言語は次のように記述する。
/* Cプログラム基本形 */
#include <stdio.h>

main()
{
    puts("めっちゃ基本!");
    puts("このくらいなら楽勝!!");
}

  1. 基本的に英小文字を使う。
  2. コメントは/*と*/で囲む。コメントは複数行にすることもできる。
  3. #includeによるヘッダファイルのインクルードは、ソースファイルの先頭に記述する。 (ヘッダファイルについては後で解説する)
  4. プログラムはmainという予約された名前の関数から実行される。
  5. 関数の後ろにはパラメータの有無にかかわらず、括弧をつける。
  6. 1つの関数のブロックは{と}で囲む。
  7. 1つの命令には必ず末尾にセミコロン「;」をつける。
  8. main関数の末尾またはexit命令が実行されるとプログラムが終了する。

2 書き方いろいろ

C言語はBASICと違い、フリーフォーマットである。自分の好みのスタイルで記述してかまわない。
例えば

/* Cプログラム基本形 */
#include <stdio.h>

main()
{
    puts("めっちゃ基本!");
    puts("このくらいなら楽勝!!");
}

を、

/* Cプログラム基本形 */
#include <stdio.h>
main(){puts("めっちゃ基本!");puts("このくらいなら楽勝!!");}

と記述してもかまわない。ただし、誰が見ても分かりやすい書式で記述したほうが良い。
関数のブロック内では1行に1命令を記述し、行の先頭はインデント(TABキーで行の先頭をそろえる)を行う。また、必要に応じて空(から)の行をおくと良いだろう。

[これが美しいプログラム記述だ!]

/* aの大きさを調べるプログラム */
#include <stdio.h>

main()
{
    int a;

    a = 123;

    if (a >= 100)
    {
        puts("aは100以上である。");
    }
    else
    {
        puts("aは100より小さい。");
    }
}
/* aの大きさを調べるプログラム */
#include <stdio.h>

main()
{
    int a;

    a = 123;

    if (a >= 100) {
        puts("aは100以上である。");
    } else {
        puts("aは100より小さい。");
    }
}

中括弧をどのように揃えるかは好みの問題だが、 この講座では中括弧が縦に揃ったスタイルを使うことにする。

3 プログラムを構成する単語

私たちが日常使っている言葉は、名詞や動詞といった単語をある規則に並べて1つの文章にしている。 プログラムも同様に、次のように分類された単語を使って文章を記述する。
予約語 int for while ifなど
演算子 + - * / = < > !など
関数 main printf gets scanfなど
変数 a b iなど
定数 10 "Hello"など
詳しくは教科書16〜19ページを参照。

4 プログラムの実行順序

C言語のプログラムは、必ずmain関数から実行される。

/* プログラムの実行順序を確かめる */
#include <stdio.h>

sub1()
{
    puts("サブルーチン1です。");
    sub2();
    puts("サブルーチン1を終了します。");
}

sub2()
{
    puts("サブルーチン2です。");
    puts("サブルーチン2を終了します。");
}

main()
{
    puts("メインルーチンです。");
    sub1();
    puts("メインルーチンが終了します。");
}

このプログラムを実行した場合、実行結果は次のようになる。

メインルーチンです。
サブルーチン1です。
サブルーチン2です。
サブルーチン2を終了します。
サブルーチン1を終了します。
メインルーチンが終了します。

試してみよう

第1章4のプログラムを、関数の順番を変えて実行してみよう。

/* プログラムの実行順序を確かめる */
#include <stdio.h>

sub1()
{
    puts("サブルーチン1です。");
    sub2();
    puts("サブルーチン1を終了します。");
}

main()
{
    puts("メインルーチンです。");
    sub1();
    puts("メインルーチンが終了します。");
}

sub2()
{
    puts("サブルーチン2です。");
    puts("サブルーチン2を終了します。");
}
注意
このプログラムをコンパイルするとWarningエラーが出るが、今回は気にしなくても良い。

[ TOP ]