関連サイト
本書の関連ページが用意されています。
内容紹介
シリーズ累計90万部突破! C23に対応した定番入門書
コツ・仕組み・落とし穴をしっかりおさえるからポインタも自在に扱えるプログラマーになれる!
本書が初心者でもつまずかずに、プログラミングを深く理解・習得できる3つのコンセプトはこちら。
【1】現代に最適化したC言語学習
「伝統的なCの制約」にこだわることなく、より学びやすく、将来的には別の言語学習にもつながるよう「近代的なC言語」を解説のベースとしています。この第3版では、これから普及する最新規格C23を解説のベースに据え、ITに関わるさまざまなものがブラックボックス化された今の学び手にとって、より理解しやすい題材や順序で、解説を編成しました。
【2】難所を難所と感じさせない構成やデザイン
ポインタや各種の基本文法に加え、C特有のからくりに、初学者が同時に対峙しなくても済むよう、学習ルートを練り上げ、主人公と一緒に楽しく学べるストーリーを構築しました。また、シンプルでスッキリとした紙面デザインへリニューアルし、読みやすさ、使い勝手の向上を図っています。
【3】躓かずに学習を進められる
複雑なプログラミング環境の導入で学習意欲が削がれないよう、VSCodeをはじめ必要なツール類の導入や設定をすべて整えた学習用コンテナを準備したほか、Webブラウザでコードの入力・実行ができるクラウドサービス「dokoC」※を用意しました。また、多くの初学者が遭遇するエラーと解決方法を「エラー解決・虎の巻」として巻末にまとめました。
※dokoCは新刊購入者用特典です。利用の前にインプレスのWebサイトで「dokoCご利用上の注意」をご確認ください。
書誌情報
- 著者: 中山清喬(著), 株式会社フレアリンク(監修)
- 発行日: 2024-11-19 (紙書籍版発行日: 2024-11-19)
- 最終更新日: 2024-11-19
- バージョン: 1.0.0
- ページ数: 768ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
初めてC言語を学ぶ、プログラミング未経験者。C言語初心者。ポインタでつまづいている方。基本情報技術者試験の擬似言語習得に苦労している方
著者について
中山清喬
株式会社フレアリンク代表取締役。IBM内の先進技術部隊に所属しシステム構築現場を数多く支援。退職後も研究開発・技術適用支援・教育研修・執筆講演・コンサルティング等を通じ、「技術を味方につける経営」を支援。現役プログラマ。講義スタイルは「ふんわりスパルタ」。著書に『スッキリわかるJava入門』『スッキリわかるJava入門 実践編』『スッキリわかるSQL入門』(共著)、監修に『スッキリわかるサーブレット&JSP入門』『スッキリわかるPython入門』『スッキリわかるPythonによる機械学習』(以上、インプレス刊)がある。
目次
まえがき
dokoCの使い方
sukkiri.jpについて
本書の見方
chapter 0 ようこそC言語の世界へ
- 0.1 ようこそC言語の世界へ
- 0.2 はじめてのプログラミング
●第I部 基本構文
chapter 1 プログラムの書き方
- 1.1 C言語プログラムの基礎知識
- 1.2 C言語プログラムの基本構造
- 1.3 第1章のまとめ
- 1.4 練習問題
chapter 2 変数と型
- 2.1 変数宣言の文
- 2.2 代表的な型
- 2.3 初期化と定数
- 2.4 文字列の取り扱い
- 2.5 第2章のまとめ
- 2.6 練習問題
chapter 3 式と演算子
- 3.1 計算の文
- 3.2 オペランド
- 3.3 評価のしくみ
- 3.4 演算子
- 3.5 型の変換
- 3.6 命令実行の文
- 3.7 第3章のまとめ
- 3.8 練習問題
chapter 4 条件分岐と繰り返し
- 4.1 プログラムの流れ
- 4.2 ブロックの書き方
- 4.3 条件式の書き方
- 4.4 第4章のまとめ
- 4.5 練習問題
chapter 5 制御構文のバリエーション
- 5.1 分岐構文のバリエーション
- 5.2 繰り返し構文のバリエーション
- 5.3 制御構文の応用
- 5.4 第5章のまとめ
- 5.5 練習問題
●第II部 開発をより便利にする機能たち
chapter 6 構造体
- 6.1 実用的な開発に必要なもの
- 6.2 構造体とは
- 6.3 構造体の使い方
- 6.4 構造体宣言のテクニック
- 6.5 構造体の注意点
- 6.6 第6章のまとめ
- 6.7 練習問題
chapter 7 配列
- 7.1 配列とは
- 7.2 配列の準備
- 7.3 配列変数と要素の型
- 7.4 配列の使い方
- 7.5 配列の応用
- 7.6 配列の注意点
- 7.7 配列と文字列型
- 7.8 第7章のまとめ
- 7.9 練習問題
chapter 8 関数
- 8.1 関数とは
- 8.2 引数の利用
- 8.3 戻り値の利用
- 8.4 関数とスコープ
- 8.5 身近な関数たち
- 8.6 関数の活用と壁
- 8.7 第8章のまとめ
- 8.8 練習問題
●第III部 C言語の真の力を引き出そう
chapter 9 アドレスとポインタ
- 9.1 C言語だけが持つ特徴
- 9.2 メモリ
- 9.3 アドレスの取得
- 9.4 アドレスの解決
- 9.5 ポインタを使うメリット
- 9.6 第9章のまとめ
- 9.7 練習問題
chapter 10 メモリアクセスのからくり
- 10.1 逃げられない理由
- 10.2 3つのからくり構文
- 10.3 2つのメモリアクセス手段
- 10.4 自由なメモリアクセスの代償
- 10.5 メモリを扱う標準関数
- 10.6 ヒープの利用
- 10.7 第10章のまとめ
- 10.8 練習問題
chapter 11 文字列操作
- 11.1 文字列という「文化」
- 11.2 文字列リテラル
- 11.3 文字列の受け渡し手段
- 11.4 文字列の実現手段
- 11.5 文字列とオーバーラン
- 11.6 文字列を扱う標準関数
- 11.7 文字列の配列
- 11.8 第11章のまとめ
- 11.9 練習問題
chapter 12 パズルRPGの製作
- 12.1 「7つの約束」との別れ
- 12.2 製作の流れ
- 12.3 ゲームの基本仕様
- 12.4 パズルRPG製作課題
●第IV部 もっとC言語を使いこなそう
chapter 13 複数のファイルによる開発
- 13.1 開発効率の壁
- 13.2 C言語のビルドシステム
- 13.3 プリプロセッサ
- 13.4 マクロ処理
- 13.5 ソースコード分岐処理
- 13.6 コンパイラとリンカの仕事
- 13.7 ライブラリの利用
- 13.8 第13章のまとめ
- 13.9 練習問題
chapter 14 ファイル入出力
- 14.1 ファイルの種類
- 14.2 ファイルの読み書きの基本
- 14.3 1文字の読み書き
- 14.4 まとまった文字の読み書き
- 14.5 サイズ指定による読み書き
- 14.6 ランダムアクセス
- 14.7 ファイル自体の操作
- 14.8 第14章のまとめ
- 14.9 練習問題
chapter 15 ツールによる効率化と安全なコード
- 15.1 道具による効率化
- 15.2 シェルスクリプト
- 15.3 makeとMakefile
- 15.4 Doxygenの利用
- 15.5 テストと静的解析
- 15.6 第15章のまとめ
- 15.7 練習問題
chapter 16 まだまだ広がるC言語の世界
- 16.1 C言語の可能性
- 16.2 データベースの操作
- 16.3 ウィンドウアプリケーションの作成
- 16.4 インターネットへのアクセス
- 16.5 Webアプリケーションの作成
- 16.6 C言語を学び終えて
付録A ローカル開発環境のセットアップと利用
- A.1 C言語による開発に必要なツール
- A.2 開発環境コンテナのセットアップ
付録B エラー解決・虎の巻
- B.1 エラーとの上手なつき合い方
- B.2 トラブルシューティング
付録C C言語標準と処理系
- C.1 C言語の歴史
- C.2 C言語の標準規格
- C.3 標準規格による違い
- C.4 GCC(GNU Compiler Collection)
- C.5 Clang
- C.6 Visual C++
付録D 補講
- D.1 情報のビット表現と型
- D.2 ビット演算
- D.3 ポインタの応用
- D.4 文字の応用
- D.5 リスクを抱えた標準ライブラリ関数
- D.6 日付や時間の取り扱い
- D.7 スコープとリンケージ
- D.8 コンパイラと最適化
- D.9 組み込み開発
付録E クイックリファレンス
- E.1 代表的な構文
- E.2 予約語
- E.3 演算子
- E.4 定義済みマクロ
- E.5 標準ライブラリ関数
- E.6 標準ライブラリマクロ/標準ライブラリデータ型
- E.7 プレースホルダ
- E.8 エスケープシーケンス
- E.9 ディスプレイ制御シーケンス
- E.10 ASCII文字コード
付録 F パズルRPG製作のヒントと解答例
- F.1 ヒントと解答例