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

青い直線

演算子(1)

青い直線

[変数の取りうる値の範囲]←このソース→[演算子(2)]

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

/* 英語で'increment'は増加という意味です。英語で'decrement'は減少という意味です。インクリメント演算子は、'++'です。デクリメント演算子は、'--'です。それぞれ、変数の前か後に付けてその変数の値を1増加、または減少させます。例えば、下記のように使います。

    i++; 
    ++i; 

i++と++iは違います。i++は、プログラムがその行を実行した後に1増加させます。++iは、プログラムがその行を実行する前に1増加させます。デクリメント演算子も同様です。

ソースプログラムの中で、int型の整数を宣言し、その値を0に初期化しています。下記の式が初期化の式です。このように、一度に複数の変数を初期化することができます。

    i = j = k = l = 0;

下記のコードで、その初期化の式と同じものが画面に表示されます。

    printf(" i = j = k = l = 0\n") ;

次のprintf( )は、途中で改行して2行に渡っています。Cでは、コンパイル時に、改行、スペース、タブ等は無視されます。そこで、改行によって長すぎる行を見やすくすることができます。このprintf( ) は少し複雑です。

    printf(" i++ = %d  ++j = %d  --k = %d  l-- = %d\n",
			i++, ++j, --k, ++l); 

このprintf( )を書き直すと、下記のようになります。

    printf(" i++ = %d  ", i++);  
    printf(" ++j = %d  ", ++j);  
    printf(" --k = %d  ", --k);  
    printf(" l-- = %d\n", l--);

" "の中の'i++ ='などは、そのまま表示されます。この1行目は、もし i++ が1ならば、下記のように表示されるはずです。

    " i++ = 1  "

ソースプログラムの説明

上記の4行に渡るprintf( )を1行で表したものが、ソースプログラム中のprintf( )です。 */

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

#include  <stdio.h>

void  main(void);

void main(void)
{
    int i, j, k, l;
    i = j = k = l = 0;

    printf(" i = j = k = l = 0\n");  

    printf(" i++ = %d  ++j = %d  k-- = %d  --l = %d\n",
                                            i++, ++j, k--, --l);  

    printf(" i = %d  j = %d  k = %d  l = %d\n", i, j, k, l);  
}

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

/* 最後のprintf( )は、それぞれの変数をインクリメント、あるいは、デクリメントした後で、値がどう変化したかを見るものです。実際どんな値が表示されるかは、ソースプログラムをコンパイルし、実行して確かめて下さい。 */

[変数の取りうる値の範囲]←このソース→[演算子(2)]

青い直線

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

青い直線

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