出版社内容情報
「文法は後回し!」「慣れてしまえば勝ち!」の画期的なC言語レッスン
東大講師のC言語ゼミをまるごと1冊に凝縮!
C言語を一回(何回も?)挫折した人。プログラムを入力しながら勉強するのが面倒くさい人。そして、今
やらないともう一生C言語をマスターできないとあせっているあなた、本書なら今からでも間に合います。
添付CD-ROMのサンプルをコンパイルしているうちに、C言語の基本が自然と身についていきます。添
付CD-ROMにLSI C-86試食版(フリーのCコンパイラ)、TeraPad(エディタ)、掲載全プログラムソースを
収録。
第1章 はじめに
■「今からでも間に合うC言語入門」ゼミ
■対象読者
■本書の特徴
第2章 準備体操(C言語スタートの準備)
2.1 頭の準備体操「C言語とは」
■C言語プログラミングに必須な道具
2.2 パソコンの準備体操「CD-ROMからのセットアップ」
■LSI C-86 Ver.3.30c試食版のインストール
■ショートカットのコピー
■TeraPadのインストール
■ソースプログラムのインストール
2.3 心の準備体操「習うより慣れろの精神」
■コンパイルの仕方
■プログラムの動かし方
■プログラムの作成と編集:テキストエディタを使う
第3章 コンパイル、その前に(コンピュータとプログラムの関係)
3.1 コンピュータってどんなやつ?
■CPU
■メモリ(主記憶装置)
■フロッピーディスクやハードディスク(補助記憶装置)
■キーボードやマウス(入力装置)
■ディスプレイ(出力装置)
3.2 コンピュータはプログラムをどうやって動かしているのか
3.3 ビットとバイト、そしてアドレス(番地)
3.4 アスキーコード(文字表現)
第4章 まずは、コンパイル(基本的なプログラムとその考え方)
4.1 プログラムはこうなっている(プログラムの構造)
■ヘッダファイルの記述
■定数などの定義
■関数のプロトタイプ宣言
■変数の宣言
■main関数
■関数の定義
4.2 プログラムはトップダウンで書こう(プログラム作りのコツ)
4.3 一番小さいプログラム
■/*と*/のはさみうち:それはプログラムの中の付箋
4.4 自分の名前を表示しよう
■#include
■やりたいことはmainの中に
■画面にメッセージを!:printfという命令
■文の終わりにセミコロンを!:セミコロンは読点のようなもの
■セミコロンが要らないところ
第5章 入れ物コンパイル(データ)
5.1 「入れる物」と「入れ物」(定数と変数)
5.2 入れる物の種類(定数)
■整数定数
■実数定数
■文字定数
■文字列定数
5.3 入れ物の種類(変数)
■整数型変数
■実数型変数
■文字型変数
5.4 入れ物に何か入れてみよう(変数の宣言、初期化と代入)
■変数の型と名前を決める
■変数を宣言する
■変数への代入
■変数の初期化
5.5 入れ物の中身をみんなに見せよう(データの表示)
5.6 入れ物の中身をみんなにもらおう(データの入力)
第6 章 計算コンパイル(演算子)
6.1 計算の種類あれこれ(各種演算)
6.2 算数ならまかせてよ(算術演算)
■算術演算
■異なる型の間での算術演算はどうなる?(混合演算の規則)
■異なる型への代入はどうなる?(型変換)
6.3 どっちが大きいの?(比較演算子)
6.4 ライスまたはパン?(論理演算子)
6.5 ちょっとプログラマ気分(インクリメント ディクリメント演算子)
6.6 コンピュータの得意技(ビット演算・シフト演算)
■ビット演算
■補数演算
■シフト演算
第7章 分かれ道コンパイル(分岐処理)
7.1 分かれ道の選び方(条件と分岐)
7.2 人生最初の分かれ道(簡単なif文)
■if文の構造はこうなっている
■if文に入れる条件式(比較演算子の復習)
■if文に入れる条件式(論理演算子の復習)
■条件式の書き方のススメ
7.3 こっちもあるよ分かれ道(if〜else文)
■if〜else文の構造はこうなっている
■ちょっと複雑なif〜else文(if〜else if)
7.4 人生選択式(switch case文)
■switch case文の構造はこうなっている
■breakって何?
第8章 繰り返しコンパイル(繰り返し処理)
8.1 どんなとき? どこまで?(条件と繰り返し)
8.2 数えながらの繰り返し(for文)
■for文の構造はどうなっている?
■式1:初期化の式
■式2:繰り返し処理の続行条件の式
■式3:繰り返すたびに実行される式
■for文の典型的なプログラムを動かしてみよう
■for文による多重繰り返し
8.3 真実がある限り繰り返し(while文)
■while文の構造はこうなっている
■while文の典型的プログラム
8.4 最低一度はやりまっせ(do〜while文)
■do〜while文の構造はこうなっている
8.5 永遠に繰り返し(無限ループとbreak文、continue文)
■無限ループの作り方
■break文でループから抜け出そう
■continue文を使いこなそう
第9章 箱コンパイル(配列)
9.1 入れ物がたくさん必要なあなた(配列とは)
9.2 1次元配列
■1次元配列の宣言
■配列の初期化
9.3 2次元配列
■2次元配列の構造
■2次元配列の宣言
■2次元配列の初期化
9.4 文字列と便利なツールたち
■文字列と配列の関係
■文字型配列の初期化
■文字列を扱う便利なツールたち
第10章 箱探しコンパイル(ポインタ)
10.1 メモリと変数の密かな関係(ポインタとは)
■メモリと変数の関係
■ポインタとは
10.2 配列とポインタ
■ポインタ変数の演算
■必要な箱を確保する命令malloc()とcalloc()
10.3 文字列とポインタ
第11章 データベースコンパイル(構造体)
11.1 データベースを作る(構造体とは)
■住所録データベースを考える
■構造体とは
11.2 構造体の定義と変数宣言
■構造体にどのような名前を付けるか
■構造体にどのようなデータを含めるか
■変数宣言しよう
■構造体定義のまとめ
11.3 構造体変数の代入と初期化
■メンバへのアクセス
■構造体変数の初期化
■構造体変数への代入
11.4 構造体の配列
11.5 構造体のポインタ
■ポインタ変数の宣言
■ポインタ変数でのメンバへのアクセス
11.6 すっきりした独自の構造体型を作ろう(typedef)
第12章 横道コンパイル(関数)
12.1 関数って何?(関数の概念)
■関数とは
■関数を自分で作るメリット
12.2 関数の基本形(関数の基本構造)
■関数の型
■関数名
■引数の型と引数名
■変数宣言部分
■処理部分
■返り値
12.3 関数のプロトタイプ宣言
12.4 関数間でのデータのやりとり(値渡しと参照渡し)
■値渡しの引数とは
■参照渡し(ポインタ渡し)の引数とは
■文字型配列を引数にする
■構造体変数を引数にする
第13章 読み書きコンパイル(ファイルの読み書き)
13.1 ファイルって何?(ファイルの概念)
■ファイルとは何か
■C言語プログラムでファイルを扱うにはどうするか?
13.2 読む前に開く、読んだら閉じる(ファイル読み出し)
■ファイルを文字列として読み込む(fgetsに慣れよう)
■ファイルから数値データを読み取るには(scanfの親戚、fscanfを使おう)
13.3 書く前に開く、書いたら閉じる(ファイル書き込み)
■ファイルへ文字列を書き込む(fputsに慣れよう)
■ファイルへ一定書式でデータを書き込もう(printfの親戚、fprintfを使おう)
■ファイルに追加書き込みを行おう(追加モード"a"を使いこなそう)
第14章 虫取りコンパイル(デバッグ)
14.1 虫だらけのプログラム(デバッグの概念)
■デバッグのポイント
14.2 コンパイル時に存在が判明するバグ
■エラーメッセージの基本形
■エラーメッセージの連鎖反応
■ウォーニングのイエローカードとレッドカード
14.3 コンパイル時に判明しないバグ
■実行時に判明するバグ
■実行時に判明しないバグ
14.4 虫取り大作戦(デバッグの手順)
■机上デバッグ
■デバッグライト(debug write)
■コメントアウト
■デバッガの利用
14.5 虫取りのコツ(デバッグのコツ)
■プログラムの書き方に注意
■関数による分割
■エラーメッセージに慣れる
第15章 まとめてコンパイル(総括)
15.1 プログラミングとは何だったのか
■プログラミングのポイントは「ストーリー」にあり
15.2 どうしたらプログラミングができるようになるのか
■ストーリー作りをトレーニングする
■ストーリーをC言語に置き換えるトレーニングをする
■デバッグのトレーニングをする
15.3 これからどうすればよいのか
■プログラミングがまだ今ひとつと思っている人
■プログラミングにだいぶ慣れてきた読者へ
第16章 まだまだ続くコンパイル(オリジナルプログラムへの道)
16.1 ファイルの分割
■「自作関数のプロトタイプ宣言など」を集めるオリジナルヘッダファイル
■「自作関数定義の部分」を集めるオリジナル関数ファイル
■「mainを含む部分」を内容とする本体ファイル
16.2 変数のスコープ
■ローカル変数
■グローバル変数
■スタティック変数
■グローバル変数の外部参照宣言
16.3 ライブラリの作成
■コンパイル作業とライブラリ
■ライブラリの作成
●アスキーコード表
●「落とし穴」一覧
●INDEX
内容説明
本書は概念や機能の説明など難しいことは後回しにし、とにかくソースをコンパイルして実践的にC言語を使うこと、つまり「習うより慣れろ」をモットーにしています。
目次
準備体操(C言語スタートの準備)
コンパイル、その前に(コンピュータとプログラムの関係)
まずは、コンパイル(基本的なプログラムとその考え方)
入れ物コンパイル(データ)
計算コンパイル(演算子)
分かれ道コンパイル(分岐処理)
繰り返しコンパイル(繰り返し処理)
箱コンパイル(配列)
箱探しコンパイル(ポインタ)
データベースコンパイル(構造体)
横道コンパイル(関数)
読み書きコンパイル(ファイルの読み書き)
虫取りコンパイル(デバッグ)
まとめてコンパイル(総括)
まだまだ続くコンパイル(オリジナルプログラムへの道)
著者等紹介
割沢伸一[ワリサワシンイチ]
東京大学工学部講師
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。