第7章 そろそろ int 以外も使ってみよう! ~データ型 double , bool~ 今回はそれ以外の基本的なデータ型をやってみ よう 第7章 データ型
前回やったこと 配列で繋がった変数を複数同時に宣言できた さらに、2次元的に変数をとる2次元配列 1次元配列 2次元配列 第7章 データ型
今日の予定 データ型とは 型変換 コメントの書き方 int 型 double 型 bool 型 暗黙の型変換とキャスト 今日は割と軽めの話 第7章 データ型
データ型(1) そもそもデータ型とは・・・ int num = 0; 変数宣言時に、「変数の大きさと入れるデータ の種類を決めるもの」と説明しました 今までは int 型しか使ってこなかったが、今回 はそれ以外も見て、使ってみる 厳密な定義はここ では省くよ int num = 0; 第7章 データ型
データ型(2) int 型 double 型 ひとまず int 型から。最もポピュラー。整数値が扱え る(小数点以下は切り捨て) 小数が扱える 表示(出力)するときは『%d』ではなく、『%f』を使 うので注意! また『scanf』は『%d』ではなく『%lf』を使うよ 読みは「だぶる」 double num = 0; scanf(“%lf”, num); printf(“%f\n”, num); 第7章 データ型
データ型(3) では一度 double 型を使った次のプログラムを 実行してみよう #include <stdio.h> void main(){ double num; printf(“数値を入力してね > ”); scanf(“%lf”,&num); printf(“%f\n”, num); } 第7章 データ型
データ型(4) 実行結果例 ちなみに『%f』ではなく『%.1f』とすると表 示する小数の桁数を1桁にできる 第7章 データ型
データ型(5) bool 型 true か false のみ入れることができる(もしくは 1 か 0) その性質から、if 文など真偽を問う文、関数と相性が いい 読みは「ぶーる」でOK 実はC言語で bool 型を使うにはいくつか煩雑な準備 がいるが、VC++はC++(プログラミング言語)の規格 も使っているので、特に何か準備する必要もなく使え るようだ 第7章 データ型
データ型(6) では今度は bool 型を使ったプログラムを実行 してみよう #include <stdio.h> void man(){ bool flag = true; int num = 0; while(flag){ printf(“数値を入力してね > ”); scanf(“%d”,&num); if(num < 0) flag = false; } 第7章 データ型
データ型(7) 実行結果例はこちら while 文を少しクドくしただけだね 特に関係はないですが、false とは 0 のことで あり、true とはそれ以外(-1とかも true) bool は1と0しかないけど 第7章 データ型
データ型(8) 話は変わるが、最初 double 型で作った変数を、 後から int 型に変える、ということができる これが型変換 型変換の方法は主に2つ 暗黙の型変換 と キャストを使った型変換 第7章 データ型
データ型(9) 暗黙の型変換 double num = 3.14; int a = 0; a = num; たとえば、double 型の a に代入すると、int 型に つられて数値が整数値に変わる(小数点以下切捨て) 右上図だと、『a = 3;』が最終的に求められる 逆パターン(double 型につられる)もあるよ double num = 3.14; int a = 0; a = num; int x = 2; double y = 7.16; double z = x - y; 第7章 データ型
データ型(10) キャスト(明示的型変換) double num = 1.414 printf(“%d\n”, (int)num ); 上のように、『(int)』を変数の前につけることで、強 制的に int 型に変換している しかしこの変換は 関数内などで扱う変数の型のみ適 用なので、num 自体は double 型のまま 実行結果 → int 以外も勿論可能 double num = 1.414 printf(“%d\n”, (int)num ); ptintf(“%f”, num); 第7章 データ型
練習問題1 商品の税抜き価格を入力させ、税込価格を表示 するプログラムをつくってみよう ただし、税込価格は必ず小数点以下を切り捨て しよう 消費税は8%(もう2ヶ月) 第7章 データ型
練習問題1 回答例 今回はキャストを使ってみたけど、暗黙の型変 換でも勿論できる #include <stdio.h> 『tax』は「税」のこと 今回はキャストを使ってみたけど、暗黙の型変 換でも勿論できる #include <stdio.h> void main(){ int price; double price2; double tax = 1.08; printf("税抜き価格を入力してください > "); scanf("%d",&price); price2 = price * tax; printf("税込価格は%d円です\n",(int)price2); } 第7章 データ型
練習問題2 3つの整数値を入力させて、以下の値を表示す るプログラムを作ってみよう 実行結果例は以下の通り 相加平均(a + b + c) ÷ 3 3つの整数値を入力させて、以下の値を表示す るプログラムを作ってみよう 実行結果例は以下の通り 3つの数の平均を小数第3位まで表示 同じく3つの数の平均を小数点以下切捨てで表示 ヒント: double d = a/b; だと小数点以下が切り捨て double d = (double)a/b; が必要 第7章 データ型
練習問題2 回答例 int 型同士の計算は小数点以下切捨てになるので、 計算結果自体を double 型に変換しているんだ #include <stdio.h> void main(){ int a,b,c; printf("a >"); scanf("%d",&a); printf("b >"); scanf("%d",&b); printf("c >"); scanf("%d",&c); printf("%.3f\n", (double)(a + b + c) / 3); printf("%d\n",(a + b + c) / 3); } int 型同士の計算は小数点以下切捨てになるので、 計算結果自体を double 型に変換しているんだ 第7章 データ型
コメントの挿入 プログラムコード以外にコメントを挿入するこ とができる //コメントはプログラムに影響しない scanf(“%d”,num); /*何を書いたか後から見やすくするために コメントを積極的に使っていこう!!*/ printf(“%d\n”, num * 12); プログラムコード以外にコメントを挿入するこ とができる 『//』は一行分、『/* */』は間に入るすべ ての文字をコメントとすることができる ちなみに『//』の場合、『\』で改行することができる 第7章 データ型
次回予告 関数について より詳しい説明 関数の自作 main 関数とは 関数 をより詳しく見ていこう!! 第7章 データ型
テンプレ テンプレ 第7章 データ型