C言語スーパーサバイバルガイド(超鯖C)

この文書は最低限度のC言語を速習することを目的とする。 ここまで最低限のC言語だけで済まそうというテキストはほかにないかもしれない。 しかし、「計算機シミュレーション入門」を受講する目的には、たぶんこれで 充分なのである。他の情報関係教科(もっとまじめな科目)に充分なのかと いえば、たぶん全然足りない。そういうものだ。

この文書で取り上げていない重要な概念を思いつくままにいくつか列挙すると、関数を作ること・ポインター・whileループ・switch文・再帰・・・。特に情報系の先生には、そんな大事なことを教えていないのかとお叱りをいただきそうであるが、なにしろ目標は「1日(というか授業一回)でC言語のプログラムが書けるようになること」なのである。他人の書いたプログラムを読めるようにはならないが、自分で書くことはできる。

英単語を1000語も知っていれば自分で文章を組み立てられるだろうが、他人の書いた文章には知らない単語が続出するだろう。つまり、ここでの「サバイバル」とはいわゆる"survival english"の「サバイバル」と同じ意味である。駅で切符を買えてレストランで注文できてホテルに泊まれれば、旅先で生きていける。むろん、現地の人と文化について語り合いたければ、サバイバル・レベルではとても無理なわけで、プログラミングを真剣にやろうと思うなら、この文書はほんの出発点にすぎない。あとは、自分で本でも買って勉強してください。

C言語でプログラムを書くための最低限度の注意


進め方

以下の各ページは例題プログラム・解説・問題で構成されている。 (1)例題プログラムを入力し、実行する。(2)解説を読んでプログラムの意味を理解する。(3)問題のプログラムを自分で作ってみる。の順で進めることを想定しているが、もちろん、解説を先に読んだってかまわない。また、各ページの解説だけをどんどん読み進んでもかまわないが、プログラミングは語学の一種なので、実習しない限り使えるようにはならない。最終的には例題と問題のプログラムをすべて入力・実行すること。

最低限プログラム1:足し算をして、結果を打ち出すだけのプログラム

1. 次のプログラム(もちろん右の解説を除く)を入力してコンパイル・実行せよ

#include<stdio.h>       この行は必ず必要なおまじない
/* 実数の足し算 */      コメント
main()                   プログラム本体の開始を宣言(必須)
{                        ここから最後の}までがプログラムの中身
  double x;               実数変数xを使うことを宣言(Cでは変数をかならず宣言する)
  x = 10.0;              実数変数xに初期値として10.0を代入
  printf("x= %f\n",x);   xの値を出力
                         "x= %f\n" は出力の形式を指定。
                         %fは実数を出力する宣言。\nは最後に改行するという意味。
                         それ以外の文字はそのまま出力される
  x += 5.0;              xに5.0を足す( x = x+5.0 と書いても同じ)
  printf("x= %f\n",x);   xの値を出力
}                        プログラムの終了
2. 次のプログラム(もちろん右の解説を除く)を入力してコンパイル・実行せよ

#include <stdio.h>
/* 整数の足し算 */
main()
{
  int i;                  整数変数iを使うことを宣言
  i = 10;                 整数変数iに初期値として10を代入
  printf("i= %d\n",i);    の値を出力。%dは整数を出力する宣言。
  i += 5;                 iに5(整数)を足す( i = i+5 と書いても同じ)
  printf("i= %d\n",i);
}
解説 問題:
  1. x,y,zを実数変数とする。 x=10.0, y=15.3 (値はなんでもいいが)として、x+yをzに代入し、x,y,zの値を出力するプログラムを作り、動作をたしかめよ
  2. 円の半径(実数変数をrなどとし、たとえばr=2.5などと与える)から円周の長さと円の面積を求めて出力するプログラムを作り、動作を確かめよ。円周率も適当な変数に適当な精度で与えればよい(実数変数をpiなどとし、pi=3.1415926など)

次へ進む