サイトマップ / C言語講座出入り口総目次目次:入出力(1)>変数の取りうる値の範囲

青い直線

変数の取りうる値の範囲

青い直線

[変数の記憶クラス]←このソース→[演算子(1)]

/* Cでは、変数を宣言する時、必ず、記憶クラスとデータ型と名前を指定します。変数のデータ型については、char 型int 型については、既に、学びました。 */

/* Cのデータ型 */

/* 今日はデータ型について詳しく学びます。下に示すのは、Cで定義されているデータ型です。

データ型 バイト数 取りうる値の範囲
char 1 0 〜 255
short 2 -32768 〜 32767
int 2 -32768 〜 32767
unsigned short 2 0 〜 65535
unsigned int 2 0 〜 65535
long 4 -2147483648 〜 2147483647
unsigned long 4 0 〜 4294967295
float 4 +10-37+1038
double 8 +10-307+10308
上記の表に関して
・バイト数および取りうる値の範囲は、ハードウエアによって違うことがあり。
・char は character(文字)の略。
・int は integer(整数)の略。
・unsigned は符号なし。
・float は浮動小数点数。
・doubleは倍精度浮動小数点数。
・long doubleを使える処理系もあり。

浮動小数点数を表すfloat型は計算する時double型に変換してから行われます。次いで計算結果をfloat型に戻します。このため、double型の計算より余分に時間がかかります。メモリが貴重だった過去の時代の遺物です。実際に使う可能性はありません。

今すぐ全てのデータ型を覚える必要はありませんが、学習が進むと上記のデータ型が出てきます。

今日のソースプログラムでは、幾つかのデータ型の局所変数を宣言し、それを初期化し、その値を printf( )で表示します。変数を宣言すると、その型に応じて必要なバイト数がメモリに確保されますが、その段階では、局所変数の値は幾つになっているかわかりません。過去に使ったメモリを再度割り付けられていたりします。そこで、局所変数がメモリに割り付けられた時、その中にゴミの値が入っているといいます。初期化というのは、値を代入するということです。 */

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

#include <stdio.h>

void main(void);

void main(void)
{
    char c = 'a';            /* char 型の変数 c を宣言し 'a' に初期化 */
    short i = -32768;        /* 以下同様 */
    int j = 32767;
    long k = 2147483647L;   /* long 型整数には L を付ける */
    double x = 1.2345;
                            /* c, i, j, k, x の値を表示 */
    printf("char c = %c;\nshort i = %d;\nint j = %d;\nlong k = %ld;\ndoble x = %lf;\n",
									 c, i, j, k, x);
}

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

/* 今回のprintf( )は少し複雑です。'%'に続く文字を書式指定子といいます。'%'は次に書式指定子が来ることをコンパイラに教えます。取り敢えず下記に代表的な例を示しましたが、書式指定子については、いずれ、詳しく学びます。

C言語では、整数の値を表す型が沢山あります。扱うデータの取りうる範囲に応じて、使い分けます。 */

[変数の記憶クラス]←このソース→[演算子(1)]

青い直線

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

青い直線

サイトマップ / C言語講座出入り口総目次目次:入出力(1)>変数の取りうる値の範囲