View on GitHub

SSR C11 Textbook

プログラムの実行

Back to the ToC


習うより慣れよ

難しい話をする前に,プログラムの実行に慣れましょう. というわけで,早速ですが,いまから簡単なプログラムを動かしてもらいます.

Hello World

世界で最もよく書かれいているプログラムです.

#include <stdio.h>

int main(void) {
    printf("Hello World!\n");
    return 0;
}

これを実行すると,次のような結果が出るはずです.

Hello World!

プログラムの中の "ダブルクオーテーション)で囲まれた文章の中を好きな文章に変えて遊んでみましょう. 同じように,その文章が出力されるはずです.

計算

別のプログラムも試してみましょう.

#include <stdio.h>

int main(void) {
    int x = 2;
    printf("x^2 = %d\n", x * x);
    return 0;
}

このプログラムの結果は,xの二乗になります. 記載したプログラムでは,xは2となっていますから,出力はその二乗,つまり4となります.

x^2 = 4

2を別の数字に変えても,きちんとその数字の二乗が出力されることを確かめてみてください. ただし,大きすぎる数にすると,オーバーフローが発生します.

これらのプログラムの解説は,本書で順を追って行いますが,まずはプログラムが簡単に動くということを確かめておいてください.

コンパイルエラーが起きたら

書かれたプログラムに明らかな誤りがあると,コンパイラが教えてくれます. これがコンパイルエラーです. エラーと言っても,身構える必要はありません. コンパイラから返ってくるメッセージを読めば,必ず解決します. 英語なので,初見だと抵抗感を感じる人も少なくありませんが,簡単に読めますから安心してください.

それでは,実際の例を見てみましょう. 突然エラーメッセージを読めと言われても何もわからないと思うので,少し補足をしておきます. コンパイルエラーが起こると,コンパイラはエラーの発生場所を教えてくれます. 次のエラーを見てみましょう.

test.c: In function ‘main’:
test.c:4:5: error: ‘x’ undeclared (first use in this function)
     x = 2;
     ^
test.c:4:5: note: each undeclared identifier is reported only once for each function it appears in

読み方を説明します.

簡単なエラーだと,このような優しい表示が出てきます.

いずれにしても,コンパイラからのメッセージをよく見れば,コンパイルエラーは解決できるはずです. もし自力での解決が困難な場合は,エラーメッセージをそのままコピーして,検索してしまいましょう. きっと先駆者の方々のブログなどが,あなたに知識を授けてくれるはずです.

警告メッセージ

エラーとは別に,Warning(警告)メッセージが出ることがあります. コンパイル時には問題が起こらなくても,後々のバグとなる可能性がありますので,こちらも見逃さないように心がけましょう.

プログラムの動作

プログラムの動作は至って簡単です:基本的には上から下へと,順に実行されます.

そのため,プログラムの行を上下に入れ替えると,プログラムの実行結果が変わってしまうことがありますので気をつけましょう. プログラムは書いたとおりにしか動きません.

C言語のプログラムは,主に機械に対する命令文で構成されており,大抵の命令の区切れ目には ;セミコロン)が必要になります.

コメントアウト

プログラムに注釈を付けたいとき,そのまま書くとコンパイルエラーの元になってしまいます. そこで,コメントアウトを使えば,プログラムファイルの中にも好き放題文章を書くことができます.

コメントアウトの方法は2種類あります.

// 1行だけコメントアウトする方法と

/*  囲った部分を
    コメントアウト
    する方法です  */

使い方は自由ですが,後者で囲う場合は,閉じることを忘れないようにしましょう.

メモを取りたいときはもちろん,プログラムを少しだけ書き換えたいときに,直前のものをコメントアウトして新しいものを書くと戻すときにも便利です.

その他

半角スペースや改行は,基本的にはプログラムの結果には影響しません. 是非見やすさを心がけてプログラムを書くようにしてください. プロジェクトによっては,それらを定めたコーディング規約というものが存在します. チームの中でのルールを統一することで,各自が同じようなフォーマットでプログラミングできるようになります.

それから,全角スペースは使わないことを強く推奨します. もし混入してしまった場合,バグの原因となる上に,捜索が大変です. もし興味のある方がいたら,こっそり先ほどのサンプルプログラムに,全角スペースを入れてみてください……. きっと嬉しくないことが起こります.

全角入力を使わないようにするのも一つの手ですね. もっとも,メモするためには英語に慣れる必要がありますが,折角の機会にいかがでしょうか?


Back to the ToC

Previous: はじめに / Next: 変数と型


(c) 2017-2021 Yuki Onishi