第4回[平成15年5月15日(木)]:PN03ー04.ppt 型と演算、キャスト、変換指定 今日の内容 0 1 2 3 4 前回の復習 型と演算(混合演算) キャスト 変換指定 課題(第2章までの総合演習) 皆さんのレポートから • モニターの画面の大切だと思ったところをメモす る事がある。すぐ次のスライドに行ってしまうと、 書き取れないことがあるので、もう少しゆっくり見 せてもらえるとうれしい。 • 演習の答えの画面の切り替えが早すぎます。書 き写す時間をもう少し下さい。 • 次のページに行くのが早すぎて全然答えとかを 書けませんでした。 • パソコンで説明や演習をしているときにもう少し ゆっくりやってほしい。 • 全くの素人で、本当に難しくて悩んでいるので、 もう少しゆっくりやって下さい。 皆さんのレポートから • 授業がちょっと早いです。問題が終わりません。 • もうちょっとゆっくり説明してほしいです。 • ノートに書く時間を長く作ってほしいです。 • パソコンのことをあまり理解できてない。 • プログラムがだんだんと難しくなってきたので早く 覚えたい。 pptの印刷を • とっても分かりやすいです。 • 難しいですがおもしろいです。 忘れずに持参 • 静かに聞けるので集中できる。 して下さい! • C言語は細かい規則が有り複雑だ。 • 難しい。難しかった。ちょっと難しい。 皆さんのレポートから • 小数点がある時は、double とかfloat を使うのか? → はい。 • 3e6 の説明を詳しくして → 浮動小数点数の表現の仕方 (整数部分)(小数点)(小数点以下の部分) 12.34 .567 123. 0.12 3.0 (仮数部分)(e)(指数部分[整数]) 1.2e5 0.34e-8 34e+5 3E6 復習 基本データ型 • 整数型(int, short int) 32 ビット ; -2147483648..2147483647 16 ビット ; -32768 .. 32767 • 浮動小数点型(float,double) 32 ビット ; ±1.2e-38~±3.4e38 64 ビット ; ±2.2e-308~±1.7e308 • 文字型(char) 仮数部e指数部 1文字をクォーテーションで囲む (ASCII文字) 8 ビット ; -128~127 (整数値として) printf の制御文字列(書式) 復習 • printf (書き出すデータ); 書き出すデータが文字列の場合; " " で囲む → "朝日大学 \n 情報管理学科\n" 書き出すデータが数値、文字の場合;変換指定子 内部表現(2進数で表現) 書式を指定できる %d, %c, %f 人間が理解しやすい10進数字、文字で表示 printf("1日は %d 秒\n",24*60*60); 変換指定子(まとめ) 復習 printf("%d",15*2+18*4); 計算結果の (102)10 が整数値を表す 102 printf("%c",15*2+18*4); 計算結果の (102)10 が文字コードを表す 'f' printf("%f",1.5*2+1.8*4); 計算結果の 0.102×102 が浮動小数点数を表す 10.200000 式の型(整数型、浮動小数点 型) */ +ー 整数型 浮動 小数点型 整数型 % 浮動 小数点型 / 整数化 浮動 小数点型 演習(商と余りの値) 問.次の演算結果の値を求めよ。 (1) 3 / 2 (8) 4 % 2 (2) 3.4 / 2 (9) 2 % 4 (3) 4.2 /2.1 (10) 7 % 3 (4) 10 / 2.0 (11) -7 % 3 (5) 5.5/-1.1 (12) (6) –4 / 2 (13) –7 % -3 (7) –11 / 2. (14) –3 % 7 7 % -3 代入式の注意事項 代入演算子 = の左辺は変数名 右辺の結果は左辺の型に合わせられる (浮動小数点型の変数名) =(浮動小数点型の式);◎ (整数型の変数名)=(整数型の式); ◎ (浮動小数点型の変数名)=(整数型の式); //実数化 (整数型の変数名)=(浮動小数点型の式); //切り捨て 演習(型に注意) a x 各変数の値をトレースしよう。b y int a, b; double x, y; a=3; b=2; x=4.5; y=6.; a+b = x; y = a + b; a = 1.5; b = x + y; a = 3 + x; b = x + 0.5; キャスト演算子 List2-10,11 二つの整数値 a, b を入力し、 その平均値を出力せよ。 int a, b; printf("整数A:");scanf("%d",&a); printf("整数B:");scanf("%d",&b); printf("平均値は%d\n", (a+b)/2 ); printf("平均値は%f\n", (a+b)/2.0 ); printf("平均値は%f\n", (double)(a+b)/2 ); 演習(式の表現) 問.次の数学上の式をプログラムの中での式の 表現に直せ。 (1) (2) a 1 1 a b cd a c 2 bc c e d f 演習(式の表現) 問.次の数学上の式をプログラムの中での式の 表現に直せ。 (3) 2 3 4 aa a a 出力桁の指定[整数] "%-6d,%-6d" "%6d,%6d" "%d,%d" printf("%d%d" ,1234,5678) %d 左詰(右側空白無し) 12345678 %md m桁右詰(左側空白) 1234, %-md 1234 1234,5678 5678 "%3d,%3d" m桁左詰(右側空白) ,5678 "%-3d,%-3d" 演習 値 123 はどのように表示されるか? %-1d %1d %-2d %2d %-3d %3d %-4d %4d %-5d %5d %-6d %6d %-7d %7d 出力桁の指定[浮動小数点数] printf("%f%f" ,12.3,4.567) "%-11f,%-11f" "%11f,%11f" "%f,%f" %f 左詰(右側空白無し) 12.3000004.567000 12.300000,4.567000 %mf m桁右詰(左側空白) 12.300000, %-mf 4.567000 %3f m桁左詰(右側空白) 12.300000 ,4.567000 %-3f 出力桁の指定[浮動小数点数] "%11.12f" "%-11.6f" "%11.6f" "%11.0f" ,12.345678901) printf("%f" %m.nf %-m.nf "%11.0f" "%11.6f" 右詰m桁、小数点以下n桁 左詰m桁、小数点以下n桁 12 mが無い場合 12.345679 小数点以下 の桁だけ指定 "%-11.6f" 12.345679 "%11.12f" 12.345678901??? 出力桁の指定(%m.nf,%-m.nf) m桁内に小数部分がn桁で右詰(左詰め)表示 xの値→1.23456 0.0123 123.456 %6.0f 1 0 123 %6.1f 1.2 0.0 123.5 %6.2f 1.23 0.01 123.46 %6.3f 1.235 0.012 123.456 %6.4f 1.2346 0.0123 123.4560 %-6.2f 1.23 0.12 123.45 %-6.5f 1.23456 0.01230 123.45600 演習 値 32.67410 はどのように表示されるか? %5.2f %-5.2f %6.0f %-6.0f %6.5f %-6.5f %8.2f %-8.2f %8.4f %-8.4f %2.1f %-2.1f %1.3f %-1.3f 出力桁の指定[浮動小数点数:補 足] "%11.12e" "%11.2e" "%11.0e" "%e" printf("%e" ,12.345678901) %m.ne %-m.ne "%e" "%11.0e" "%11.2e" "%11.12e" 右詰m桁、小数点以下n桁 左詰m桁、小数点以下n桁 1.234568e+01 指数形式 の表示 1.23e+01 1e+01 1.2345678901??e+01 第2章までの総合演習 (1)画面に、『本日は晴天なり』と表示す るプログラムを書いてみよう。 (2)単位を互いに換算するプログラムを書い てみよう。 (a)センチ(cm)とインチの換算[1インチ =2.54cm] (b)ドル($)と円(\)の換算[1$=\129.5] F (c)摂氏C(℃)と華氏F(°)の換算 5 C ( F 32) 9 第2章までの総合演習 (3)単価 a 円のハンバーガーを n 個買 い、 y 円札を出したら、お釣りはいくらにな るでしょう? この計算をするプログラムを書いてみよう。 (4)上底a、下底b、高さh の台形の面積 S s ( a b ) h 2 を計算するプログラムを書いてみよう。 学期前半の総復習(中間まと め) ・受講に当たっての注意点 予習:pptファイルをaucopyでダウンロードする 印刷し、演習をやってみる 授業:印刷資料を持参する 演習の答え合わせ 分からないところは必ず質問する 復習:演習や課題の理解を深める 教科書を読み直してみる 自分で考えてプログラムを書く 今日の課題 これまで半期間授業を受けた事につい て以下の質問に答えよ • 授業内容 不十分な所、中止・継続事項、良かった所 プレゼンテーション(表示、話、時間) • 受講状態 予習・復習、演習は十分したか? 質問はしたか?、何%ぐらい理解できたか? • 前学期後半の授業への提案、意見 P入門(第4回)は 終了です。 次回(第5回)は 5月22日 続いて、P演習に入ります。 では、しばらく休憩します。
© Copyright 2024 ExpyDoc