C言語完全入門 PartⅡ

PartⅡ データをまとめて扱おう

ばらばらのデータをひとつにまとめて、読みやすいプログラムを作ろう。

PartⅡでは、複数の値をまとめる配列から始まり、文字列、関数、変数の有効範囲、構造体、列挙型へと学習を進めます。扱うデータや処理が増えてくると、すべてを一か所に書いたプログラムは少しずつ分かりにくくなります。そこで必要になるのが、データと処理を目的ごとに整理する考え方です。

C言語特有の文字列の仕組みやナル文字についても、配列との関係から丁寧に学びます。関数では、大きな処理を小さく分け、必要な場所から繰り返し利用する方法を身につけます。さらに、構造体を使って関連する情報をひとまとめにすれば、人や商品などの情報をプログラム上で表現できるようになります。

プログラムが少し長くなっても迷わないように、データと処理を読みやすく整理する力を育てていきましょう。

第6章 配列を使おう

第6章では、同じ種類のデータをまとめて保存できる配列を学びます。配列の宣言や初期化、添字を使った要素の取り出し方を確認し、for文と組み合わせて複数の値を効率よく処理します。合計、最大値、最小値を求めるプログラムにも挑戦します。添字が0から始まることや範囲外アクセスの危険性、表のようなデータを扱える2次元配列についても学び、安全に配列を利用するための基本を身につけましょう。

第7章 文字と文字列を扱おう

第7章では、C言語における文字と文字列の仕組みを学びます。C言語には専用の文字列型がなく、char型の配列とナル文字 \0 を使って文字列を表現します。fgetsによる安全な入力方法や、入力された文字列から改行文字を取り除く方法も確認します。さらに、strlen、strcpy、strcat、strcmp、strncmpを使い、文字列の長さの取得、コピー、連結、比較ができるようになりましょう。

第8章 関数を使ってプログラムを整理しよう

第8章では、まとまった処理に名前を付けて再利用できる関数を学びます。関数の定義と呼び出しから始め、引数、戻り値、return、void、関数プロトタイプ宣言の役割を確認します。配列を関数へ渡す方法や、複数の関数を組み合わせる方法にも取り組みます。大きな処理を役割ごとの小さな関数に分けることで、プログラムが読みやすくなり、修正や動作確認もしやすくなることを体験しましょう。

第9章 変数の有効範囲を理解しよう

第9章では、変数を利用できる場所を表すスコープと、変数がメモリ上に存在する期間を表す寿命について学びます。ローカル変数とグローバル変数の違いを確認し、同じ名前の変数がある場合の動きや、staticを付けた変数の特徴も取り上げます。グローバル変数は便利ですが、使いすぎるとプログラム全体の流れが分かりにくくなります。関数と変数を適切に整理し、読みやすいプログラムを作る考え方を身につけましょう。

第10章 構造体と列挙型を使おう

第10章では、名前や年齢など、種類の異なる複数のデータをひとまとめにできる構造体を学びます。structによる型の定義、構造体変数の作成、メンバーへのアクセス、初期化、構造体の配列、関数への受け渡しを順番に確認します。さらに、typedefを使って型名を分かりやすくする方法や、決められた選択肢を表現できる列挙型 enum も学びます。人、商品、記録などの情報をプログラムで扱うための基礎を作りましょう。