どうも、サンチョです!
前回までは数値を扱う変数を学びましたね。
今回は「文字を扱う変数」に触れていきましょう。
前回の練習問題の解答例
まずは前回は最後に出した練習問題の解答例です。
【問1】の答えは以下のとおりです。
① 5行目にてdouble型にint型の式の結果を代入しているため、小数点以下の値が失われている。
② 6行目のprintf関数にて、double型を表示するための変換指定子が「%d」になっているため、実数が表示されない。
【問2】の答えは以下の通りです。
・5行目の式をdoubleでキャストする。
・6行目の変換指定子を「%f」にする。
#include<stdio.h>
int main() {
int num1 = 1500;
int num2 = 2000;
double percent = (double) num1 / num2;
printf("%dは%dの%0.2f%%です。\n", num1, num2, percent);
}
いかがだったでしょうか?まだまだ簡単でしたかね?
では、解答例の解説はここまでにして、ここからいよいよ本題に入ります!
配列とは
配列とは、同じ型の変数を、複数まとめて扱うことのできる仕組みです。
1クラスに30人の生徒がいる学校を思い浮かべてください。
そのクラスのテストの成績を管理するプログラムを作る場合、
配列を使わなければ変数が30人分も必要になってしまいます。
これだと大変ですよね?
しかし配列を使えば、1つの変数で30人分の情報を管理できるのです!
まずは動かしてみよう
色々と仕組みを説明されても意味が分からないと思います。
まずは下記のプログラムをコピペして実行してみてください。
順を追って説明していきます。
#include<stdio.h>
int main() {
int array[3];
array[0] = 1;
array[1] = 2;
array[2] = 3;
printf("array[0]の値=%d\n", array[0]);
printf("array[1]の値=%d\n", array[1]);
printf("array[2]の値=%d\n", array[2]);
}
配列の宣言の仕方
先ほどのプログラムの3行目に書かれていたのが配列の宣言です。
int array[3];
何となく察しがついている方も多いかもしれませんが、配列を宣言する際は次のようなルールで書きます。
データ型 配列名[要素数];
配列の宣言時に初期値を代入したい場合は、次のような書き方になります。
データ型 配列名[要素数] = {値, 値, 値・・・};
配列の要素数と要素番号
先ほどのプログラムの4行目のarray[0]を見たとき、あなたはどう感じましたか?
私は初めて配列に触れたとき「(・3・)あるぇ~?」と思いました。
実はここ、初心者がとってもつまづきやすいポイントなんですよね…
というワケでもう少し丁寧に説明します。
配列の要素数とは
要素数とは配列宣言時に設定した数値です。
先ほどのプログラムで言うと array[3] の 3 の部分です。
配列はここに設定された数だけ要素を持ちます。
配列をマンションに見立てると要素数は部屋数のことですね。
配列の要素番号とは
配列の要素に割り当てられた番号のことです。
配列をマンションに見立てると要素番号は部屋番号です。
それぞれの要素に値を代入したり、取り出したりしたいときは要素番号を指定します。
その際は、配列の要素番号は 0 から始まるという点に注意する必要があります。
まとめると
つまり「int array[3];」という形で配列を宣言するということは、
「0~2までの3つの要素をもつarrayという名の配列」を宣言しているということです。
ちょっと分かりにくい部分なので、プログラムと一緒にみてみましょう。
#include<stdio.h>
int main() {
int array[3]; // 0~2までの3つの要素をもつarrayという配列を宣言
array[0] = 1; // arrayの要素番号「0」に数値の「1」を代入
array[1] = 2; // arrayの要素番号「1」に数値の「2」を代入
array[2] = 3; // arrayの要素番号「2」に数値の「3」を代入
printf("array[0]の値=%d\n", array[0]); // arrayの要素番号「0」が持つ値を表示
printf("array[1]の値=%d\n", array[1]); // arrayの要素番号「1」が持つ値を表示
printf("array[2]の値=%d\n", array[2]); // arrayの要素番号「2」が持つ値を表示
}
練習問題
【問1】
生徒5名がテストを受けたところ、それぞれ以下の点数となりました。
この5名の平均点を表示するプログラムを作成してください。
尚、平均点を表示する際は小数点以下第二位まで表示してください。
【各生徒の点数】
1人目の点数:92点
2人目の点数:83点
3人目の点数:71点
4人目の点数:40点
5人目の点数:57点
まとめ
今回は「配列」について学びました。
ここから少しずつ難しくなっていきますので、
疲れたときはゆっくり休んでくださいね!
焦らず、1つずつゆっくり学んでいきましょう。
お疲れ様でした!
コメント