2002 年度「計算機基礎論3B」 2002-11-08

C言語による最初のプログラム

#include <stdio.h>

main()
{
    printf("hello, world\n");
}

「ソースファイル」「実行ファイル」「コンパイル」「コンパイラ」 「字下げ」「インデント」については口頭で説明する。 バックスラッシュ「\」と円マーク「¥」は、半角文字では同じと思ってよい。

  1. 上を内容にもつ、hello.c という名前のファイルを作る。
  2. gcc hello.c」としてコンパイルする。 うまくゆけば a.out ができる。
  3. ./a.out」でプログラムを実行。

K&R2 の §1.1 を合わせて読むこと。

注意: 教科書では cc とあるがここのシステムでは gcc である。 実行させる際、a.out の前の ./ に注意。 a.out から別の名前に改名してもよい。

練習問題(の一例)

第一部

  1. 上のサンプルプログラムを内容とするファイル hello.c を作り、コンパイル・実行せよ。 (以下ではソースファイルのファイル名は特に指定しない。 適当につけること。)
  2. 上のサンプルプログラムから「;」 を抜かすと正しいプログラムでなくなり、コンパイル時にエラーメッセージが出る。 これを体験せよ。 閉じるほうの二重引用符を抜かしたらどうなるか、などもやってみよ。
  3. 上のサンプルプログラムから \n を取り除いたプログラムを作れ。 (作って終わり、ではない。コンパイルし、実行し、結果を確認すること。 以下同様。)
  4. 上のサンプルプログラムを元に、 「hello, 」と「world\n」 の二度に分けて出力するプログラムを作れ。
  5. hello, world\n\n」と出力し、 次に「hello, world\n」を出力するようなプログラムを実行したら、 全体の出力結果はどうなるか。 プログラムを書きながら予想し、 それからプログラムを実行して、納得するまでよく考えよ。

第二部

  1. 「こんにちは、世界」のような、 適当な日本語を出力するプログラムを書け。
  2. printf の前のスペースは半角でなければならないが、 もしも間違えて全角スペース (入力法不明。「 」をコピーして使え) にしてしまったらコンパイラはどのようなエラーメッセージを出すか、 試してみよ。
  3. 文字列を囲む二重引用符は半角でなければならないが、 (いわゆる)日本語(←全角文字のこと) を入力した直後には間違えて全角の二重引用符を打ってしまうことがある。 そうしたらコンパイラはどのようなエラーメッセージを出すか、 試してみよ。


岩瀬順一