プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力 2010.11.24 プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力 坂口 利裕
ファイルをプログラムで利用する キーボードからのデータ入力 計算結果の画面表示 ファイルを直接利用する手段 手軽にできる(大げさな準備は不要) 大量データに対する処理・同一データに対して別のプログラムで処理→入力ミスの恐れ 計算結果の画面表示 情報量が少ない時は手軽に利用できる ワープロなどに直接引用することができない ファイルを直接利用する手段 2010.11.24 プログラミング基礎a
C言語におけるファイルの扱い方 “ファイル”を表す特別な型の変数:FILE型 FILE *f ; 実際のファイルを指定して“開く” f = fopen(ファイル名,アクセス法) ; f = fopen(“data.txt”, “r”) ; /* 出力は “w” */ ファイル入出力関数 fscanf, fprintfを使う fscanf(f, …) ; fprintf(f, …) ; “閉じる” fclose(f) ; 大文字であることに注意 2010.11.24 プログラミング基礎a
練習(1) prog13.c をダウンロード 不足部分をテキストを参考に追加 データファイルをテキスト形式(*.txt)で作成 プログラムをコンパイルして実行 2010.11.24 プログラミング基礎a
練習(2) データ数を汎用化 データ配列を十分に準備 データ数を記憶する変数nを追加 float x[100] ; データ数を記憶する変数nを追加 int i, n ; fscanf() の戻り値によって途中で中断(break)させる if( fscanf(f,”%g”,&x[i]) != 1 ) break ; 中断時のiの値が実際のデータ数 n = i ; 以下,データ数を n に依存するように変更 2010.11.24 プログラミング基礎a
練習(3) 最小値の計算を追加 最大値の計算→最小値の場合と同様 仮の最小値 xmin を用意し xmin ← x[0] とする プログラミング基礎a 2010.11.24 練習(3) 最小値の計算を追加 仮の最小値 xmin を用意し xmin ← x[0] とする カウンタ i を用意し i ← 1 とする(0ではない!) 調べていないデータがあれば( i < n なら)続行, そうでなければ終了(6.へ進む) xmin > x[i] ならば x[i] がよりよい最小値なので xmin ← x[i] とする i をひとつ増やして 3. に戻る (終了時の)xminが求められた最小値となる 最大値の計算→最小値の場合と同様 2010.11.24 プログラミング基礎a 坂口 利裕