サイトマップ / C言語講座出入り口総目次目次:流れの制御>if ( ) - else文(2)

青い直線

if ( ) - else文(2)

青い直線

[if ( ) - else文(1)]←このソース→[switch - case文による分岐]

/* 論理演算子 */

/* 論理演算子には次の3種類があります。

  1. 式1 && 式2
  2. 式1 || 式2
  3. !式

1.では、式1と式2が共に真ならば真になります。2.では、式1と式2どちらかが真ならば真になります。 '||'という記号は、'|'というキーを2度たたいて入力します。キーボードの'|'というキーは機種によって場所が違います。1. と 2. では、式1が式2より先に評価されます。このことは将来重要になってきます。心に留めておいて下さい。3. は式が偽ならば真になります。

ソースプログラムの説明

今日のソースプログラムを見てみましょう。メインルーチンでchar型の変数を宣言しています。下記に示します。

    char c = 'c';

次に、printf( )を使いでその値を画面に表示します。

    printf("c = %c\n", c);

その次にif - else文があります。その前半部分を下記に示します。少し難しいです。

    if (c >= 'a' && c <= 'z')
        printf("c は小文字です。\n");

英文字には英文字にはアルファベット、数字、スペース、タブ、改行、その他表示できないコンピュータを制御する文字があります。それらは値を持っています。その一覧表がASCIIコード表です。ASCIIコードとは、文字やコンピュータの制御記号などを定めたもので、American Standartd Cord for Information Interchange(情報交換用米国標準コード)の略です。ASCIIコード表はそれらの文字の値を一覧表示したものです。

ASCIIコード表を見ると、'a'から'z'は連続しています。'0'から'9'も連続した領域に取られています。'b'の値は'a'の値よりも1大きくなっています。

c >= 'a'は c という文字の値がアルファベットの'a'の値と、等しいか、大きければ真になります。c <= 'z'は c という文字の値が、アルファベットの'z'の値と、等しいか、小さければ真になります。c >= 'a' && c <= 'z'は && の両辺が真なら真になります。結局、c がアルファベットの小文字なら真になります。

あとは、ソースプログラムを見て下さい。 */

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

#include <stdio.h>

void  main(void);

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

        printf("c = '%c'\n", c);

        if (c >= 'a' && c <= 'z')        /* c が英小文字なら真 */
            printf("c は小文字です。\n");
        else
            printf("c は小文字ではありません。\n");

        if (c >= '0' && c <= '9')        /* c が数字なら真 */
            printf("c は数字です。\n");
        else
            printf("c は数字ではありません。\n");

        if (c == '+' || c == '-')        /* c が '+' か '-' なら真 */
            printf("c は符号です。\n");
        else
            printf("c は符号ではありません。\n");
}

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

[if ( ) - else文(1)]←このソース→[switch - case文による分岐]

青い直線

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

青い直線

サイトマップ / C言語講座出入り口総目次目次:流れの制御>if ( ) - else文(2)