サイトマップ / C言語講座出入り口総目次目次:入出力(1)>演算子(2)

青い直線

演算子(2)

青い直線

[演算子(1)]←このソース→[代入演算子+=と*=]

/* インクリメント演算子デクリメント演算子(2) */

/* 前回、インクリメント演算子と、デクリメント演算子について学びました。インクリメント演算子は、'++'、デクリメント演算子は、'--'で、それぞれ、変数の前か後に付けて、その変数の値を1増加、または減少させます。それから、変数の前に演算子がついている場合、変数の値が評価(実行)される前に値が変化し、後ろについている場合は評価された後に値が変化すると言うことも学びました。

    n = n + 1;
    n++;

上記の二つのコードを見て下さい。nの値は同じになりますが、コンパイラが違うコードを生成する可能性があります。インクリメント演算子を使った方が、実行速度が高速になる可能性があります。また、慣れれば、ソースの意味が直感的に理解できるという利点もありますので、後者を勧めます。

前回触れませんでしたが、これらの演算子はその変数の型で値を変化させます。今回はこのことを確認するため、char型の変数の値を、インクリメント演算子で増加させます。

/* ソースプログラムの説明 */

/* コンピュータのモニタのことを、標準出力、キーボードのことを標準入力、合わせてコンソールといいます。今回、新しく出てきた標準ライブラリ関数putchar( )は、標準出力へ1文字出力します。しかし、実際はputchar( )はマクロとして定義されています。マクロについては、ここで学びます。

    #include <stdio.h>
    int putchar(char c);

    例:putchar(c);

    関数の実行結果      戻り値
    成功した場合        出力した文字
    失敗した場合        EOF

ソースプログラムでは、char型の変数cの値を'a'(アスキーコードの'a'の値)に初期化し、putchar( )でその値を表示した後に、インクリメント演算子で、その値を1ずつ増加させています。 */

/* ここからソースプログラム */

#include  <stdio.h>

void  main(void);

void main(void)
{
    char c = 'a';

    putchar(c++);
    putchar(c++);
    putchar(c++);
    putchar(c++);
    putchar(c++);
    putchar(c++);
    putchar(c++);
    putchar(c++);
    putchar(c++);
}

/* ここまでソースプログラム */

/* このソースプログラムでは、させたい回数だけ、コピーアンドペーストでコードを貼り付けています。次のシリーズでは、こうした無駄を防ぐため、ループの使い方について学びます。Cでは、様々なループが用意されています。 */

[演算子(1)]←このソース→[代入演算子+=と*=]

青い直線

/* (C) 2000- YFプロ. All Rights Reserved. */    提供:C言語講座−それ自体コンパイルできる教材を使った講座です−

青い直線

サイトマップ / C言語講座出入り口総目次目次:入出力(1)>演算子(2)