do{}while()文は()内の条件式が0の値(偽)となっても最低1回はブロック{}内の命令文を繰り返すシステムです
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行にかきこむことです
(このままコピペしても大丈夫です このカクヨムでは2行にわたって記述されているように見えますが エディタにコピペした場合 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("本日も
お越しくださりありがとうございます。超うるおっています。
うるるんでございます
\(^o^)/この部分に好きな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が読めるというわけです
もしも
数値入力待ち受け状態のコマンドプロンプト画面で
0以下の数値を打ち込んでも
感謝の言葉と
天国にいけるC言語入門の1エピソードが
😊1回は😊
表示されることになります
」
ソーラー 「それではっ😊
プログラムの実行!
アンド
アンダーバーが表示されている状態で
数値 11 入力!!」
本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。
マックス「a>0なら小説が無限に展開されてよめるのか・・・
な~んて便利なんだ~~~(^^)って
よみずらい・・・
そして
無限に繰り返されるわけではないようだな
どうやら繰り返し表示がとまってるんじゃないか?」
ソーラー「ふふぅ そうおもうでしょう。みなさん?
ところが
コマンドプロンプト画面をドラッグして
拡大表示すると・・・」
アンダーバーを先頭に
大量の文字がコマンドプロンプト画面上を流れ出す。
マックス「なんと プログラムを実行し続けている!
なんで こんなマニアックなことしってるんだ?」
ソーラー「たまたまですよ」
マックス「では改めて・・・だ
このプログラムを実行!
アンド
アンダーバーが表示されている状態で
0を入力!(aには0が代入されることになります)」
プログラムの実行結果
本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。
マックス「
なるほど
a=0でも1回だけ
printf("本日もお越しくださりありがとうございます。超うるおっています。うるるんでございますちゅんちゅんあーすずめがとんでいる。朝日がさんさんとはてしなくひろがる空間を照らし出している。穏やかな草原がずっとずっと目の前にひろがっている。他には見渡す限りなにもなく あるとすれば道沿いにある 木でできた柵だ。なだらかに隆起している大地とこの木の柵の対比が またいい味だしてるんだなー。いつ見ていてもあきない。とにかくここに住めて幸せだと常におもう。気力がみなぎってくる。今日はなにがあるかな。");
が実行されて
小説が表示されているが
こっちのほうが
よみやすぅい
ていうか
プログラムに打ち込んで表示しなくても
ふつうに このカクヨムでよめばいいじゃないか~い」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます