C言語基礎 第5回 『変数とデータ型』

目次

変数名とキーワード

変数の命名規則

前回の記事で変数に名前を付けて宣言することができるようになりました。

変数名を命名する際には、いくつかのルールに従う必要があります。以下に一般的な変数の命名規則を示します。
  1. 変数名はアルファベット、数字、アンダースコア(_)で構成されます。
  2. 大文字と小文字は区別されます。つまり、ageとAgeは異なる変数と見なされます。
  3. 変数名は数字で始めることはできません。ただし、先頭以外の位置には数字を含めることができます。
  4. 変数名は予約語(キーワード)と重複しないようにする必要があります(後述します)。
  5. 名前の長さは63文字まで
例えば、以下のような変数名は一般的に使用されます。
スクロールできます
正しい変数名
aABCa123ABC_123UserName
スクロールできます
正しくない変数名
1ABC?123a?ABC?User-name
基本的に命名規則に違反していなければ問題ありませんが変数名が「a」のようなどのような値が入っているのかわかりづらい変数名は避けましょう。年齢を入れるなら「age」などわかりやすい変数名にしましょう。

予約語(キーワード)

C言語には、特定の意味を持つ約40個のキーワードがあります。これらのキーワードは変数名として使用することができません。以下に一部のC言語のキーワードの例を示します。

int, double, char, if, else, while, for, switch, case, return

上記のキーワードは、C言語で特定の機能や制御構造を表すために予約されています。これらのキーワードを変数名として使用することはできません。

キーワードは一度にすべて覚える必要はありませんが覚えられるときに少しずつ覚えていきましょう

データ型について

int型とdouble型が扱える範囲

int型は通常、約-2,147,483,648から約2,147,483,647までの整数を表現することができます。ただし、システムによっては異なるサイズのint型が使用される場合もあります。その場合は扱える範囲が変わってくるので注意が必要となります。

double型は浮動小数点数を表現するためのデータ型です。通常、64ビット(8バイト)の範囲を持っているので非常に小さな数値から非常に大きな数値までを表現することができます。また、浮動小数点数は小数点以下の桁数も表現することができます。一般的には、「±2.225×
10-^308~±1.797×10
^308」の範囲を扱うことができます。
double型は便利ですが注意が必要な場合もあります。
浮動小数点数は内部的に二進数で表現されるため、厳密な小数表現が難しい場合があります。そのため、浮動小数点数の計算結果には丸め誤差が生じることがあります。

char型について

char型は文字を表現するためのデータ型であり、char型の変数にはシングルクォート(')で囲まれた文字を代入することができることは前回お話ししました。

実はchar型は数字を入れることができます。入れられる範囲は「-128から127」までです。
実際にやってみましょう
#include <stdio.h>

int main(void)
{
    char grade = 'A';
    printf("grade is %c\n", grade);

    char test = 80;
    printf("test is %d", test);

    return 0;
}
きちんとchar型に代入ができて「%d」で80が表示できました。
では今度は「%c」で表示してみましょう。エラーが起きるでしょうか?
#include <stdio.h>

int main(void)
{
    char grade = 'A';
    printf("grade is %c\n", grade);

    char test = 80;
    printf("test is %c", test);

    return 0;
}
問題なく実行できました。しかし表示されたのは80ではなく「P」という文字でした。なぜ「P」が表示されたのかというとASCIIコードにおいて「P」という文字は80という番号が割り当てられていたため「%c」で表示すると「P」が表示されたのです。

ASCIIコードは、文字をコンピュータ内で表現するためのものです。ASCIIコードでは、数値に対応する文字が割り当てられています。例えば、数値80はASCIIコードで文字"P"に対応しています。

上記のコードでは、整数値80をchar型の変数"test"に代入しています。printf関数で"%c"という書式指定子を使用すると、char型の値が文字として解釈されて表示されます。その結果、「test is P」と表示されるわけです。

まとめ

今回は変数の命名規則とや変数についてお話しました。
  • 変数名は使えない文字など規則がある
  • double型は誤差が生じる場合がある。
  • char型は数字として扱うこともできASCIIコードと関係がある。
次回はいよいよキーボードから入力されたデータを画面に表示するお話をします。
(Visited 147 times, 1 visits today)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Hirotakaのアバター Hirotaka システムエンジニア

じぶんノート株式会社所属。

コメント

コメントする

目次