倉 薫 著
あなたがプログラミングの初心者で、いまC言語を勉強しなければならないとしたら、それはとても幸運なことだと私は思います。「C言語を知っている」ということは、あなたのこれからのすべてのソフトウェア開発経験にとって、すべての面でプラスになることだろうと私は確信しています。
C言語は、シンプルで、論理的で覚えることが少なくて、実行速度が速い、とても扱いやすいプログラミング言語です。よく言われることですが、一言でいうと、とても「美しい」言語です。私は初めてC言語に接したときに、その美しさにすっかり魅せられて、C言語のとりこになってしまいました。その使用人口の多さからもわかるように、そういう人はとても多いのです。そのくらいにC言語は素晴らしいプログラミング言語です。
本書は、旧プログラミング学習シリーズとして出版されたC言語(1)/(2)の改訂版という位置づけのものです。幸いなことに、旧シリーズは多くの読者の方から予想以上に高いご評価をいただきました。ただ残念ながら、当時はC言語の最新規格であるC99文法がまだ一般的ではなかったため、それらについての説明は割愛せざるを得ない状況でした。その後、C99文法を扱えるコンパイラが一般的になってきたこと、そして、にもかかわらず現在書店に並んでいる書籍では既に一般的であるC99文法に基づいたものがほとんどないことなどから、本シリーズではC99文法を全面的に取り入れ、今現在の一般的なコンパイラでできることをきちんと紹介したいと考えてまとめました。
「はじめに」より抜粋
●付属CD-ROMのご案内
本書の付属CD-ROMには、本書で掲載されているサンプルプログラムとコンパイラ(MinGW gcc)が収録されています。
Windows XP / Vista 用。
第1章 C言語に触れる
1-1 C言語に触れる
プログラムとは何か
C言語でのプログラミング
どうやって勉強していくか
1-2 プログラム作成の流れ
プログラムの作り方
1-3 プログラムの作成
コンパイラのインストール
コマンドプロンプト
コマンドプロンプト画面を開く
プログラムコードを書く
プログラムファイルの入力
コンパイル
1-4 ミスやエラーの修正
入力ミスの修正
コンパイラにはわからないエラー
練習問題
第2章 C言語のプログラム
2-1 C言語のプログラム構造
C言語のプログラム構造
2-2 変数
変数を使う
変数とは
変数宣言
変数の初期値
変数名の付け方
2-3 出力
printf()関数
変数の出力
2-4 型
型とは
int
long
long long(C99)
double
char
unsigned
2-5 演算子
演算
四則演算
余り
+= -=演算子
インクリメント、デクリメント演算子
練習問題
第3章 分岐処理と繰り返し処理
3-1 分岐処理1―if文
分岐と繰り返し
if文
条件式の書き方
比較論理演算子
注意点
3-2 分岐処理2―switch文
switch文
文字によるswitch文の分岐
3-3 繰り返し処理1―for文
繰り返し処理
for文
for文の動作
for文の応用
3-4 繰り返し処理2―while文
while文
break文とcontinue文
break文
continue文
練習問題
第4章 配列:ポインタ・文字列
4-1 配列
変数の限界
配列
変数宣言
アクセス方法
変数を添え字に使ったアクセス
配列オーバー
初期化
4-2 ポインタ
ポインタ変数
ポインタ変数を使った次の実験
配列とポインタ
ポインタ変数の中身
4-3 文字列―基礎編
プログラム中の文字列の扱い
変数としての文字列
特殊文字
全角文字を格納する
4-4 文字列―応用編
関数による文字列処理
キーボードからの文字列入力―gets()
文字列→整数変換―atoi()
文字列の設定、コピー―strcpy()
最大長さ指定文字列コピー―strncpy()
文字列の比較―stcmp()
文字列の連結―strcat()
文字列の長さを測る―strlen()
フォーマット指定文字列生成―sprintf()
練習問題
第5章 関数の作り方
5-1 関数の作成
関数を作るメリット
関数とは何か
関数の構造
開始部分
変数宣言部分
処理部分
終了部分
自作関数の入ったプログラム
5-2 ポインタを関数に渡す
引数は値のコピー
ポインタ渡し
5-3 プロトタイプ宣言
プロトタイプ宣言
#includeの正体
練習問題
第6章 大きなプログラムの開発
6-1 ファイルの分割
複数ファイルによる開発
呼ばれる側の書き方
呼ぶ側の処理
自分のヘッダファイルを作る
複数ファイルからなるプログラムのコンパイル
リンクエラー
6-2 変数の種類
変数の種類
ローカル変数
グローバル変数
スタティック変数
ローカル変数っぽいスタティック変数
グローバル変数っぽいスタティック変数
練習問題
第7章 構造体
7-1 構造体
複雑なデータ構造
構造体
第1段階「構造体の定義」
第2段階「定義した構造体を使って、変数を宣言して使う」
構造体の定義
構造体の使い方
構造体とポインタ
構造体は美しい
練習問題
第8章 C言語プログラミングに必要なさまざまな技術
8-1 ファイルの入出力
なぜファイル入出力が必要か
新規ファイルの作成
既存ファイルの読み込み
8-2 #define
#define
8-3 エラー処理
エラー処理
練習問題
練習問題解答および解答例
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||
---|---|---|---|---|---|---|---|---|---|
1刷 | 039 本文6~7行目 |
2刷 | 未 |
|
2012.04.25 | ||||
1刷 | 042~043 P42「変数宣言」本文8行目~P43 本文1行目、P42 注②-5 |
2刷 | 未 |
|
2012.05.29 | ||||
1刷 | 075 「比較論理演算子」本文10行目、側注 |
2刷 | 未 |
|
2012.05.29 | ||||
1刷 | 147 本文8行目 |
2刷 | 未 |
|
2012.04.25 | ||||
1刷 | 162 練習問題4.1 問題文3~4行目 |
2刷 | 未 |
|
2012.04.25 | ||||
1刷 | 255 A2.3 正解、D)の解説 |
3刷 | 未 |
|
2012.06.19 | ||||
1刷 | 261 「A4.1」図 |
2刷 | 未 |
|
2012.05.29 |
たけぞー さん
2016-05-01
プログラミング初心者でしたが、わかりやすく説明してくれました。 ただ少し冗長な気もします。
文月葵 さん
プログラミング知識ゼロから始めるのに最適。安定した土台作りに於いて基礎は重要。Cは他の言語にも通じる知識であるため触れておいても損は無く、細部よりも全体を俯瞰することに長けた本書は入口として使用するには大変優れた書籍と言える。C言語の初心者向けの書籍に関しては後にも先にも本書を越える教材と巡り合ったことはない。巻を重ねる毎に評価が下がりがちな同シリーズの中では比較的安定した支持を得ている辺りからも、信頼出来る参考書であることが窺える。C言語を教養と捉えている読者には最高の一冊。
tomehiko2 さん
2018-12-19
とりあえず、まったくの初心者でもなんとか読み進めることは可能。でも、最後の例題はもう少しヒントの出しようがあったんじゃなかろうか。少なくとも複数ファイルを同時に開いて処理してもいい、って書いといてくれればもう少し解答に近づけたのに… あと、別の本(苦しんで覚えるC言語とか独習Cとか)を読んでると、書き方のお作法がCの標準的じゃなさそうな部分(main関数でmain(void)でなくmain()と書いたり、最後のreturn 0;を省略するとか)あり。読みやすさを優先しての配慮だろうけど、他の本も必要そう。