基礎C言語[入門編]
―コンピュータの基本から理解するプログラミング

書籍の概要

この本の概要

本書の特徴は,コンピュータの基本的な構造を知ることにあります。それから手続き型や流れ図など,(残念なことに)省いてしまうことがある必須知識をおさえてから,実際にCプログラミングの学習を始めます。とりこぼしなく理解のレベルを確実に上げていくことで,将来にわたり成長していくプログラミング能力を養います。各章ごとに「まとめ」と「確認問題」を用意しましたので,学習計画を容易です。理解の進捗に合わせ,C言語をしっかりと学んでいくことができるでしょう。

こんな方におすすめ

  • C言語プログラミング初心者

著者の一言

本書では,プログラミングにおける基本的な考え方,プログラミング言語としてC言語を用い,その基礎,および,いくつかの有名な処理手順(アルゴリズム)を,ご案内します。取り上げる事項は基本的なものに絞り,説明は丁寧に,かつ平易であることを心がけました。入門書という性格上,本書1冊でプログラミングのすべてを習得できるわけではありません。しかし,本書の後,みなさんが望めば,その先のステップに抵抗なく進めるはずと信じています。

補足

プログラミングは,テキストを読むだけでは習得・上達はできません。ぜひ,実際に手を動かしてください。本文中に掲げられたプログラムを実行してみてください。課題としてプログラムの書き換え・作成も用意したので,ぜひ取り組んでください。課題の解答は,解説とともにWebの本書サポートページにPDFとしてご用意しています。学習にお役立てください。

本書のサンプル

本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。

サンプル画像1

サンプル画像2

サンプル画像3

サンプル画像4

サンプル画像5

目次

第1章 コンピュータと情報処理

  • 1.1 コンピュータは「すごい」のか
  • 1.2 コンピュータを「使う」
  • 1.3 コンピュータを調教する方法
  • 1.4 コンピュータのことば
  • 1.5 手続き型言語あれこれ
  • 1.6 コンピュータのなかみ
  • 1.7 コンピュータはこう動く
  • 1.8 プログラムを書く・実行する
  • 1.9 プログラムが動くまでの道のり

第2章 手続きの記述と流れ図

  • 2.1 処理の手順を図で表す
  • 2.2 判断と分岐(1)
  • 2.3 判断と分岐(2)
  • 2.4 繰り返し(1)
  • 2.5 繰り返し(2)
  • 2.6 繰り返し(3)
  • 2.7 プログラムの流れ図(1)
  • 2.8 プログラムの流れ図(2)
  • 2.9 プログラムの流れ図(3)
  • 2.10 簡単なアルゴリズム:4数の最大値
  • 2.11 簡単なアルゴリズム:偶数の和
  • 2.12 簡単なアルゴリズム:階級分け
  • 2.13 トップダウンとボトムアップ

第3章 C言語プログラム入門

  • 3.1 はじめてのC言語プログラム
  • 3.2 文字を出力させるプログラム
  • 3.3 変数を使ってみる
  • 3.4 式と演算(1)
  • 3.5 式と演算(2)
  • 3.6 入力:おうむ返しのプログラム
  • 3.7 C言語プログラムの書き方の掟おきて

第4章 流れの制御

  • 4.1 条件分岐:if文(1)
  • 4.2 条件分岐:if文(2)
  • 4.3 条件分岐:if文(3)
  • 4.4 前判定型繰り返し:whileループ
  • 4.5 後判定型繰り返し:do
  • 4.6 whileループとdo
  • 4.7 代入演算子と増分・減分演算子
  • 4.8 forループ(1)
  • 4.9 forループ(2)
  • 4.10 繰り返しを用いたプログラム(1)
  • 4.11 繰り返しを用いたプログラム(2)

第5章  整数型と浮動小数点型

  • 5.1 整数型と浮動小数点型(1)
  • 5.2 整数型と浮動小数点型(2)

第6章 配列変数

  • 6.1 配列変数(1)
  • 6.2 配列変数(2)
  • 6.3 配列を用いたプログラム:平均と偏差
  • 6.4 配列を用いたプログラム:ヒストグラム
  • 6.5 配列を用いたプログラム:参照テーブル
  • 6.6 真偽と論理演算子
  • 6.7 #defineと記号定数
  • 6.8 2次元配列

第7章 C言語によるアルゴリズム

  • 7.1 線形探索アルゴリズム
  • 7.2 二分探索アルゴリズム
  • 7.3 整列アルゴリズム:選択ソート
  • 7.4 整列アルゴリズム:挿入ソート
  • 7.5 整列アルゴリズム:バブルソート

第8章 関数

  • 8.1 関数とは
  • 8.2 関数を使う
  • 8.3 関数の定義(1)
  • 8.4 関数の定義(2)
  • 8.5 作成した関数を呼び出す
  • 8.6 C言語と関数
  • 8.7 値呼び出しと参照呼び出し
  • 8.8 関数を用いたプログラム:組み合わせの数
  • 8.9 関数に配列を渡す(1)
  • 8.10 関数に配列を渡す(2)
  • 8.11 変数の寿命と通用範囲
  • 8.12 局所変数と広域変数
  • 8.13 関数を用いたプログラム:売り上げの集計
  • 8.14 static記憶クラス

著者プロフィール

牛田啓太(うしだけいた)

1977年,群馬県生まれ。2000年,東京大学工学部電子情報工学科卒業。2005年,東京大学大学院情報理工学系研究科電子情報学専攻博士課程修了。
群馬工業高等専門学校電子情報工学科講師を経て,現在,工学院大学情報学部情報通信工学科准教授。
著書に『HTML 4.0正攻法』(共著)など。博士(情報理工学)。