280 likes | 350 Views
第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~. 変数 に ついて知ったり、文字を打ち込んだりするよ. 前回やったこと. VC++ の簡単な使い方 プロジェクト ってものを作成しました プログラムは 関数 が集まってできている 「何もしないプログラム」 をつくった printf を使って文章が表示できる. 今日の予定. 変数とは? 変数とはどんなものなのか? 変数 の宣言と値の決め方 計算ついてのあれこれ 文字の入力の仕方. 変数 と は? ( 1 ). 変数 と は、簡単に言うと・・・
E N D
第2章プログラミングっぽくなってきた~文字の入力scanf~第2章プログラミングっぽくなってきた~文字の入力scanf~ 変数について知ったり、文字を打ち込んだりするよ 第2章 文字の入力
前回やったこと • VC++ の簡単な使い方 • プロジェクトってものを作成しました • プログラムは関数が集まってできている • 「何もしないプログラム」をつくった • printfを使って文章が表示できる 第2章 文字の入力
今日の予定 • 変数とは? • 変数とはどんなものなのか? • 変数の宣言と値の決め方 • 計算ついてのあれこれ • 文字の入力の仕方 第2章 文字の入力
変数とは?(1) • 変数とは、簡単に言うと・・・ 何かしらの数値(など)を入れる箱のようなもの • 箱の大きさや、中に何を入れられるのかは箱の種類によって違い、そのあたりは自分で決めることができるよ 例によって、数学の変数ともちょっと違うので注意してね 第2章 文字の入力
変数とは?(2) • 変数はまず、どんな種類の箱か、どんな名前の箱なのかを定義してから使う • 箱の種類と名前を決めることを宣言という • 例: これは intという種類の変数 numを定義しましたよ、という意味 intnum; 第2章 文字の入力
変数とは?(3) • int型の変数は整数の数値(など)を中に入れることができる • 下のようにすると変数の箱の中に数値を入れられるよ 他にも、いきなりこうしてもいいよ ⇒ intnum; num = 3; intnum = 3; 第2章 文字の入力
変数とは?(4) • それでは、printfの復習も兼ねて、ひとまず下のプログラムを打ち込んで、実行(Ctrl + F5)してみよう #include <stdio.h> void main(){ intnum; num = 3; printf(“numの値は%dです\n”,num); } 第2章 文字の入力
変数とは?(5) • これが実行結果 • 他にも、変数には計算した値も入れることができる これだと numには 5 が入ることになる intnum; num = 2 + 3 ; 第2章 文字の入力
変数について(6) • 変数は自分で、いくつ作ってもOK! • 変数の箱の大きさや種類によっては、入れることができない値があるから注意!! ex) ってのはできない • 自分でわかりやすい変数名にしよう! • 変数に変数(に入った値)を入れることもできる ex) intnanzan = 3.14; intnanzan = 3; int mmc = nanzan; 第2章 文字の入力
計算について(1) • 今まで、何気なく『+』や『=』を使ってきたが、プログラミングにおける計算の記号は、数学での使い方とちょっと違う(そーなのかー) = + イコールではなく、代入 「右の値を左の変数に入れる」という意味 ゆえに、『num = num + 5;』というのができる 加法、足し算である 『num = 5 + 3;』なら、numに8(5+3の結果) を代入している 第2章 文字の入力
計算について(2) - * / % 減法、引き算ですね 『-num 』ってすると変数の値の符号が変わるよ これは乗算、掛け算 半角英数には×がない 除算、割り算のこと 整数だけの計算だと、余りは切り捨てられるよ 余剰、割った時の余りのこと 例えば『num = 7 % 3;』だと、numに1(7÷3 の余り)を代入しているよ 第2章 文字の入力
計算について(3) • これらを踏まえ、以下のプログラムを実行 #include <stdio.h> void main(){ intnum= 3; printf(“numの値は%dです\n”,num); printf(“%dの2倍は%dです\n”,num, num * 2); num = 8; printf(“numの値は%dに変わりました\n”,num); printf(“%dの半分は%dです\n”,num, num / 2); printf(“9を2で割った余りは%dです\n”,9 % 2); } ちょっと長い けど、 あせらないで 第2章 文字の入力
計算について(4) • でもって、これが実行結果 • このように一度 『 num = 3; 』 としてから、 『 num = 8; 』と 変数の中身を上書き することができる あと計算の順序は数学と似た ように、掛け算、割り算、余り 計算のほうが先になるよ 第2章 文字の入力
練習問題 • 下の実行結果と同じになるように、変数aに25、bに3を代入して、プログラムを作ろう • ただし、printf内に %dを2個以上使ってね 第2章 文字の入力
練習問題 回答例 #include <stdio.h> void main(){ int a, b; ← ココのこと a = 25; b = 3; printf(“%d ÷ %d = %d 余り %d”, a, b, a/b, a%b); } • 上のように、同じ int型なら『 , 』で区切って、一行で同時に変数を定義することもできるよ 第2章 文字の入力
文字の入力(1) • 今まではプログラム上で色々な値を決めてきたけど、今度はプログラムを実行した後で値や文字を決める方法をやってみよう • 今回は scanf という関数を使うよ 読み方は「すきゃんえふ」です 第2章 文字の入力
文字の入力(2) intnum; scanf(“%d”,&num); • 使い方 • 上のように、まず変数を宣言してから、scanfの記述を書く • 『&』を忘れがちなので、気をつけて • 今回は整数を入力するので、『” “』内は『%d』に 第2章 文字の入力
文字の入力(3) • 実際に以下のプログラムを実行してみよう #include <stdio.h> void main(){ intnum; printf(“数値を入力してください > ”); scanf(“%d”,&num); printf(“%d ×5 = %d\n”,num, num * 5); } 第2章 文字の入力
文字の入力(4) • 実行結果例はこちら • これでわかるのは、scanf関数は、『&』の後ろの変数に、プログラム実行後に入力した値を代入(入れている)しているということだ scanf(“%d”,&num); 第2章 文字の入力
練習問題1 • 下の実行結果と同じように表示されるよう、プログラムを書いてみよう 第2章 文字の入力
練習問題1 回答例 #include <stdio.h> void main(){ inta,b; printf("数値を入力してください\n"); printf("a > ");scanf("%d",&a); printf("b > ");scanf("%d",&b); printf("%d + %d = %d\n", a, b, a+b); printf("%d - %d = %d\n", a, b, a-b); printf("%d × %d = %d\n", a, b, a*b); printf("%d ÷ %d = %d 余り %d\n", a, b, a/b, a%b); } 第2章 文字の入力
練習問題2 • Aさんが分速100mで北へ歩いているとして、今ちょうどBという地点にいるとする • Aさんが何分後に何m、B地点から北上しているかを計算するプログラムをつくってみよう • 入力を促す文章や、変数の名前とかは各自で好きなように決めていいよ 第2章 文字の入力
練習問題2 回答例 • ほんの一例 ちょっと細かい けど許してね #include <stdio.h> void main(){ intnum; printf(“こんなに月が紅いから、数値を入力してね\n”); printf(“何分後の位置が知りたい? > ”); scanf(“%d”,&num); printf(“Aの位置はBから%dメートル北よ\n”,num * 100); } 第2章 文字の入力
次回予告 • 条件による分岐の方法 • 重要な構文 ifと switch文の登場 • これに合わせて、trueと falseのことも説明 • これが分かれば、簡単なゲーム(みたいなもの)は作れてしまう! 第2章 文字の入力
おまけ(1) • 今まで特に説明してこなかったけど、この って何なんでしょう? • 実はこの <stdio.h> というのはヘッダファイルと呼ばれるものなんだ #include <stdio.h> 第2章 文字の入力
おまけ(2) • ヘッダファイルの中には、たくさんの種類の関数(など)が入っている • 使いたい関数(など)は、その都度プロジェクト上で展開(参照文献に近い?)しておかないと使えない • この展開するという行程が #include なんだ この認識が間違ってないといいんであるが・・・ 第2章 文字の入力
おまけ(3) #include <stdio.h> • つまりこれは、このプロジェクトでは <stdio.h> の中の関数を使いますよ、というサイン(printfも 変数を使うことも<stdio.h>) • ヘッダファイルによって、入ってる関数が違う • 展開は原則プログラムの最初に記述しよう おまけおしまい 第2章 文字の入力
テンプレ • テンプレ 第2章 文字の入力