画像(logo)

HOME/[C言語 入門]小学生でもわかるC言語 目次/十日目 繰り返し「for」命令!

広告

[C言語 入門 小学生でもわかるC言語]
十日目 繰り返し「for」命令!

広告

↓発売日:2018年09月22日↓

たった1日で基本が身に付く! C言語 超入門

新品価格
¥2,225から
(2018/10/8 23:10時点)

目次へ戻る

くり返し「for」命令

プログラムの基本は

(1)上から順番に
(2)条件で分かれ道
(3)繰り返し

でしたね!

今回から最後の(3)くり返しをやっていきます!

本格的なプログラミングの始まりですね!

注意

くり返し命令を誤って使うと無限ループ(ずっとくり返しでプログラムが止まらない状態)などに入ってコンピューターに負担をかけてしまう場合があるのできちんと理解して使いましょう!

通常の無限ループの場合は「ctrl + c」キーを押せば止まります。もしこれで止まらない場合はウィンドウ右上の「×」マークなどで無理やり止める事になります。

これでも止まらない時は近くの詳しい人に聞きましょう!

数字を一つずつ上げていきます。

/*十日目 プログラム1*/
#include <stdio.h>

int main(){
	int suji;
	
	for(suji = 0;suji < 10;suji = suji + 1){
		printf("%d ",suji);
	}

	printf("\n");

	return 0;
}

■実行結果■

画像(cb_10_1)

■説明■

「for」命令でくり返し条件を決めて、{}カッコ内をくり返します。

そして変数「suji」の内容を「printf」命令で表示してます。

まず「int main()」の先頭でくり返し用の変数「suji」を用意します。そして「for」命令の登場です!

for( 初期化 ; 条件 ; 進み方 );
for(suji = 0;suji < 10;suji = suji + 1)

こちらを一つずつ見ていきましょう。

初期化

suji = 0

ここで最初の数を決めます。

条件

suji < 10

次に条件を決めます。この場合は「変数「suji」が「10」より小さい間」という意味ですね!

変数「suji」が「10」になるとその時点でくり返しをやめるので実行結果が「9」で終わってますね。

ここを「suji <= 10」とすると実行結果の最後は「10」になります。

「if」命令の時に学んだ「suji <= 10」→「10を含む(ふくむ)」・「suji < 10」→「10を含まない(ふくまない)」を注意しましょう!

進み方

suji = suji + 1;

最後に進み方を決めます。この場合はくり返すたびに変数「suji」に「+1」されますね!

ここを「suji = suji + 2」とするとくり返すたびに変数「suji」が「+2」されるので結果は

0 2 4 6 8

のようになります。

くり返しの条件などをいろいろ変えて試してみましょう!

インクリメント・デクリメント

suji = suji + 1;

さきほど登場したこちらの文は

suji++;

と書き換えられます。これを「インクリメント」といいます。同じく

suji = suji - 1;

だった場合は

suji--;

と書き換えられます。こちらは「デクリメント」といいます。

よく使う書き方なので覚えましょう!

仲間たち

他にこんな書き方もできます。

suji = suji + 100;

suji += 100;

suji = suji - 100;

suji -= 100;

など。

同じように「*=,/=,%=」などなど。

慣れてきたら使ってみましょう!

広告

たくさん練習しましょう!

くり返し命令を制するものはプログラミングを制する!と言われるほどくり返しは大事なのでたくさん練習してレベルアップしましょう!

練習その1・・・「おはよう」を5回表示する。

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

int main(){
	int kaisu;

	for(kaisu = 0;kaisu < 5;kaisu++){
		printf("おはよう\n");
	}

	return 0;
}

■実行結果■

画像(cb_10_2)

■説明■

まずはキホンですね!「kaisu」が「0~4」までくり返しして「5」でくり返しをやめます。最初の「0」から始まるので「0,1,2,3,4」と5回分くり返す事になります。

練習その2・・・「if」命令と組み合わせる。

「10」までカウントして「3」の倍数がきたら「おいっす!」と叫んでみましょう!

/*十日目 プログラム3*/
#include <stdio.h>

int main(){
	int kaisu;

	for(kaisu = 0;kaisu <= 10;kaisu++){
		printf("%d ",kaisu);
		if(kaisu == 3)printf("おいっす!\n");
		if(kaisu == 6)printf("おいっす!\n");
		if(kaisu == 9)printf("おいっす!\n");
	}

	printf("\n");

	return 0;
}

■実行結果■

画像(cb_10_3)

■説明■

くり返しをしている途中で「if」命令の条件が合えば「おいっす!」と表示します。

「10」までのカウントなので「for」命令の条件が「suji <= 10」となってますね!

くり返しを想像しながらプログラムを作りましょう!

練習その3・・・他の変数も一緒に変化させる。

