画像(logo)

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

広告

[C言語 入門 小学生でもわかるC言語]
六日目 入力「scanf」命令!

広告

↓2016年02月29日発売↓

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

目次へ戻る

scanf(スキャンエフ)

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

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

数字を受け取って表示

/*六日目 プログラム1*/
#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;
}

■実行結果■

画像(cb_6_1)

■説明■

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

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

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

scanf("%d",&suji);

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

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

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

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

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

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

気を付けて!

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

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

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

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

#define _CRT_SECURE_NO_WARNINGS

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

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

広告

文字を受け取って表示

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

int main(){
	char moji;

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

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

	return 0;
}

■実行結果■

画像(cb_6_2)

■説明■

scanf("%c",&moji);

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

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

マイ計算機

/*六日目 プログラム3*/
#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;
}

■実行結果■

画像(cb_6_3)

■説明■

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

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

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

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

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

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

次回

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

□ページの先頭へ□

□目次へ戻る□

□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時点)