画像(logo)

HOME/[C言語 入門]小学生でもわかるC言語 目次/四日目 変わる数「変数」!

広告

[C言語 入門 小学生でもわかるC言語]
四日目 変わる数「変数」!

広告

↓2016年02月29日発売↓

12歳からはじめる ゼロからのC言語 ゲームプログラミング教室

目次へ戻る

変わる数「変数」

いきなり聞いた事ない言葉です!たとえ話をまじえて解説したいと思います!落ち着いてゆっくりいきましょう!

たとえ話

コンビニに買い物に行きました!おにぎりが一個100円です!

1個買うと、お会計は
100×1=100
お会計 100円です!

5個買うと、お会計は
100×5=500
お会計 500円です!

3個買うと、お会計は
100×3=300
お会計 300円です!

?個買うと、お会計は・・・。

変わる数

たとえ話で、おにぎりを何個買うかでお会計が決まりますよね。

この?個の「?」の部分が変化することでお会計が決まるワケです。

変化・・・。

そうです!ここが変数になるワケです!ゲームで言うならヒットポイント(体力)も変化する数の1つですね!

変数を使ってみよう!

使う時は「?」じゃなくて、名前をつけます!プログラムを書く時と同じでキホンは半角でアルファベットで小文字です。

おにぎりだったら「onigiri」みたいに、自分が使いやすい名前で大丈夫です。C言語の命令と同じはダメです!

■こんなのが大丈夫です!■

・○一文字だけ・・・a b c d e

・○番号をつける・・・a1 a2 a3 a4 a5

・○日本語のローマ字・・・ringo mikan enpitu

・○途中にアンダーバー・・・no_1 no_2

■こんなのがダメです!■

・×数字だけ・・・1 2 3 4 5 6

・×数字が頭・・・1a 2a 3a 4a

・×日本語・・・りんご みかん えんぴつ

・×最初にアンダーバー・・・_no1 _no2

プログラミングしてみましょう!

/*四日目 プログラム1*/
#include <stdio.h>

int main(){

	int suji;

	suji = 100;

	printf("らっしゃい!\n今ならおにぎり一個%d円だよ!\n",suji);

	return 0;
}

■実行結果■

画像(cb_4_1)

■説明■

「int main()」の中の「int suji」に注目してください。

int suji;

変数を使う時は、この「int」(イント)を最初につけます。そして変数名をつけます。今回は「suji」が変数の名前です。

「数字を入れる変数「suji」を今から使います!」というのをコンピューターに伝えるワケです!

この事を「変数を宣言する」っていいます。変数を使う時は必ず「int main()」の最初に行います!

■初期化(しょきか)■

変数を宣言した後に必ず何かしらの値を変数に入れてあげるのがきまりになってます。これを初期化するっていいます。

suji = 100;

ここで初期化してます。もし入れる値が決まってない時は「suji = 0」のように「0」でも入れておきましょう!

■変数の内容を表示■

これはセットで覚えてください!

printf("%d",suji);

変数の内容を表示したい部分に「%d」、そしてお尻に表示したい変数名を書きます!ここだと「suji」ですね!

文字を入れる場合

変数なのに文字!?変文字!?とこんがらがっちゃうかもですが、ここは深くなやまずにいきましょう!

最初は一文字だけの使い方を覚えましょう!

/*四日目 プログラム2*/
#include <stdio.h>

int main(){
	char moji;
	
	moji = 'A';

	printf("私の血液型は%c型です!\n",moji);

	return 0;
}

■実行結果■

画像(cb_4_2)

■説明■

文字を使う時は「char」(キャラ)を最初につけます!数字の時は「int」文字の時は「char」ですね!

char moji;

同じように初期化もしなければいけません!

moji = 'A';

一文字初期化する場合はこの「'」シングルクォーテーションで囲むので注意です!使う文字が決まってない事はあんまりないと思いますが、その時は「'a'」とでも入れておきましょう!

変数の内容を表示

printf("%c",moji);

文字の場合は表示させたい場所に「%c」そして同じようにお尻にその変数名です!

文字を計算!?

文字なのに計算!?だなんて、ありえないですよね!しかしそれができるのです!試しにさっきのプログラムを少しいじってみましょう!

printf("私の血液型は%c型です!",moji + 1);

計算については後ほど計算の所で解説いたします。でてきた答えは・・・。

興味あれば試してみてください!

これを使ってタイピングゲームなんかを作ったりします。なんでこうなるか?は後半に解説いたします!

広告

小数とか大きい数とか

/*四日目 プログラム3*/
#include <stdio.h>
#include <limits.h>

int main(){
	int suji;
	float syousuu;

	suji = 2147483648;
	syousuu = 12.34f;

	printf("intの最大 = %d\n", INT_MAX);
	printf("intの最少 = %d\n", INT_MIN);
	printf("suji = %d\n", suji);
	printf("syousuu = %f\n", syousuu);
	
	return 0;
}

