・p.12「変数と宣言」から
p.12 変数と宣言
・プログラム中に記述した値を定数やリテラルという。 ・変数とはバリアブル(変更可能な)の意味で、記憶領域を確保して名前を付けたもの ・よって、データを格納する容器のイメージになる ・C言語では変数の利用ルールとして事前の準備が必須で、これを宣言という ・C言語では宣言において、変数領域の大きさと特性を決めるための「型」の指定が必要 ・最もよく使う型が「int」で整数用の意味。 ※ C言語では「int」の大きさの定義は自由(処理系依存) ・宣言の書式: 型 変数名; //型に合わせた領域を確保して変数名で利用可能に 例: int age; //int型の領域を確保してageで利用可能に ・変数にデータを格納することを代入といい、代入するデータを値という ・代入の書式: 変数名 = 値; //本来は「変数←値」だが「=」で示す
p.13 list0108.cpp
/*
p.13 list0108 二つの変数に整数値を代入して表示
*/
#include <stdio.h>
int main(void)
{
int x, y; //2つのint型変数の宣言
x = 57; //int型変数への整数値の代入
y = x + 12; //int型変数への整数計算結果の代入
printf("xの値は%dです。\n", x); //変数xの値を埋め込んで表示(改行)
printf("yの値は%dです。\n", y); //変数yの値を埋め込んで表示(改行)
return 0;
}
p.13 変数と宣言(続き)
・複数の同じ型の変数はコンマつなぎでまとめて宣言できる 例: int x, y, z; //3つのint型変数の宣言
p.13 代入
・代入の「=」記号の左側(左辺)は基本的に変数のみ ・右側(右辺)は値または式 ・よって、右辺に「x + 12」として「y = x + 12;」と記述すると ① 変数xの値を求める ② ①に12を加算した値を求める ③ ②を変数yに格納する ・なお、変数1個だけでも式になるので「y = x;」ともできる ※ 代入により元の値は上書きされる
p.14 初期化
・変数の宣言時では値は基本的に不定であり、誤って表示するとゴミが出るかエラーになる(処理系依存) ※ VS(VC++)では、List1-9はエラーになり実行できない
p.14 初期化を伴う宣言
・変数を宣言したら最初の値の代入をすることが多いので、まとめて行える ・これを初期化を伴う宣言、または、単純に初期化といい、代入される値を初期値という ・初期値は式で与えても良い ・初期化の書式: 型 変数名 = 初期値または式; ・例: int x = 57; int y = x + 12;
p.14 list0110.cpp
/*
p.14 list0110 二つの変数を初期化して表示
*/
#include <stdio.h>
int main(void)
{
int x = 57; //int型変数を整数値で初期化
int y = x + 12; //int型変数を整数計算結果で初期化
printf("xの値は%dです。\n", x); //変数xの値を埋め込んで表示(改行)
printf("yの値は%dです。\n", y); //変数yの値を埋め込んで表示(改行)
return 0;
}
p.15 初期化を伴う宣言(つづき)
・複数の変数の宣言と同様に、複数の変数の初期化も可能 例: int a = 5, b = 7; ・なお、複数の変数の一部の初期化も可能 例: int a = 5, b; //変数aの初期化、変数bの宣言
アレンジ演習:p.14 list0110.cpp
・2変数の初期化を1行でできるかどうか試そう
作成例
/*
アレンジ演習:p.14 list0110 二つの変数を初期化して表示
*/
#include <stdio.h>
int main(void)
{
int x = 57, y = x + 12; //int型の2変数を初期化
printf("xの値は%dです。\n", x); //変数xの値を埋め込んで表示(改行)
printf("yの値は%dです。\n", y); //変数yの値を埋め込んで表示(改行)
return 0;
}
自由参加課題 free15.cpp
・「アレンジ演習:p.14 list0110.cpp」をもう1行減らそう
p.15 演習1-4 ex0104.cpp
・変数名などは自由 ・list0110.cppまたは、そのアレンジ演習のソースを用いると良い
作成例
/*
p.15 演習1-4
*/
#include <stdio.h>
int main(void)
{
int x = 3.14, y = 5.7; //int型の2変数を実数値で初期化
printf("xの値は%dです。\n", x); //変数xの値を埋め込んで表示(改行)
printf("yの値は%dです。\n", y); //変数yの値を埋め込んで表示(改行)
return 0;
}
自由参加課題 free15b.cpp
・int型の2変数を実数値で初期化すると、小数点以下は切り捨てになってしまう ・これを四捨五入にするにはどうすれば良いか?