* 連載・基本はいつもC言語 [#p8e7defd]
-日経ソフトウェア2005年7月~2006年6月号
-全12回
-対象処理系: Borland C++ 5.5 (Cコンパイラとして使用)
-続編としての中級編は[[連載/100.基本はいつもC言語]]
-内容は全面改定され、連載時にカットされた原稿も復活、対象処理系をVisual C++ 2008/MinGWに変更して[[単行本/100.C言語教科書【入門編】]]に収録

** 第1回 Cの美学! ゼロからのC入門!コンパイラをセットアップしよう [2005年7月号掲載] [#b320bdd2]
 パソコンもファスト・フード化している!
 今こそ目指そうCの美学!
 Borland C++ Compiler 5.5をセットアップ
 コンパイラの動作に必要な設定を済ませる
 文字による操作に取り組もう
 コマンドプロンプトを操作する
 初めてのCプログラムを書いてみよう
 コンパイル前の最終確認をする
 初めてのコンパイルとエラーへの対処
 初めての実行!
 コラム 特定の拡張子を持ったファイルを確実に作成する
 コラム すべての拡張子を表示する設定

** 第2回 わずかなコードで多彩に機能する「標準入出力」で楽しんでみよう [2005年8月号掲載] [#a68ae281]
 Hello Worldプログラムをもっと楽しむ
 “Hello World!”という出力文字列をテキスト・ファイルにする
 “Hello World!”という出力文字列をプリンタで印刷する
 “Hello World!”という出力文字列を別のプログラムに入力する
 わずかな労力で多くの機能を!「標準出力」の力
 最初に実行される関数“main”
 printf関数の宣言はどこにあるのか?
 ヘッダー・ファイルはライブラリ活用の便利手段
 サンプルを改造してみよう
 「決まり切った文字列」を卒業しよう
 標準出力と対になる標準「入力」もある
 根幹部分はライブラリ関数で実現できる
 Upper1プログラムも改造してみよう
 コラム コマンドライン・ヒストリを活用してキー入力を減らす
 コラム gets関数にはバッファ・オーバーランの危険

** 第3回 プログラムに「賢さ」を与える切り札!条件判断でプログラムの動作を変える [2005年9月号掲載] [#j121a2ba]
 もしも入力が空だったら?
 金額によって処理を分ける
 キーワードelseで条件不成立時の処理を指定
 合言葉は「山」「川」――複雑な条件の記述
 コラム 文字列の比較に“==”を使用できない理由
 コラム if文一つで多彩な条件判断が可能

** 第4回 短いコードで大きな結果を生む「繰り返し」をマスターしよう [2005年10月号掲載] [#v2f3ff6d]
 プログラムに「力」を与える
 たった10数行で無限に羊を数え続ける
 forキーワードでループを作る
 指定した回数だけ繰り返すループを作る
 三つの式で繰り返しの条件を指定する
 ループの中に別のループを入れる
 Upper1を拡張し,任意の行数に対応させる

** 第5回 配列処理を通して知る「文字=数値」の不思議! [2005年11月号掲載] [#k947b3cd]
 多数のデータを効率よく記憶する配列
 「範囲外アクセス」に注意
 Cの文字列は「文字」の「配列」
 文字とは実は数値である
 一つの数値で表す文字と二つの数値で表す文字がある
 漢字対応の逆転処理プログラムを作ろう

** 第6回 最大の難関にして最大の喜び!さあ,いよいよポインタだ! [2005年12月号掲載] [#a3319c26]
 メモリー空間=巨大な配列
 宣言することでメモリーを確保できる
 ポインタでメモリー空間を扱う
 配列の名前はポインタのように扱える
 ポインタを知ればライブラリをフル活用できる!
 整数型のポインタもある
 コラム 配列ではない変数のポインタ値を得る

** 第7回 コードから重複を取り除く関数の書き方/使い方 [2006年1月号掲載] [#i1023f1a]
 コードの重複を取り除け!
 作者が自由に名前を付けられる
 引数を活用してさらに重複を減らす
 戻り値で結果を返す関数を作る
 「有効範囲(スコープ)」のわな
 main関数の引数と戻り値も活用しよう
 バッチ・ファイルでmain関数の戻り値を参照する
 コラム 引数なしの関数はvoidキーワードで「引数なし」と明示

** 第8回 データをまとめて効率化構造体に情報を結集させる [2006年2月号掲載] [#zbe580f1]
 データを扱う手間も減らそう
 複数のデータをまとめた「構造体」を宣言する
 構造体の変数を作ってデータを格納する
 structキーワードを書かないで済ませるテクニック
 構造体は引数の記述も簡単にする
 構造体の配列を作ることもできる
 構造体で実現するリンク・リスト
 malloc関数でメモリーを借り受ける
 コラム 型に別名を付けるtypedef宣言

** 第9回 ファイル入出力機能で複数のファイルを自在に操る! [2006年3月号掲載] [#w5118fdb]
 この二つのファイルは同じか?
 fopenで開き,fgetsで読み取る
 fopenとfgetsを結ぶ「FILE構造体」
 開いたファイルはfclose関数で必ず閉じる
 fgets関数は単なる「ファイル対応版gets関数」ではない
 複数のファイルを一つにまとめる
 複数のファイルに分類して書き出す

** 第10回 検索+ソート+ユニーク=?実用コマンドの自作に挑戦! [2006年4月号掲載] [#nfd6825d]
 テキスト処理コマンドを自作しよう
 ワイルドカード対応検索ツールを作る
 文字列の一致をどうやって調べるか
 ポインタ操作で検索開始位置をずらしていく
 様々な条件判断で比較を進める
 順番を整列するソート
 泡のようにソートせよ
 バブルソート・アルゴリズムをCプログラムにする
 「ユニーク」はユニークな宿題で

** 第11回 いざというときに心底役に立つデバッグとそのテクニック! [2006年5月号掲載] [#ub55766a]
 優秀なプログラマはデバッグもうまい
 名探偵を目指せ――推理と絞り込み
 わからないときは違う角度からソースを見る
 誰もが知る有名テクニック「printfデバッグ」
 デバッグ出力をファイルに書き出す
 あるべき値を保証する「assertマクロ」を利用する
 コラム まずは自分のプログラムを疑ってみよう
 コラム 使い終わったprintf関数呼び出しは削除する?
 コラム assertマクロはエラー・チェックには使わない

** 最終回(第12回) 卒業制作!CSVファイル処理を実践 [2006年6月号掲載] [#bd9c2210]
 実用的なプログラムへ第1歩を踏み出そう
 まず敵を知る――CSVファイルの仕様は?
 次は己を知る――何をどう作るのか?
 CSV処理関数の仕様を考える
 テスト用main関数の仕様を決めよう
 CSVの迷宮を踏み越えろ
 main関数でreadRecord関数の使い方を確認
 readRecord関数の活用――クロス集計を作る
 終わりに――連携がプログラムのパワーを引き出す
 コラム 一つの配列に複数の文字列を入れる

 この記事については、[[正誤情報: 基本はいつもC言語 最終回(第12回) 卒業制作! CSVファイル処理を実践:http://mag.autumn.org/Content.modf?id=20060809171002]]もご参照下さい。


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS