do{}while()文は()内の条件式が0の値(偽)となっても最低1回は命令文を繰り返すシステムです

ソーラー「つづいては・・・


あとづけwhile()文の


do{}while()文の登場です。


do{}while()文は


while()の()のなかの条件式

(論理式)が


1の値を持つとき


do{}の{}の中の命令文をずっと繰り返す


命令文なんだ


次の命令文をみてよ

#pragma warning(disable: 4996)

#include <stdio.h>

int main(void) {


int a;

scanf("%d", &a);


do

{

printf("本日もお越しくださりありがとうございます。超うるおっています。うるるんでございます"); }

while (a>0);

return 0;

}


ソーラー「このプログラムはお客さんが1以上の数値をうちこんでくれたとき


猛烈に感謝の言葉


本日も

お越しくださりありがとうございます。超うるおっています。

うるるんでございます



繰り返すんだ。連打するんだ。


もし お客さんが 0以下の数値をうちこんでしまわれて


while(a>0)の論理式a>0の値が偽、0になっても




                🙏最低1回は🙏



do

{ printf("本日もお越しくださりありがとうございます。超うるおっています。うるるんでございます"); }


の{}の中の命令文


printf("本日もお越しくださりありがとうございます。超うるおっています。うるるんでございます");


が実行されて感謝の言葉をのべるシステムなんです。」



ここで注意すべきことは



printf("本日もお越しくださりありがとうございます。超うるおっています。うるるんでございます"); }

エディタ上では1行にかきこむことです


printf(""); は1行以内に記述するというルールとなっており


printf("本日もお越しくださりありがとうございます。超うるおっています。うるるんでございます"); }


のように改行して記述してしまうと


コンパイルエラーになります。



ソーラー「のべるシステム・・・ということで


novelをくみこむと・・・


マックス 「感謝をのべるとは・・・な・・・


いいシステムじゃないか(^o^)丿


しかし  novelをくみこむって・・・?」



ソーラー「そう,つまり


さっきのプログラムのprintf(" ")内の


本日もお越しくださりありがとうございます。超うるおっています。

うるるんでございます


の文章のあとに


以下のように好きなカクヨムnovel(小説)をかきこむんだ

👇

#pragma warning(disable: 4996)

#include <stdio.h>

int main(void) {


int a;

scanf("%d", &a);


do

{

printf("本日もお越しくださりありがとうございます。超うるおっています。うるるんでございます\(^o^)/この部分に好きなnovelをかきこみます"); }

while (a>0);

return 0;

}



そうして


このプログラムを


コンパイル後


数値入力待ち受け状態のコマンドプロンプト画面で


お客さんが0以上の数値をうちこんだなら


感謝の言葉とカクヨムnovel(小説)が


無限に繰り返し表示されるんだ😊 どう?」


マックス「・・・・おおお・・・・」


ソーラー「


0以下の数値が


入力待ち受け状態で入力されたら


while(a>0);は偽となり


while文による命令文の繰り返しはおこらず


1回だけ

do{}の中の命令文である


printf("本日も

お越しくださりありがとうございます。超うるおっています。

うるるんでございます


この部分に好きなnovelをかきこみます


"); }


が実行され


一回分 感謝の言葉と好きなカクヨムnovelが コマンドプロンプト画面に表示されるわけだ


どちらにせよ


丁寧な感じのシステムなんだ。」


マックス 「おおっ やるなっ ソーラー


また1つ画期的なシステムをつくりあげたな~。」


ソーラー 「それでは


このプログラムを 実際に試してみましょう


まずは

 

天国にいけるC言語入門の1エピソードを


感謝の言葉の後ろにはりつけたプログラムを


作製します。

#pragma warning(disable: 4996)

#include <stdio.h>

int main(void) {


int a;

scanf("%d", &a);


do {

printf("本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。");}while(a>0);

return 0;

}

ソーラー「そして このプログラムを


コンパイルしたあと


数値入力待ち受け状態のコマンドプロンプト画面で


0より大きい数値を打ち込むと・・・


感謝の言葉と


天国にいけるC言語入門の1エピソードが無限にくりかえされる


のです


novelが読めるというわけです」


ソーラー 「それではっ😊


コンパイル


アンド

数値 11 入力!!」


本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。



マックス「a>0なら小説が無限に展開されてよめるのか・・・


な~んて便利なんだ~~~(^^)って


よみずらい・・・


そして


無限に繰り返されるわけではないようだな


どうやら繰り返し表示がとまってるんじゃないか?」



ソーラー「ふふぅ そうおもうでしょう。みなさん?


ところが


コマンドプロンプト画面をドラッグして


拡大表示すると・・・」


大量の文字がコマンドプロンプト画面上を流れ出す。


マックス「なんと プログラムを実行し続けている!


なんで こんなマニアックなことしってるんだ?」



ソーラー「たまたまですよ」


マックス「このプログラムをコンパイル


アンド


a=0を入力!」


コンパイル結果


本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。


なるほど


a=0でも1回だけ


printf("本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。");


が実行されて


小説が表示されているが


こっちのほうが


よみやすぅい



ていうか


プログラムに打ち込んで表示しなくても


ふつうに このカクヨムでよめばいいじゃないか~い」


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

作者を応援しよう!

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

応援したユーザー

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