SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

たった5つのルールではじめるC言語開発

変数と演算子の演習

四則演算プログラム


  • このエントリーをはてなブックマークに追加

 今回は、前回学んだ内容で四則演算するプログラムを作ってみます。実際に動作させて理解を深めましょう。復習もかねて、PM plusやSM+といったツールの使い方もおさらいします。

  • このエントリーをはてなブックマークに追加

四則演算するプログラムを作ってみよう

 まずは、以下のような処理を順番に実行するプログラムを考えて見ましょう。

  1. 変数aに100を入れる
  2. 変数bに8を入れる
  3. 変数cに a + b の計算結果を入れる
  4. 変数cを5で割る
  5. 変数cから41を引く
  6. 変数cを5倍する

 以上です。まずは前回までの内容をもとに、自分で考えてみてください。

 :

 いかがでしょう、なんとなくプログラムは書けましたでしょうか? できた方は答え合わせのつもりで、少し難しかった方もめげずに、順に解説を読みながら進んていきましょう。

 まず、C言語のプログラムはvoid main( )で始めます。これは、「ハードウェアの話とコード生成」の4ページのサンプルプログラムにも登場しました。後の回で関数について説明するときにまた詳しく説明しますので、ここでは「最初はvoid main( )で始める」と覚えておけばOKです。そして、プログラム本体は{ }で囲みます。ということで、まずは、なにはともあれ

void main( )
{
}

 と書くところから始まります。

 ※「ハードウェアの話とコード生成」の4ページのサンプルプログラム(Appliletで生成したもの)では、void main( void )となっています。このカッコの中のvoidは、書いても書かなくてもOKです。また、このvoidという単語については、このあとの章の「関数」のところで解説します。

変数の宣言

 次に、やるべき処理を順番にC言語のルールで書いていきます。と、その前に!前回の変数の説明を思い出してください。C言語で変数を使う場合には、まず「こういう名前の変数を使いますよ」という宣言をするきまりになっているのでしたね。今回の例題では、a・b・cの3つの変数がありますので、これらの使用宣言が必要です。ここもまた復習です。宣言の書き方は、

型  変数の名前;

 でした。

 今回、型はcharintのどちらがよいでしょうか。処理内容上、計算結果は-128~+127の間に収まりますので、どちらでもOKです。ここではintを使って進めていきましょう。先ほどのmain( ) { }の中に変数宣言を書くと、このようになります。

void main( )
{
    int a;
    int b;
    int c;
}

 ちょっと裏技で、同じ型の変数は「,」で区切って並べる書き方もあります。

void main( )
{
    int a, b, c ;
}

 どちらでもOKですが、変数名に意味を持った単語を使ったりすると、後者の1行に並べて書くやり方だとプログラムが読みにくくなってしまうこともあります。今回は素直に前者のように1行ずつ書いておきましょう。

処理の実体を書く

 さて、ようやくこれで処理の実体を書く準備ができました。まずは「処理1. 変数aに100を入れる」のプログラムを書いてみましょう。「変数xxに値xxを入れる」というのは代入文です。ということで、=という演算子を使ってこのように記述します。

a = 100;

 「処理2. 変数bに8を入れる」も同様に、

b = 8;

 です。

 「処理3. -変数cに a + b の計算結果を入れる」は、「加算計算をして、その結果を変数cに入れる」なので、+演算子を使った加算計算と、その結果を代入する演算子による代入文の組み合わせです。C言語では、

c = a + b ;

 と、記述します。

プチ解説

 代入文では、情報の流れは

c  ← a + b;

 と、右から左方向です。プログラミングを始めたばかりの方には、イコールという記号を使うことともあいまって、ちょっと違和感があるかもしれません。むしろ最初は変に感じるのが普通です。書き方を間違えたとしても、「こんな最初でつまづいてしまって」と心配する必要はまったくありません。要は「慣れ」です。さぁ、元気を出して先へ進みましょう。

 次は「処理4. 変数cを5で割る」です。実は、ここには小さなイジワルがしてあります。変数cを5で割った結果をどこに入れろとも書いてありません。だからといってc / 5 ;と書いても、これは文法エラーになってしまいますし、なによりも実行しても意味のないプログラムです。

 「cを5で割る」は、丁寧に書くと「cを5で割って、再びcに代入する」となります。kこれを、C言語で記述すると

c = c / 5;

 となります。

プチ解説

 四則演算に限らず、またC言語に限らず、プログラムではなにかしらの演算をしたら、結果を必ずどこかに格納しないといけません。どこかに入れておかないと、次にその値を使えないのです。逆に、使う必要のない値であれば、そもそもそれを求める処理そのものが不要です。「無駄な処理は書かない」というのも、プログラムを作る上でとても大切なことです。

 ということで、「演算は必ず代入文とペア」が基本です。ただし、C言語には単項演算子というものがあって、これを使うと代入文が不要になります。他にも、演算と代入を一度にやってしまう記述の仕方などがありますが、本講座では扱いません。まずは基本を学んだ上で、次のステップで修得することにしましょう。

 処理5.~7.も同様です。処理1.~7.すべてを書いたプログラムは次ようになります。

void main( )
{
    int a;
    int b;
    int c;

    a = 100;
    b = 8;
    c = a + b;
    c = c / 5;
    c = c - 41;
    c = c * 5;
}

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
PM plusでビルドしよう

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
たった5つのルールではじめるC言語開発連載記事一覧

もっと読む

この記事の著者

舘 伸幸(タチ ノブユキ)

NECマイクロシステム株式会社 勤務NPO法人SESSAME 所属開発ツールのソフトウェア開発を経て組込みソフトウェア開発に従事。プライベートにも半田ごては手放さない。2006年からSESSAME に参加。若い世代に物を作る楽しさを伝えていきたい。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3725 2009/03/26 17:59

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング