第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

28
第2第 第第第第第第第第第第第第第第第 第第第第第 scanf 変変変変変変変変変変 変変変変変変変変変変変変 変2変 変変変変変 1

description

第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~. 変数 に ついて知ったり、文字を打ち込んだりするよ. 前回やったこと. VC++ の簡単な使い方 プロジェクト ってものを作成しました プログラムは 関数 が集まってできている 「何もしないプログラム」 をつくった printf を使って文章が表示できる. 今日の予定. 変数とは? 変数とはどんなものなのか? 変数 の宣言と値の決め方 計算ついてのあれこれ 文字の入力の仕方. 変数 と は? ( 1 ). 変数 と は、簡単に言うと・・・ - PowerPoint PPT Presentation

Transcript of 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

Page 1: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

第 2 章プログラミングっぽくなってきた

~文字の入力 scanf ~変数について知ったり、文字を打ち込んだりす

るよ

第 2  章 文字の入力 1

Page 2: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

VC++ の簡単な使い方プロジェクトってものを作成しました

プログラムは関数が集まってできている

「何もしないプログラム」をつくった

printf を使って文章が表示できる

第 2  章 文字の入力 2

前回やったこと

Page 3: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

変数とは?変数とはどんなものなのか?変数の宣言と値の決め方

計算ついてのあれこれ

文字の入力の仕方

第 2  章 文字の入力 3

今日の予定

Page 4: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

変数とは、簡単に言うと・・・

 何かしらの数値 (など )を入れる箱のようなもの

箱の大きさや、中に何を入れられるのかは箱の種類によって違い、そのあたりは自分で決めることができるよ

例によって、数学の変数ともちょっと違うので注意してね

第 2  章 文字の入力 4

変数とは? (1)

Page 5: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

変数はまず、どんな種類の箱か、どんな名前の箱なのかを定義してから使う

箱の種類と名前を決めることを宣言という

例 :

これは int という種類の変数 num を定義しましたよ、という意味

第 2  章 文字の入力 5

変数とは? (2)

int num;

Page 6: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

int 型の変数は整数の数値 (など )を中に入れることができる

下のようにすると変数の箱の中に数値を入れられるよ

他にも、いきなりこうしてもいいよ⇒

第 2  章 文字の入力 6

変数とは? (3)

int num;

num = 3;

 int num = 3; 

Page 7: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

それでは、 printf の復習も兼ねて、ひとまず下のプログラムを打ち込んで、実行 (Ctrl + F5)してみよう

第 2  章 文字の入力 7

変数とは? (4)

#include <stdio.h>

void main(){int num;num = 3;printf(“numの値は%dです \n”,num);

} 

Page 8: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

これが実行結果

他にも、変数には計算した値も入れることができる

これだと num には 5 が入ることになる

第 2  章 文字の入力 8

変数とは? (5)

int num;num = 2 + 3 ;

Page 9: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

変数は自分で、いくつ作っても OK!

変数の箱の大きさや種類によっては、入れることができない値があるから注意!!

ex)    ってのはできない

自分でわかりやすい変数名にしよう!

変数に変数 (に入った値 )を入れることもできる

   ex) 第 2  章 文字の入力 9

変数について (6)

int nanzan = 3.14;

int nanzan = 3;int mmc = nanzan;

Page 10: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

今まで、何気なく『+』や『=』を使ってきたが、プログラミングにおける計算の記号は、数学での使い方とちょっと違う (そーなのかー )

=

+第 2  章 文字の入力 10

計算について (1)

イコールではなく、代入「右の値を左の変数に入れる」という意味ゆえに、『 num = num + 5;』というのができる

加法、足し算である『 num = 5 + 3;』なら、 num に 8(5+3の結果 )を代入している

Page 11: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

-

*

/

%第 2  章 文字の入力 11

計算について (2)

減法、引き算ですね『 -num 』ってすると変数の値の符号が変わるよ

これは乗算、掛け算半角英数には×がない

除算、割り算のこと整数だけの計算だと、余りは切り捨てられるよ

余剰、割った時の余りのこと例えば『 num = 7 % 3;』だと、 num に 1(7÷3

の余り )を代入しているよ

Page 12: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

これらを踏まえ、以下のプログラムを実行

第 2  章 文字の入力 12

計算について (3)

#include <stdio.h> void main(){

int num = 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);}

ちょっと長いけど、あせらないで

Page 13: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

でもって、これが実行結果

このように一度 『 num = 3; 』 としてから、 『 num = 8; 』と 変数の中身を上書き することができる

第 2  章 文字の入力 13

計算について (4)

あと計算の順序は数学と似たように、掛け算、割り算、余り計算のほうが先になるよ

Page 14: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

下の実行結果と同じになるように、変数 aに25、 bに 3を代入して、プログラムを作ろう

ただし、 printf 内に %d を 2個以上使ってね

第 2  章 文字の入力 14

練習問題

Page 15: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

上のように、同じ int 型なら『 , 』で区切って、一行で同時に変数を定義することもできるよ

第 2  章 文字の入力 15

練習問題 回答例#include <stdio.h>void main(){

int a, b; ← ココのことa = 25;b = 3;

printf(“%d ÷ %d = %d 余り %d”, a, b, a/b, a%b);}

Page 16: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

今まではプログラム上で色々な値を決めてきたけど、今度はプログラムを実行した後で値や文字を決める方法をやってみよう

今回は scanf という関数を使うよ

読み方は「すきゃんえふ」です

第 2  章 文字の入力 16

文字の入力 (1)

Page 17: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

使い方上のように、まず変数を宣言してから、 scanf の記

述を書く

『 &』を忘れがちなので、気をつけて

今回は整数を入力するので、『” “』内は『%d』に

第 2  章 文字の入力 17

文字の入力 (2)

int num;

scanf(“%d”,&num);

Page 18: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

実際に以下のプログラムを実行してみよう

第 2  章 文字の入力 18

文字の入力 (3)

#include <stdio.h>void main(){

int num;

printf(“数値を入力してください > ”);

scanf(“%d”,&num);

printf(“%d × 5 = %d\n”,num, num * 5);}

Page 19: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

実行結果例はこちら

これでわかるのは、 scanf 関数は、『 &』の後ろの変数に、プログラム実行後に入力した値を代入 (入れている )しているということだ

第 2  章 文字の入力 19

文字の入力 (4)

scanf(“%d”,&num);

Page 20: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

下の実行結果と同じように表示されるよう、プログラムを書いてみよう

第 2  章 文字の入力 20

練習問題 1

Page 21: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

第 2  章 文字の入力 21

練習問題 1 回答例

#include <stdio.h>void main(){

int a,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);

}

Page 22: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

Aさんが分速 100mで北へ歩いているとして、今ちょうど Bという地点にいるとする

Aさんが何分後に何m、 B地点から北上しているかを計算するプログラムをつくってみよう

入力を促す文章や、変数の名前とかは各自で好きなように決めていいよ

第 2  章 文字の入力 22

練習問題 2

Page 23: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

ほんの一例

ちょっと細かいけど許してね

第 2  章 文字の入力 23

練習問題 2 回答例

#include <stdio.h>void main(){

int num;printf(“こんなに月が紅いから、数値を入力してね \n”);printf(“何分後の位置が知りたい? > ”);scanf(“%d”,&num);printf(“Aの位置は Bから%dメートル北よ \n”,num * 100);

}

Page 24: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

条件による分岐の方法重要な構文  if と switch 文の登場

これに合わせて、 true と false のことも説明

これが分かれば、簡単なゲーム (みたいなもの )は作れてしまう!

第 2  章 文字の入力 24

次回予告

Page 25: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

今まで特に説明してこなかったけど、この

 って何なんでしょう?

実はこの <stdio.h> というのはヘッダファイルと呼ばれるものなんだ

第 2  章 文字の入力 25

おまけ (1)

 #include <stdio.h> 

Page 26: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

ヘッダファイルの中には、たくさんの種類の関数 (など )が入っている

使いたい関数 (など )は、その都度プロジェクト上で展開 (参照文献に近い? )しておかないと使えない

この展開するという行程が #include なんだ

第 2  章 文字の入力 26

おまけ (2)

この認識が間違ってないといいんであるが・・・

Page 27: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

つまりこれは、このプロジェクトでは <stdio.h> の中の関数を使いますよ、というサイン (printf も 変数を使うことも<stdio.h>)

ヘッダファイルによって、入ってる関数が違う

展開は原則プログラムの最初に記述しよう

第 2  章 文字の入力 27

おまけ (3)

 #include <stdio.h> 

おまけおしまい

Page 28: 第 2 章 プログラミングっぽくなってきた ~文字の 入力 scanf ~

テンプレ

第 2  章 文字の入力 28

テンプレ