パソコンもファスト・フード化している! 今こそ目指そうCの美学! Borland C++ Compiler 5.5をセットアップ コンパイラの動作に必要な設定を済ませる 文字による操作に取り組もう コマンドプロンプトを操作する 初めてのCプログラムを書いてみよう コンパイル前の最終確認をする 初めてのコンパイルとエラーへの対処 初めての実行! コラム 特定の拡張子を持ったファイルを確実に作成する コラム すべての拡張子を表示する設定
Hello Worldプログラムをもっと楽しむ “Hello World!”という出力文字列をテキスト・ファイルにする “Hello World!”という出力文字列をプリンタで印刷する “Hello World!”という出力文字列を別のプログラムに入力する わずかな労力で多くの機能を!「標準出力」の力 最初に実行される関数“main” printf関数の宣言はどこにあるのか? ヘッダー・ファイルはライブラリ活用の便利手段 サンプルを改造してみよう 「決まり切った文字列」を卒業しよう 標準出力と対になる標準「入力」もある 根幹部分はライブラリ関数で実現できる Upper1プログラムも改造してみよう コラム コマンドライン・ヒストリを活用してキー入力を減らす コラム gets関数にはバッファ・オーバーランの危険
もしも入力が空だったら? 金額によって処理を分ける キーワードelseで条件不成立時の処理を指定 合言葉は「山」「川」――複雑な条件の記述 コラム 文字列の比較に“==”を使用できない理由 コラム if文一つで多彩な条件判断が可能
プログラムに「力」を与える たった10数行で無限に羊を数え続ける forキーワードでループを作る 指定した回数だけ繰り返すループを作る 三つの式で繰り返しの条件を指定する ループの中に別のループを入れる Upper1を拡張し,任意の行数に対応させる
多数のデータを効率よく記憶する配列 「範囲外アクセス」に注意 Cの文字列は「文字」の「配列」 文字とは実は数値である 一つの数値で表す文字と二つの数値で表す文字がある 漢字対応の逆転処理プログラムを作ろう
メモリー空間=巨大な配列 宣言することでメモリーを確保できる ポインタでメモリー空間を扱う 配列の名前はポインタのように扱える ポインタを知ればライブラリをフル活用できる! 整数型のポインタもある コラム 配列ではない変数のポインタ値を得る
コードの重複を取り除け! 作者が自由に名前を付けられる 引数を活用してさらに重複を減らす 戻り値で結果を返す関数を作る 「有効範囲(スコープ)」のわな main関数の引数と戻り値も活用しよう バッチ・ファイルでmain関数の戻り値を参照する コラム 引数なしの関数はvoidキーワードで「引数なし」と明示
データを扱う手間も減らそう 複数のデータをまとめた「構造体」を宣言する 構造体の変数を作ってデータを格納する structキーワードを書かないで済ませるテクニック 構造体は引数の記述も簡単にする 構造体の配列を作ることもできる 構造体で実現するリンク・リスト malloc関数でメモリーを借り受ける コラム 型に別名を付けるtypedef宣言
この二つのファイルは同じか? fopenで開き,fgetsで読み取る fopenとfgetsを結ぶ「FILE構造体」 開いたファイルはfclose関数で必ず閉じる fgets関数は単なる「ファイル対応版gets関数」ではない 複数のファイルを一つにまとめる 複数のファイルに分類して書き出す
テキスト処理コマンドを自作しよう ワイルドカード対応検索ツールを作る 文字列の一致をどうやって調べるか ポインタ操作で検索開始位置をずらしていく 様々な条件判断で比較を進める 順番を整列するソート 泡のようにソートせよ バブルソート・アルゴリズムをCプログラムにする 「ユニーク」はユニークな宿題で
優秀なプログラマはデバッグもうまい 名探偵を目指せ――推理と絞り込み わからないときは違う角度からソースを見る 誰もが知る有名テクニック「printfデバッグ」 デバッグ出力をファイルに書き出す あるべき値を保証する「assertマクロ」を利用する コラム まずは自分のプログラムを疑ってみよう コラム 使い終わったprintf関数呼び出しは削除する? コラム assertマクロはエラー・チェックには使わない
実用的なプログラムへ第1歩を踏み出そう まず敵を知る――CSVファイルの仕様は? 次は己を知る――何をどう作るのか? CSV処理関数の仕様を考える テスト用main関数の仕様を決めよう CSVの迷宮を踏み越えろ main関数でreadRecord関数の使い方を確認 readRecord関数の活用――クロス集計を作る 終わりに――連携がプログラムのパワーを引き出す コラム 一つの配列に複数の文字列を入れる
この記事については、正誤情報: 基本はいつもC言語 最終回(第12回) 卒業制作! CSVファイル処理を実践もご参照下さい。