質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

2178閲覧

c言語において、特定の条件を満たすまで何回も同様な処理を繰り返すにはどうすればよいか?

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2017/07/28 14:40

編集2017/07/28 14:56

現在、c言語を学習中の者です。
初めての質問のため、お試し的な意味もこめて質問をしました。
今回の初質問で、このサイトの返答の早さや、返答の質を知りたいとも思っております。
説明不足かもしれませんが、さっそく本題(質問)に入ろうと思います。

c言語において、タイトルの通り条件を満たすまで何回も同様な処理を繰り返すには、どうしたらいいでしょうか?
どちらかというと、どうしたらいいかというより、きれいな書き方的なものを教えていただきたいと思っております。
例えば、
int i;
do{
scanf("%d", &i);
if(i == 0)
break;
以下略
}while(i == 0);

といった方法があると思いますが、どういった書き方が一番きれいなのでしょうか。
上の書き方はきれいでしょうか?
自分はあまりきれいだとおもっていないため、今回質問させていただきました。
仮にきれいだとしても、もっときれいな書き方を教えていただきたいと思っております。
語彙力もなく大変説明不足でありますが、返答していただけると大変幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

処理の前に条件を判断する場合:

C

1while(!終了条件){ 2 ~~~ 3}

処理の後で条件を判断する場合:

C

1do { 2 ~~~ 3} while(!終了条件);

処理の途中で条件を判断する場合:

C

1while(1){ // for(;;){ と書く人もいます 2 ~~~ 3 if(終了条件) break; 4 ~~~ 5}

投稿2017/07/28 15:07

otn

総合スコア84505

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/07/28 15:12

返信ありがとうございます!! Cが求めていた回答でした!その書き方でいいんですね。 助かりました!本当にありがとうございます!!
guest

0

条件を満たすまで

ということでしたら

while(条件式)
{
// 何かやりたいこと
}

が良いのではないでしょうか。

c系言語の場合ですが。

投稿2017/07/28 14:44

soma62jp

総合スコア141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/07/28 14:48

返信ありがとうございます。 説明不足で申し訳ないです。 思っていた回答ではありませんでしたが、ありがとうございました。 質問を更新してもう少し詳しく書こうと思います。
soma62jp

2017/07/28 15:17

上記の例でしたら int i; do{ scanf("%d", &i); }while(i != 0); のように書けるので、中のif文は不要です。 do-whileを使用する場合、whileの条件式は継続したい条件が入るので、「0でない」と書いて判定できます。最低1回は行いたい処理によく使われます。 入力を行い、その値を見てループを抜ける処理を行いたい場合は、do-whileを使用した方が良いです。 また、 while(継続条件){ // 何か } もよく使用しますが、while文の前に変数があり、かつ、while文の中でその変数を変化させる時に使用します。こちらは、その変数の内容によって実行されないことがあります。 まとめると do-while文 -> 最低1回は実行する処理 while文 -> 実行されない可能性のある処理 に使えば良いと思います。
退会済みユーザー

退会済みユーザー

2017/07/28 15:26

iが0のときは以下略の部分を実行したくないので、do-whileかwhileかといった質問ではないんです... 重ね重ね、ご返信ありがとうございます。 詳しい説明、大変参考になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問