C言語 入門 小学生でもわかるC言語

六日目 入力「scanf」命令

「わかりやすく!」がテーマです!

HOME/小学生でもわかるC言語 目次/六日目 入力「scanf」命令/

広告

↓2016年02月29日発売↓

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

新品価格
¥2,462から
(2016/5/10 22:16時点)

もっと!C、C++言語本

目次へ戻る

?と思ったら

わからなそうな用語集

scanf(スキャンエフ)

お待たせしました!入力のお時間です!

コントローラーのボタンを押すとゲームの中の主人公がジャンプしたりするように、少しだけアナタの思い通りにコンピューターを動かしてみましょう!

数字を受け取って表示

/*プログラム14*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(){
	int suji;

	printf("100〜200の間の数字を入れて\n");
	printf("Enterを押してください>");
	scanf("%d",&suji);

	printf("%d\n",suji);

	return 0;
}

■実行結果■

実行結果(b-6-1)

■説明■

キーボードから受け取った数字を変数「suji」に入れて「printf」命令で表示します。

100〜150の間とありますが、大きな数字などを入れておかしな結果にならないように間を決めただけで、もちろんこれ以外の数字も入れられます!

では今回新しく登場した命令を見てみましょう!

scanf("%d",&suji);

「scanf」命令です!実行するとキーボードの入力待ちになってEnterキーで入力内容を受け取ります!

変数の初期化はどうしたっ!?

この場合は「scanf」命令で入力内容を受け取った時が初期化になるので大丈夫です。

「printf」命令に使い方は似ています。

数字を受け取る時はやっぱり「%d」を使います。そしてお尻の部分が受け取るための変数になります!

変数の先頭に「&」アンパサンドをつけるトコロに注意です!

気を付けて!

いよいよおもしろくなってきたと思ってこの「scanf」命令をたくさん使ってプログラムしたら上手くいかない時があります!

これは初心者には解決するのが難しい「scanf」命令の悪いクセになります!

「scanf」命令は入力の考え方を学ぶにはわかりやすいのでC言語の入門でよく使われるのですが、エラーも多いので、今は入力した文字や数字を変数が受け取るということだけを学んでください!

あとやたら大きな数を入力してみたり、数字の入力なのに文字を入れてみたりとかも、コンピューターを困らせてエラーの原因になってしまう事があるのでやめましょう!

#define _CRT_SECURE_NO_WARNINGS

今回から謎(なぞ)の言葉が仲間入りしました。

これは「scanf」命令や他のいくつかの命令を使うためのおまじないなので、今は特に気にせずプログラムの頭に書いておきましょう!

文字を受け取って表示

/*プログラム15*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(){
	char moji;

	printf("アナタの血液型を入力してください>");
	scanf("%c",&moji);

	printf("アナタの血液型は%c型ですね!\n",moji);

	return 0;
}

■実行結果■

実行結果(b-6-2)

■説明■

scanf("%c",&moji);

文字を受け取る時も「printf」命令の時と同じく「%c」を使います!

変数の先頭に「&」アンパサンドを忘れずにつけましょう!

マイ計算機

/*プログラム16*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(){
	int suji1,suji2;
	
	printf("2つの数を計算します\n\n");

	printf("1つ目の数を入力してください>");
	scanf("%d",&suji1);
	printf("2つ目の数を入力してください>");
	scanf("%d",&suji2);

	printf("\n1つ目の数 = %d 2つ目の数 = %d\n\n",
		suji1,suji2);
	printf("%d + %d = %d\n",
		suji1,suji2,suji1 + suji2);
	printf("%d - %d = %d\n",
		suji1,suji2,suji1 - suji2);
	printf("%d * %d = %d\n",
		suji1,suji2,suji1 * suji2);
	printf("%d ÷ %d = %d 余り %d\n",
		suji1,suji2,suji1 / suji2,suji1 % suji2);

	return 0;
}

■実行結果■

実行結果(b-6-3)

■説明■

プログラムが入りきれなかったので途中(とちゅう)で折り返しておりますが、プログラムする時はそのままつなげて書いても大丈夫です!

「,」コンマとか区切りのよさそうな所で折り返すのは大丈夫なのです!

前回やった計算の方法と合わせて簡単な計算機を作ってみました!

printf("%d + %d = %d\n",suji1,suji2,suji1 + suji2);

「%d」がたくさんあって複雑に見えますが、表示させたい順番でお尻の変数を並べるだけです!

「数字を一つ入れてEnter」とする分には「scanf」命令の悪いクセもそんなに出ないのでいろいろ試してみてください!

次回

七日目 if(もし〜だったら)

□ページの先頭へ□

□目次へ戻る□

広告

↓2014年06月20日発売↓

14歳からはじめるC言語わくわくゲームプログラミング教室 Visual Studio 2013編

新品価格
¥2,500から
(2016/5/10 22:17時点)

↓2014年10月25日発売↓

超本格! サンプルで覚えるC言語 3Dゲームプログラミング教室

新品価格
¥3,110から
(2016/5/10 22:18時点)

↓2013年07月25日発売↓

小学生からはじめるわくわくプログラミング

新品価格
¥2,052から
(2016/5/10 22:21時点)

↓2016年05月13日発売↓

小学生からはじめるわくわくプログラミング2

新品価格
¥2,052から
(2016/5/10 22:22時点)

もっと!C、C++言語本

□ページの先頭へ□

□HOME□