/*十日目 プログラム4*/
#include <stdio.h>

int main(){
	int suji,suji2;

	suji2 = 4;

	for(suji = 0;suji < 5;suji++){
		printf("suji = %d:suji2 = %d\n",suji,suji2);
		suji2--;
	}

	return 0;
}

■実行結果■

画像(cb_10_4)

■説明■

くり返し中一緒に他の変数「suji2」も変化させています。

「for」命令に入る前に「suji2」を初期化して、くり返すたびに「suji2--」しています。

100まで計算

ではくり返し命令の定番プログラム

「1 + 2 + 3 + 4 + 5 ~ 98 + 99 + 100」

と順番に足していく「100まで計算」プログラムを作ってみましょう!

/*十日目 プログラム5*/
#include <stdio.h>

int main(){
	int suji;
	int goukei = 0;

	for(suji = 0;suji <= 100;suji++){
		goukei = goukei + suji;
	}
	printf("「100まで計算」答えは%dです!\n",goukei);
	
	return 0;
}

■実行結果■

画像(cb_10_5)

■説明■

合計を入れる為の変数「goukei」にひたすら増加し続ける変数「suji」を足し合わせております。

試しに変数goukeiの値を追ってみましょう!

くり返し0回目 goukei(0) = goukei(0) + suji(0)

くり返し1回目 goukei(1) = goukei(0) + suji(1)

くり返し2回目 goukei(3) = goukei(1) + suji(2)

くり返し3回目 goukei(6) = goukei(3) + suji(3)

くり返し4回目 goukei(10) = goukei(6) + suji(4)

くり返し5回目 goukei(15) = goukei(10) + suji(5)

カッコの中身がその時の値です。

このようにくり返し命令を使って、変数「goukei」の値を塗り替えていく事で、複雑そうな計算もシンプルなくり返し命令で書く事ができますね!

トレース

くり返しの動きを一回一回止めながらみていくプログラムです。一回一回何かキーを押してください。

/*十日目 プログラム6*/
#include <stdio.h>
#include <conio.h>

int main(){
	int suji;
	int goukei = 0;

	for(suji = 0;suji <= 10;suji++){
		goukei = goukei + suji;
		printf("%d ",goukei);
		(void)_getch();
	}
	
	printf("\n");

	return 0;
}

■実行結果■

画像(cb_10_6)

■説明■

このように動きを追う作業の事を「トレース」といいます。

最初なれないウチはこの「トレース」をきちんと行って中の変数の動きなどをしっかり追っていく事をオススメします!

頭の中で想像するだけだとちょっとツライですもんね!

今回はそんな「トレース」に便利な「_getch()」命令をご紹介します!一回一回入力待ちになるので「トレース」にぴったりです!

使い方はいつもの先頭に「#include <conio.h>」という一文を加えて、あとは止めたい場所に「_getch()」を書くだけです。

「scanf」命令とおなじように先頭に「void」とくっつけておいてください。(こんな感じでいくつかの命令の先頭に(void)とくっつける事があります!)

ちゃんとしたこの命令の使い方とは少し違いますが、便利なので使ってみてください!

次回はもう一つのくり返し「while」命令を紹介したいと思います。

どこまでくり返せばいいのかわからないけどくり返したい時や、途中でくり返しを抜ける方法などについても説明しておりますので今回の「for」命令と合わせてご覧ください。

次回

十一日目 くり返し「while」命令!

□ページの先頭へ□

□目次へ戻る□

□HOME□

広告

↓発売日:2016年02月29日↓

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

新品価格
¥2,462から
(2018/10/8 23:25時点)

↓発売日:2018年06月22日↓

スッキリわかるC言語入門

新品価格
¥2,916から
(2018/10/8 23:15時点)

↓発売日:2018年03月09日↓

C言語本格入門 ~基礎知識からコンピュータの本質まで

新品価格
¥3,218から
(2018/10/8 23:16時点)

↓発売日:2017年06月14日↓

やさしいC 第5版 (「やさしい」シリーズ)

新品価格
¥2,700から
(2018/10/8 23:17時点)

↓発売日:2018年05月21日↓

作って身につく C言語入門

新品価格
¥2,462から
(2018/10/8 23:18時点)

↓発売日:2017年12月07日↓

新・標準プログラマーズライブラリ C言語 ポインタ完全制覇

新品価格
¥2,678から
(2018/10/8 23:19時点)

↓発売日:2017年02月08日↓

新・明解C言語で学ぶアルゴリズムとデータ構造 (明解シリーズ)

新品価格
¥2,700から
(2018/10/8 23:20時点)

↓発売日:2017年09月26日↓

かんたん C言語 [改訂2版] (プログラミングの教科書)

新品価格
¥2,916から
(2018/10/8 23:22時点)