for文を使って数値表をprintf出力表示してみましょう  エスケープシケンス¥tと¥nがふくまれたprintf文をfor文にくみあわせてみます

for文を使って数値表をprintf出力表示してみましょう  エスケープシケンス¥tと¥nがふくまれたprintf文をfor文にくみあわせてみます



ソーラー「エスケープシケンス\tや\nが組み込まれたprintf文と


for文を組み合わせて


数値表のようなものをつくってみよう~


とてもきれいに数値がならぶので


自分的には


コンピュータをつかって


最先端の技術に触れているかのごとき感じがします。


このfor文の使い方は好きなんだ~」


アレサ「さあ、どのような数値表ができあがるのでしょうか?」


ソーラー


「まずは


エスケープシケンス\nが()内にふくまれたprintf()と


for文を組み合わせた


いつもの次のプログラムを実行してみます。」


#include <stdio.h>


int main(void) {


int a;

for (a = 1; a<31; a++) {

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

}

return 0;

}


プログラムの実行結果


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30



ソーラー


いい感じ~


きれいに数字が並ぶね~🌞



次は文字間の間隔をとるタブ(tab)のはたらきをもつ


エスケープシケンス\tが()内にふくまれたprintf()と


for文を組み合わせた


次のプログラムを実行してみます。



#include <stdio.h>


int main(void) {


int a;

for (a = 1; a<31; a++) {

printf("%d\t", a);

}

return 0;

}


プログラムの実行結果


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30


(このとき 数値は表のように並んでいるように見えますが


コマンドプロンプト画面を拡大表示すると


横に一列に等しい間隔を開けて並んでいるのがわかります)




てんC「きれいに数値が\tにより


間をあけられて表示されていますね」



ソーラー


「さらに


printf()の()内で\tと\nを組み合わせて


次のようなプログラムを構成することができます。


#include <stdio.h>


int main(void) {


printf("1\t2\t3\n");

printf("2\t3\t4\n");

printf("3\t4\t5\n");

return 0;

}


プログラムの実行結果


1 2 3

2 3 4

3 4 5


ソーラー「このプログラムを


for文を使って書き換えると


#include <stdio.h>


int main(void) {

int a;


for (a = 1; a < 4; a++)

printf("%d\t%d\t%d\n",a,a+1,a+2);


return 0;

}


プログラムの実行結果


1 2 3

2 3 4

3 4 5


😊

for (a = 1; a < 4; a++)

printf("%d\t%d\t%d\n",a,a+1,a+2);


では


for (a = 1; a < 4; a++){

printf("%d\t%d\t%d\n",a,a+1,a+2);

}


のように


ブロック{}が用いられていませんが


繰り返したい命令文が1つの場合


ブロック{}はつけなくても構いません


for (a = 1; a < 4; a++)

printf("%d\t%d\t%d\n",a,a+1,a+2);


と記述した場合


for (a = 1; a < 4; a++)に続く命令文


printf("%d\t%d\t%d\n",a,a+1,a+2);



繰り返し実行されることになります


😊







アレサ「綺麗に表示されていますの」



ソーラー


for (a = 1; a < 4; a++)

printf("%d\t%d\t%d\n",a,a+1,a+2);

この\tと\nの使い方が楽しいんだな~


この


  for (a = 1; a < 4; a++)

printf("%d\t%d\t%d\n",a,a+1,a+2);

  printf("%d\t%d\t%d\n",1,2,3);

  printf("%d\t%d\t%d\n",2,3,4);

  printf("%d\t%d\t%d\n",3,4,5);


に等しいよね

  printf("%d\t%d\t%d\n",1,2,3);

  printf("%d\t%d\t%d\n",2,3,4);

  printf("%d\t%d\t%d\n",3,4,5);

はさらに

  printf("1\t2\t3\n");

printf("2\t3\t4\n");

printf("3\t4\t5\n");


に等しいかな


printf("1\t2\t3");

が実行されると


文字間の間隔をとる\tのはたらきにより


1 2 3


が表示されます。


printf("1\t2\t3");

の命令文に

printf("1\t2\t3\n");

\n(改行)が加えられることにより


printf("1\t2\t3\n");


の次の命令文


printf("2\t3\t4\n");


が実行されたとき


1 2 3


の次の行から


2 3 4



1 2 3

2 3 4


のように


コマンドプロンプト画面に表示されていくことになるんだ。



このように


for文は変数aの値を変えながらの繰り返し表現に適してるんだね


便利だね。」







  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る