サイトマップ / C言語講座>出入り口>総目次>目次:流れの制御>if ( ) - else文(2)
[if ( ) - else文(1)]←このソース→[switch - case文による分岐]
/* 論理演算子には次の3種類があります。
- 式1 && 式2
- 式1 || 式2
- !式
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言語講座−それ自体コンパイルできる教材を使った講座です−