= データの型と演算子 = C++で扱うデータは、全てどのような「型」であるかを明確にしなければならない。 == 単純な型 == 一般に、計算機で扱うデータは分解していけば、整数、実数、文字に行きつく。良く使うのは、int、float、charである。これら以外に幾つかのバリエーションがある。大きな数値を扱う場合、メモリの使用を抑えたい場合、精度が必要な場合等、必要に応じてこれらを使うこともある。 || '''予約語''' || '''型''' || 説明 || || int || 32-bit整数 || 普通の整数として使用 || || float || 32-bit浮動小数点数 || 実数の代わりに使用 || || double || 倍精度浮動小数点数(通常64-bit) || 実数の計算で精度が必要な場合に使用 || || char || 文字(または8-bit整数)|| 文字 || || bool || 論理値 || 取り得る値は、trueまたはfalseの2種類のみ(条件式の結果等)|| || short || 16-bit整数 || 小さな整数を扱う場合(-127~+128)|| || long || 64-bit整数 || 大きな整数を扱う場合 || || unsigned char || 符号なし32-bit整数 || 非負整数値 || || unsigned int || 符号なし32-bit整数 || 非負整数値 || || unsigned short || 符号なし32-bit整数 || 非負整数値 || || unsigned long || 符号なし32-bit整数 || 非負整数値 || || void || 型無し || 型が無いことを明らかにする場合 || voidは、特に関数の戻り値が無いことを示す場合に用いられる。また型が不明なデータのメモリ領域を指すポインタとしても用いる。 == 演算子 == === 数値同士の四則演算 === || '''予約語''' || 演算 || || + || 足し算 || || - || 引き算 || || * || 掛け算 || || / || 割り算(商)|| || % || 整数同士の割り算をした余り || === 論理値に対する演算子 === 上の演算子は2つの数値に対するもの(二項演算子)であるが、論理値に対する演算子は2つの項を取るもの以外に、一つの論理値に対するもの(一項演算子)も存在する。 || '''予約語''' || 意味 || 説明 || || && || かつ || A && B : A かつ B || || {{{||}}} || または || A && B : A かつ B || || ! || 否定 || !A : Aの否定 || == 明示的な型変換 == == コード例 == 様々な型の変数を使って、四則演算を行う。簡単な例なので、あまり説明する必要もないが、いくつか注意する点を挙げると: * 同じ型同士の演算結果は元の型と同じである。 * 整数と浮動小数点数の間の演算結果は浮動小数点数となる。 * 整数同士の割り算では、結果が整数になるため分数または少数で結果を得たい場合には明示的に浮動小数点数に変換する必要がある。 * また、数学関数のように一般に実数(計算機上は浮動小数点数)を引数に持つ関数の戻り値も浮動小数点数である。 * これらの関数に整数型の変数を引数として渡した場合、暗黙のうちに浮動小数点数型に変換した値が関数に渡される。 {{{ #include int main(int argc, char* argv[]) { } }}}