プログラミングII:C言語再入門

武藤 武士

本間 啓道


目次
はじめに
1章コンパイル
はじめは Hello World!!から
エディタでソースファイルを作成する
コンパイルする
2001年5月30日の授業内容補足
課題作成へ向けて
まずは復習
課題:九九の表を作ってみよう!!
今週のちょっといいもの
2章画像処理で関数を勉強しよう
画像処理の例
2次元配列(教科書pp.89-98)
実際の画像の取り扱い
2値化する
今週のちょっといいもの
2001年6月20日の授業の補足
例2-1の解答例
例2-2の解答例
2値化を行うプログラム
実際の画像を扱おう!!
画像のデジタル表現
Portable Gray Map:PGM
値渡しと参照渡し(教科書pp.124-129)
実際のプログラム
授業中の課題:画像の読み込み部分の作成
課題:画像の2値化を行う
今週のちょっといいもの
2001年7月4日の補足
ヒストグラム
[課題]夏休みの宿題
画像の2値化:総集編
画像処理について調査
読書感想文
授業について
今週のちょっといいもの
2001年7月11日の補足
3章文字列処理
今日の授業のスライド
C言語での文字列の取り扱い
文字型の配列
バッファーオーバフロー
コマンドラインオプション(教科書pp.145-150)
[課題]文字の並びを逆順にする
2001年9月12日の補足
標準入力からの入力課題について
今週のちょっといいもの
str*関数群
文字列の長さを知る関数:strlen
文字列の連結:strcat
文字列の比較関数:strcmp
試験に向けて
試験問題の例
今週のちょっといいもの
4章前期試験
プログラミングII前期試験
ファイルを標準入力から読み込む例
問題1:等差数列の表示
問題2:標準入力を単語毎に区切って出力
問題3:文字の置き換え
問題4:一行を一定の長さで折り返す
問題5:アルファベットの出現頻度を数える
問題6:入力の文字数,単語数,行数を数える
5章動的なメモリ操作
動的なメモリ操作
各データ型の大きさを知る:sizeof演算子
メモリを実際に確保する:malloc
いらなくなったメモリを解放する:free
[課題]動的なメモリの割当
画像処理のプログラムで画像部分を動的に確保する
画像の180度回転変換
今週のちょっといいもの
6章後期中間試験
プログラミングII後期中間試験
A問題:基本問題
B問題:画像処理に関する問題
7章落ち穂ひろい
これまでの授業の落ち穂ひろい
scanf()fscanf()の違い
予防的プログラミング:戻り値によるエラーチェック
配列の添字の範囲について
参考文献
表目次
1-1. 代表的な書式指定
1-2. 代表的な書式指定子
1-3. Cの書式指定と実際の表示例
図目次
1-1. 最初のプログラム:HelloWorld.c
1-2. プログラム作成の流れ
2-1. 画像の配列による表現:program/decr.h
2-2. 出力例1
2-3. 出力例2
2-4. 画素値を表示するプログラム:program/img.c
2-5. 文字の濃さで表示するプログラム:program/img_char.c
2-6. 全ての可能な閾値で2値化して表示するプログラム:program/bin_char.c
2-7. デジタル画像の表現
2-8. これから扱う画像:okamochi.pgm [3]
2-9. PGM画像の先頭部分
2-10. 画像読み込みのために用意する変数
2-11. scanfの関数プロトタイプ
2-12. ヘッダを読み込む部分
2-13. PGM画像データを読み込んでそのまま出力するプログラム:program/pgminput.c
2-14. おかもち画像の画素値のヒストグラム
3-1. 文字列の表示の例:string.c
3-2. 文字列strの表現
3-3. バッファーオーバーフローするプログラム:buffer-overflow.c
3-4. main関数への引数:argv.c
3-5. コマンドライン引数の表示プログラム
3-6. コマンドラインオプションの文字列の文字数を表示するプログラム:optlen.c
3-7. 文字列の連結:strcat.c
3-8. 文字列の比較:strcmp.c
3-9. クイックソートの実現:qsort.c
4-1. 標準入力を標準出力にそのまま出力するプログラム:cat.c
5-1. sizeof演算子の利用例program/sizeof.c
5-2. mallocの定義
5-3. mallocの使用例:program/malloc-int.c
5-4. メモリを無駄に消費するプログラムprogram/memory-eater.c
5-5. freeの定義
例目次
2-1. 画素の値をそのまま表示する
2-2. 画像をアスキーアートで表示する
3-1. 問題
4-1. 問題1の解答へのヒント
4-2. 問題2の解答へのヒント
4-3. 問題3の解答へのヒント
4-4. 問題4の解答へのヒント
4-5. 問題5の解答へのヒント
4-6. 問題6の解答へのヒント
6-1. A1の解答へのヒント
6-2. A2の解答へのヒント
6-3. A3の解答へのヒント
6-4. B1の解答へのヒント
6-5. B2の解答へのヒント
6-6. B2のちょっと進んだ問題
6-7. B3の解答へのヒント