目次第 1 分冊

学習のねらい ............................................................................ 1第1週

コンピュータとデータ ................................................................... 3

1.1

コンピュータの中のできごと ................................................................... 4
1.1.1

コンピュータってなに？ ...................................................................................... 4

1.1.2

キーボードから結果が画面に表示されるまで ........................................................ 5

1.2

データって何？ ....................................................................................................... 7
1.2.1

コンピュータの中で扱われるものとは .................................................................. 7

1.2.2

進数と進数変換 ................................................................................................... 9

1.2.3

C 言語で扱われるデータとは .............................................................................131.3

C 言語プログラム .................................................................................. 17『まとめと練習問題』................................................................................. 25
第2週

データの取扱いと計算 ................................................................. 272.1

データの取扱い ..................................................................................... 282.1.1

変数と定数 ........................................................................................................282.1.2

数値の特性 ........................................................................................................342.2

データの計算......................................................................................... 402.3

データ型の変換方法............................................................................... 512.3.1

単純代入による変換 ..........................................................................................512.3.2

キャストによる変換 ..........................................................................................51

2.3.3

データ変換を行う際の注意事項 ..........................................................................52『まとめと練習問題』................................................................................. 54第3週

配列とアドレスとポインタ............................................................ 55

3.1

データの配列......................................................................................... 56
3.1.1

配列の作成 ........................................................................................................563.2

データのアドレス .................................................................................. 59

3.3

データのポインタ .................................................................................. 62『まとめと練習問題』................................................................................. 65〜i〜第4週

データの多次元配列とアドレス・ポインタの使用 .............................. 67

4.1

2 次元以上の配列 .................................................................................. 68

4.2

アドレスとポインタの特別な使い方 ....................................................... 70
4.2.1

ポインタ変数の設定 ..........................................................................................70

4.2.3

ポインタの移動 .................................................................................................72

4.2.4

ポインタの配列 .................................................................................................74『まとめと練習問題』................................................................................. 76
基礎用語................................................................................................ 78
コーヒーブレイク .................................................................................... 83
関数リファレンス .................................................................................... 87
参考・引用文献 ....................................................................................... 89
練習問題の解答 ....................................................................................... 90
索

引................................................................................................... 94〜 ii 〜

第1週

コンピュータとデータ【学習のポイント】
プログラムを作るためには，それが動作する仕組みを知っておくことが重要です。
プログラムはデータをどう処理するか，どう加工するかという方法をコンピュータに命令するものです。
この週ではデータを中心に，コンピュータ，プログラム，データの相互関係について理解を深めていきます。また，コンピュータの基本である，ビットと各進数計算についても学習します。週の最後には，C 言語プログラムの作り方も学習しますので，少しでもプログラムに慣れていただきたいと思います。

〜3〜

第1週

コンピュータとデータのように切符を印刷するか，そして余るお金はいくらかを計算し，切符を印刷するプ
リンタに金額などの情報を，そして返却機に返却額などの情報を送ります。
これを先ほどの説明に合わせると，スイッチや硬貨投入部が入力部。接続されているコンピュータが制御部。そして，切符の印刷機や紙幣・硬貨の返却機が出力部になります。
私達の身のまわりにあるほかの機械でも同じ事がいえます。飲料水の自動販売機やコンビニのレジスタそして電卓なども。
このように，コンピュータは与えられた情報をプログラムに渡し，プログラムが処理した結果を他の出力機器に渡す機械です。つまり，プログラムなしにはコンピュータは何も動作することができないのです。
プログラムもコンピュータと同じような構成で作成されています。すなわち，データを受け取る部分，データを処理する部分，処理した結果を出力する部分の 3 構成が基本構成になります。プログラムを一度でも作ってみれば当たり前のことなのですが，プログラムを設計する際，この基本要素がしっかり頭に入っていないと，矛盾したプログラムができてしまいます。
また，各入出力機器やコンピュータ本体もプログラムによって制御されています。
では，次にコンピュータの動きを，キーボードで入力した文字が画面に表示されるまでの動作でみてみることにします。

1.1.2

キーボードから結果が画面に表示されるまで私達がワード等の文書編集ソフトウェアで文章を編集するとき，キーボードで押されたキーの内容がモニター上に表示されますが，どういう仕組みでこのようなことが起こるのでしょうか？
図 1.2 のように，キーボードの「A」というキーが押されると，コンピュータにどのキーがどう押されたかなどのキー情報が送られます。情報を受け取ったコンピュータのキーボード情報を解析・処理するプログラムは，ワードなどのアプリケーションに「A」が押されましたという情報を送ります。
アプリケーションは “「A」という文字を表示しなさい ” という命令をディスプレイカードと呼ばれる，モニターを制御しているプログラムに出力します。するとそのプログラ
ムは「A」という文字をモニター上に表示するというわけです（実際はもっと複雑ですが）。
〜5〜

第1週

1.2

データって何？

1.2.1

コンピュータの中で扱われるものとはコンピュータとデータコンピュータ内部で扱われているものには，大きく分けてプログラムとデータがあります。プログラムは OS（オペレーティングシステム）によって制御され，データを計算したり，他のプログラムにデータを渡したりします。
（1）プログラムコンピュータ上で動作するプログラムは，すべてマシン語（機械語）になっています。
マシン語は直接コンピュータに命令できる言語ですが，その中は 16 進数コードのかたまりです。コンピュータのほとんどが ON と OFF の 2 進数で処理されますが，いろいろな理由から便宣的に 16 進数が使われます。しかし，人間には直接コンピュータが理解できるように記述するマシン語で大きなプログラムを作ることは困難です。このため，比較的人間にわかりやすい C 言語など各種プログラム言語を使い，プログラムを作るのです。
ここで，コンピュータの命令について簡単に触れておきます。
命令は，オペランドと命令コードによって構成されています。オペランドは，1 つまたは複数（場合によってはない）のもので構成され，その内容は命令コードによって定められています。また，命令コードはコンピュータによって違い，数十から数百以上のコードがあります。
命令命令コード

図 1.3

オペランド命令

この命令コードを大きく分けると，①データ転送命令： レジスタと記憶装置間，あるいは，レジスタ間でのデータ転送を行う。
②算術演算命令：数値データの算術演算（加算・減算・乗算・除算）を行う。

③論理演算命令：論理演算やシフト（桁移動），比較などを行う。

④制御命令：プログラムの実行順序（分岐や停止など）を変える。
〜7〜