広告
↓発売日:2018年09月22日↓
新品価格 |
プログラムの中で変化する数(ゲームで言うなら主人公の体力とか、残り時間とか、敵の居場所とかとにかく変化する数はなんでもです!)を使う時は「変数(へんすう)」という入れ物を用意してそこで管理します。
使う時はわかりやすいように名前をつけます!プログラムを書く時と同じでキホンは半角でアルファベットで小文字です。
おにぎりだったら「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; }
「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; }
文字を使う時は「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; }
少し実行結果が違うかもしれません。これはコンパイラによって設定が違うためです。
コンピューターはすごい計算とかをできるのに最大とか最少?って思われた方いるかもしれません。
そうなんです、実はコンピューターが表せる数には限界があるのです。
調べたい時は先頭に「#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; }
さきほど紹介したように小数などは「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; }
二つの変数でも大丈夫です。お尻の変数「suji1」と「suji2」の順番に注意です。逆にすれば結果も逆になります。
/*四日目 プログラム6*/ #include <stdio.h> int main(){ int mikan = 100; int ringo = 150; printf("みかん一個%d円\nりんご一個%d円\n",mikan,ringo); return 0; }
書き方を簡単にできます!その他にも
int mikan,ringo;
という書き方や
int mikan = 100,ringo = 150;
のような書き方もできます!
変数の種類の事を「型」(かた)といいます。文字型、整数型など。
「int」←これ自体を宣言子(せんげんし)って言います。
「%d」←これ自体をフォーマット指定子(していし)って言います。
なんとなーく覚えましょう!
int main();
この「int」が気になった方いると思います。しかしこれは少し意味が違うので今はまだ触れずに行きましょう!
広告
↓発売日:2016年02月29日↓
12歳からはじめる ゼロからのC言語 ゲームプログラミング教室 新品価格 |
↓発売日:2018年06月22日↓
新品価格 |
↓発売日:2018年03月09日↓
新品価格 |
↓発売日:2017年06月14日↓
新品価格 |
↓発売日:2018年05月21日↓
新品価格 |
↓発売日:2017年12月07日↓
新品価格 |
↓発売日:2017年02月08日↓
新・明解C言語で学ぶアルゴリズムとデータ構造 (明解シリーズ) 新品価格 |
↓発売日:2017年09月26日↓
新品価格 |