■実行結果■

画像(cb_4_3)

■説明■

少し実行結果が違うかもしれません。これはコンパイラによって設定が違うためです。

コンピューターはすごい計算とかをできるのに最大とか最少?って思われた方いるかもしれません。

そうなんです、実はコンピューターが表せる数には限界があるのです。

調べたい時は先頭に「#include <limits.h>」というのを加えて最大は「INT_MAX」最少は「INT_MIN」で調べられます。

この「INT_MAX」とか「INT_MIN」とかは変数とは少し違うものなのでとりあえずこのカタチのままで覚えましょう。

そしてそれを超えた数を入れた場合はどうなるかと言いますと実行結果のようにぐるっとまわって反対側から数えたような数になります。

小数を表す時は「float」、初期化など値を入れる時はお尻に「f」をつけます。

「%f」で表示します。

まだこの他にも表せる数はあるのですがここではプログラミングの考え方を学ぶという目的のためこれ以上の説明はいたしません。

もし興味ある方は「C言語 型」などでインターネット検索してみてください。

型キャスト

ここで型キャストというものについても軽く紹介しておきます。

変数の種類の事を「型」(かた)と言いまして、型キャストというのは無理やりその他の型に合わせるみたいな機能になります。

言葉だとわかりづらいと思いますのでとりあえずは次のプログラムをご覧ください。

/*四日目 プログラム4*/
#include <stdio.h>

int main(){
	float syousuu;

	syousuu = 12.34f;

	printf("syousuu = %f\n", syousuu);
	printf("(int)でキャストしてみます。\n");
	printf("syousuu = %d\n", (int)syousuu);

	return 0;
}

■実行結果■

画像(cb_4_4)

■説明■

さきほど紹介したように小数などは「float」というのを使って表します。

それに対して「int」は整数だけ表す事ができます。

ではその型キャストを使って「float」を無理やり「int」に合わせたらどうなるのでしょうか?

printf("syousuu = %d\n", (int)syousuu);

こちらの部分ですね。

「(int)syousuu」みたいに無理やり合わせたい型名を()カッコの中に入れて変数の頭につければ、「型キャスト」してくれます。

結果は小数の部分がなくなって、整数の部分だけになってしまいました。

無理やり型に合わせる「型キャスト」されたというワケです。

今のトコロはだからどうした?という話かもしれませんが、少しプログラムのレベルがあがるとこの「型に無理やり合わせる」という場面がしょっちゅう出てきたりなんかするので、その時にとまどわないように頭の片隅にでも置いといてください!

プログラミングしながら慣れましょう!

/*四日目 プログラム5*/
#include <stdio.h>

int main(){
	int suji1;
	int suji2;

	suji1 = 100;
	suji2 = 150;

	printf("みかん一個%d円\nりんご一個%d円\n",suji1,suji2);

	return 0;
}

■実行結果■

画像(cb_4_5)

■説明■

二つの変数でも大丈夫です。お尻の変数「suji1」と「suji2」の順番に注意です。逆にすれば結果も逆になります。

/*四日目 プログラム6*/
#include <stdio.h>

int main(){
	int mikan = 100;
	int ringo = 150;

	printf("みかん一個%d円\nりんご一個%d円\n",mikan,ringo);

	return 0;
}

■実行結果■

画像(cb_4_6)

■説明■

書き方を簡単にできます!その他にも

int mikan,ringo;

という書き方や

int mikan = 100,ringo = 150;

のような書き方もできます!

いちよう正しいお名前

変数の種類の事を「型」(かた)といいます。文字型、整数型など。

「int」←これ自体を宣言子(せんげんし)って言います。

「%d」←これ自体をフォーマット指定子(していし)って言います。

なんとなーく覚えましょう!

気になった所

int main();

この「int」が気になった方いると思います。しかしこれは少し意味が違うので今はまだ触れずに行きましょう!

次回

五日目 計算してみよう!

□ページの先頭へ□

□目次へ戻る□

□HOME□

広告

↓2017年06月16日発売↓

やさしいC 第5版 (「やさしい」シリーズ)

新品価格
¥2,700から
(2017/5/1 13:05時点)

↓2014年08月09日発売↓

新・明解C言語 入門編 (明解シリーズ)

新品価格
¥2,484から
(2017/5/1 13:08時点)

↓2016年02月20日発売↓

新・解きながら学ぶC言語

新品価格
¥2,160から
(2017/5/1 13:10時点)

↓2017年02月11日発売↓

C言語プログラミング基本例題88 88

新品価格
¥3,024から
(2017/5/1 13:12時点)

↓2016年12月15日発売↓

Cの絵本 第2版 C言語が好きになる新しい9つの扉

新品価格
¥1,490から
(2017/5/1 13:13時点)

↓2017年02月08日発売↓

新・明解C言語で学ぶアルゴリズムとデータ構造 (明解シリーズ)

新品価格
¥2,700から
(2017/5/1 13:15時点)