C言語入門(2):データ型、定数と変数
データ型(data types)
データは全て
型 (types)
を持っている。主なものは以下の3つである。
char
:文字
int
:整数
double
:浮動小数(倍精度)
これらの型のデータは、その
大きさ(データ量)
が異なる。
(重要)
定数(constant)
プログラムの実行中に値を変えないデータを
定数
とい う。
char 型定数 :1文字を引用符 ' で囲んで表す。'a' , 'X' など。
int 型定数 :123, -5429 など。
double 型定数:小数点を含む。e または E を使って指数表現を行う。 1.25, -0.999e2 など。
変数(variable)
プログラムの実行中に値を変えるデータを
変数
という。変数の名前 は
アルファベット
数字
_ (アンダーバー)
を使って表す。また、変数名の最初はアルファベットで始まること。
a123, delta_function ..... ○
power&, 12year ............×
変数はあらかじめ
型を宣言
していなければならない。
int num;
double x,y;
char moji;
num=1;
x=3.14;
y=2.5+x;
この例では、num は int 型の変数、x と y は double 型の変数、moji は char 型の変数である。
また、
= (イコール)は等号ではなく代入である
。つまり
num=1
というのは num というint 型の変数に1 という値を
代入
すること を意味する。
(例題2−1)
下は、令和から西暦に変換するプログラムです。作成し、実行しなさい。
(実行結果)
gcc ex2-1.c -o ex2-1
./ex2-1
A.D. 2029
関数
printf
で
データの中身
を出力する ことが できる。上の例の
printf("A.D.
%d
\n",ad);
では、
int
型定数
ad
のデータの中身(つまり 2020)を
%d
のところに出力する。
%d
のような
%
で始まる物を変換仕様といい、続くデータの値に置き換える。 基本的な変換仕様は
%d : (decimal) int 型のデータを10進表記。
%lf: (long float) double 型のデータを10進浮動小数表記。%f でもよい。
%c: (character) char 型のデータを文字表記。
つまり、出力したいデータの型によって %d と %lf と %c のどれにするか異なる。
もう少し詳しいことは、後ほど。
(課題2−1)
上の例題2−1を参考に、平成(heisei)から西暦(ad)に変換するプログラムを作成し実行しなさい。 平成の値は 35 とする。
ヒント:ad=heisei+1988
(例題2−2)
下は、年齢、身長、性別を出力するプログラムです。作成し、実行しなさい。
(実行結果)
gcc ex2-2.c -o ex2-2
./ex2-2
NENREI :10
SHINCHO :155.500000
SEIBETSU :M
printf の変換仕様が
変数の型
によって
%d
,
%lf
,
%c
となっていることに注意。
(課題2−2)
上の例題2−2を他のデータ(e.g. 自分、好きな有名人)に変更して実行しなさい。
(課題2−3)
lastname, firstname, year, month, date
を定義し、再びお誕生日カードを出力するプログラムを作成しなさい。変数の型に注意。 lastname, firstnameはイニシャル1文字だけで良い。(複数文字を入出力するには第(7)回の配列を使う必要がある)
(出力例)
赤
のところに定義した定数を出力する。
=================================
Happy Birthday to
S
.
E
.
2024
.
10
.
1
=================================
Shimpei Endo, The University of Electro-Communications