第1回レポートの講評 インデント(字下げ)の統一 自宅学習用コンパイラの入手法 行列計算と for 文 演習12.3の計算結果 演習12.4の計算結果 インデント(字下げ)の統一 自分なりの字下げの数、やり方を決める 「不統一」はダメ テキスト、資料: 2文字分 Tab を使う? → 印刷すると狂う場合はスペースで統一 波カッコ対{}の位置 テキスト ― すべて揃える、2段階 for (i = 0; i < n; i++) →{ →→printf("%d", a[i]); ←} 資料 ― 関数ブロックだけは揃える、1段階 for (i = 0; i < n; i++) { →printf("%d", a[i]); } 自宅学習用コンパイラの入手法 タダで始めるC/C++プログラミング Visual C++ 2008 Express Edition http://www.ooyashima.net/db/prog.htm http://www.microsoft.com/japan/msdn/vstudio/express/ Boland C++ 5.5, Turbo C++ Explorer http://www.codegear.com/jp/downloads/free/cppbuilder 行列計算と for 文 ∑の計算と for 文 N S k2 k 1 s = 0; for (k = 1; k <= N; k++) { s += k * k; } 行列の乗算と for 文 n ci , j a i,k bk , j k 1 (i 1,2,..., m; j 1,2,..., m) c[i][j] = 0; for (k = 0; k < n; k++) { c[i][j] += a[i][k]*b[k][j]; } 演習12.3の計算結果 12 14 16 A B 18 20 22 24 26 28 10 10 10 A B 10 10 10 10 10 10 90 96 102 A B 216 231 246 342 366 390 演習12.4の計算結果 2 3 1 x 1 3 1 2 y 7 1 2 3 z 6 x 1 y 2 z 3 プロトタイプ宣言の意味 関数が呼ばれる前に形だけ宣言 関数定義が先なら必要なし?(コンパイラによる) double function(double x); この時点で void main(void) 定義されてい { ないので不安 double y; y = function(5); } double function(double x) { return x*x; } 定 義 double function(double x) { return x*x; } 定 義 この時点で void main(void) 定義されて { いるので安心 double y; y = function(5); } 関数定義と仮引数 仮引数の変数名は暫定的なもの 定義内だけで有効. 矛盾なければOK 呼ぶ側は引数の位置と型(タイプ)だけが重要 意味の分かりやすい汎用的な名前がよい double f(double x); { return x*x; } void main(void) { double t = 2; printf("f(%f) = %f\n", t, f(t)); }
© Copyright 2024 ExpyDoc