C言語の解説と演習

(第一回)

メニュー

「N88BASICについて」へ行く

トップページへ行く

質問箱へ行く



はじめに

これから BASIC との差を中心に C言語の解説を行っていきたいと思います.「N88BASICについて」のページを参照しますので、まだそのページを見たことのない人は見ておいてください.


はじめの一歩

まず、「N88BASIC について」「一番はじめのプログラム」をC言語に変えてみましょう.「一番はじめのプログラム」はBASIC で書かれた次のようなプログラムでした.

10  a=3
20  b=5
30  print  a+b
40  end


これは 10行目で変数 a に3を代入、20行目で変数 b に 5 を代入し、30行目で a+b を表示させた(もちろん計算結果は8)プログラムでしたね.これを C 言語で書きなおしてみましょう.そうすると、次のようになります.

#include  <stdio.h>

main()
{
   int a,b;
   a=3;
   b=5;
   printf("%d",a+b);
}


なんだかよく分からないプログラムが出てきたと思ったかもしれません.上から一行ずつ順番に説明していきます.まず先頭の

#include  <stdio.h>

ですが、これはあまり気にしないでください.ただし、C言語のプログラムには必ず必要な一行ですから、「おまじない」だと思ってください.次に

main()

ですが、これは main と言う名前の関数を定義しています.C言語において関数とは、BASIC でのサブルーチンにあたります.C言語では、主プログラム(サブルーチンでない、一番はじめに実行されるプログラム)も main という名前の関数になります.ですから、C言語のプログラムにおいては、必ず main という名前のサブルーチンを定義する必要があります.関数 main の定義はその次の行の { から最後の行の } までです.ですから、C言語のプログラムは必ず

#include  <stdio.h>

main()
{
    プログラムの中身
}

の形をしています.C言語のプログラムを実行すると、まず 関数 main が呼ばれ、実行されます.
それでは、次にプログラムの中身の部分を見てみましょう。まず次を見てください.

   int a,b;

これは変数 a,b の宣言をしています.BASIC では変数の宣言をしないで、変数を使うことができましたが、C言語では変数は使う前に宣言する必要があります.このプログラムでは、変数 a,b には整数を代入するので、上のように宣言します( int は integer の略です).次に

   a=3;
   b=5;


では、変数 a,b にそれぞれ 3,5 を代入しています.これは上の BASIC の 10, 20行目に相当しています.各行の最後に ; (セミコロン)があることに注意してください.C言語では命令文の最後に ; をつけなければいけません.最後に

   printf("%d",a+b);

で a+b を計算して、表示しています.上の BASICのプログラムの 30行に相当する部分です. printf() は文字を画面を表示する関数で

printf("文字列");

とすると、" で囲まれた文字列を表示します.例えば

printf("abcdef");

という命令があると、画面に

abcdef

と表示されます.文字列の中に %d があると、文字列の次にある整数が %d のところへ入って表示されます.例えば

printf("今年は %d 年です",1999);

という命令があると、画面に

今年は 1999 年です

と表示されます. %d が2つあると文字列の次にある2つの整数が順番に %d のところへ入って表示されます.例えば

printf("今日は %d 月 %d 日です",11,15);

という命令があると、画面に

今日は 11 月 15 日です

と表示されます.
ですから上のプログラムの

printf("%d",a+b);

では、画面に a+b すなわち 8 が表示されることがわかりますね.以上が上のプログラムの解説です.プログラム自体は非常に単純ですが、新しいことがたくさん出てきたので、多少わかりにくいかもしれません.ちょっと整理してみましょう.

  1. C言語では、変数を使う前には宣言をしなければならない.
  2. 変数に数値を代入するには 変数 = 数値 の命令を用いる.
  3. 命令の後には、必ず ; (セミコロン) を入れる.
  4. printf("...") は文字を画面に表示する関数である. " で囲まれた文字列を画面に表示するが、%d が文字列の中にあった場合には、文字列の後にある整数を %d に入れて表示する.
  5. C言語のプログラムは次の形をとる.
#include  <stdio.h>

main()
{
    プログラムの中身
}

演習問題

a,b,c,d,e,f が次のように定義されているとき、a,b,c,d,e,f の和すなわち a+b+c+d+e+f を画面に表示するプログラムを作り、実行せよ( cygnus を使ってください).

a = 1
b = a+2
c = a-b+3
d = b+c-1
e = a-c+d+4
f = a+b+c-d-e-2