• ベストアンサー

C等のプログラム例を見ていると、

C等のプログラム例を見ていると、 たまにifのあとに{}を使わない事がありますけど、あれって一つだけを処理する場合なら省略できるって事ですか? あとこれはforやwhileでも出来ますか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#128820
noname#128820
回答No.3

答えは、yes,yesです。 しかし、Cにかぎってです。 (「C等」といわれても、どの言語ののことか不明、私の知らない言語で違う文法があるかも)

その他の回答 (2)

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.2

出来ます。 基本的に後ろに付くのは1つの文です。 {}は複数の分を1つの文に扱うという意味の記号です。

回答No.1

1行だけの処理を書く場合は{}を省略することができます。 whileやforでも可能ですよ

関連するQ&A

  • 流れ図からプログラムに直してください!【C言語】

    その流れ図をC言語のプログラムに直してくれませんか? 処理2はscanf(..);って感じの内容です。 入口 処理1 for(処理2; 判断; 処理4){ 処理3 } 出口 って感じかなって思ったんですが、for文の中にscanfの文を入れてもいいのかわからずに悩んでます。 ループ文なのでwhile文、for文、do..while文のどれかかな?って思ったんですが違う気もして、わかるかたいらっしゃいませんか?

  • C/C++ ソースのコーティングについて

    最近、C/C++ ソースのコーディングに関して興味を持ちました。 そこで質問します。 皆様は普段プログラムを書くときにどんなコーディングをしていますか。 人それぞれ記述が異なると思いますが、何か自分の中でのコーディング・ルールが あれば教えて下さい。できるだけ詳しくお聞きしたいです。 ちなみに私の場合は (1)return、sizeof 演算子には必ず括弧を付けます。 (2)if、else、while、for には必ず{、}のブロックを記述して省略しません。 (3)関数を呼び出すとき、引数と引数はスペースを必ず挿入します。→strcpy( s, t );  ただし、if、while、for の条件式の中ではスペースを入れません。→while ( fgets(buff,sizeof(buff),fp) != NULL ){ … } (4)2項(3項)演算子はスペースを両端に挿入します。→ret = 2 + 3;  単項演算子はスペースは挿入しません。→i++、*str (5)ブロックのインデントは  if ( 条件式 ){   処理  }  else{   処理  } などがあります。 特に詳しく知りたいのは(5)です。 タイプ1 if ( 条件式 ){  処理 } else{  処理 } タイプ2 if ( 条件式 ){  処理 }else{  処理 } タイプ3 if ( 条件式 ) {  処理 } else {  処理 } タイプ4 if ( 条件式 )  {  処理  } else  {  処理  } それではコーディング・ルール(こだわり)などを教えて下さい。 なお、今回の質問は、より見やすいコーディングを目指しての質問です。 よろしくお願いします。

  • C++で二分法のプログラム

    C++で二分法のプログラムを作るんですが x1-x2が十分小さくなれば(10^-5)終了する 例 cos(x/2)の解を出す これどうやればいいんですか?whileを使うらしいですが。 文法というのは、 if系、while、switch、continue、for、break文くらいしかやってないんですが #include <iostream> #include <cmath> using namespace std; int main() { までは行きますが… 出力はcout 入力はcinでお願いできないでしょうか

  • C言語 kEYの空読み

    C言語でプログラムを組んでいます。 あるひとつの処理を連続で行い、何かKEYボタンをおすとプログラムが終了するというプログラム なのですが? while(kbhit()) getch(); while(1) { ~~~~~~      if(kbhit()) { getch(); return(1); } }while(c==0); という内容ですが、     if(kbhit())のあとの文面は、KEYが押されると(1)が返されエラーになり処理が中断される     ということはわかりますが、 冒頭でのこの部分while(kbhit())                getch(); は、どういった意図の分なのでしょうか?

  • C言語のプログラムについて

    C言語のプログラムについて 3桁の自然数の中で、自分自身を含めた約数が奇数になるものがいくつあるかを求めるプログラムを作りたいのですが、swich文を使って、6通りの方法で出そうとしていまして、 while 文、 for文、 do while文に加え、 for文のを、1つの関数として独立させたもの、 さらに、for文のを重ループ部分のそれぞれのループに対応して、2つの関数として独立させたもの、 そして、この2つの関数のどちらともをループを用いずに再帰呼び出しを用いたもの の6通りで出したいのですが、swich文を使うところは自力でできたのですが、あとの6つそれぞれのプログラムの組み方がわかりません。 教えていただけないでしょうか?ややこしい書き方をしてすいません・・・。

  • C++でランレングス符号化のプログラムを組みたいです。

    C++で、while,if文,char,intでランレングス符号化のプログラムを組みたいです。 たとえば、文字列aabcccと入力するとa2,b1,c3となるようにしたいです。 配列は使わずに、charで変数を二つ用意し、cinで入力、if文で判定しカウントという流れをwhileで繰り返す。そしてEOFで終了というような感じにしたいと思ってます。 よろしくお願いします。

  • C#のデータベースプログラムの効率について

    Visual C# 2013 Expressを独学で学んでいます。初心者です。 現在Oracleのデータベースから、SQL文でデータを取得して 処理するプログラムを作っています。 取得したデータはDataTableオブジェクトに入れて、 行列をfor文で検索するようにして作っています。 そこで疑問なのですが、プラグラムのはじめにSELECT文で 複数の項目を一気に取得してDataTableを使いまわす場合と、 そのつど必要な項目だけ小分けに取得する場合どちらが 早い(効率のよい)処理なのでしょうか? 例1)一気に取得する場合 5000行×10列×処理10回:for文は500000回、データベースの取得は1回のみ 例2)小分けに取得する場合 5000行× 2列×処理10回: for文は100000回、データベースの取得は10回必要 例1のほうがサーバの負担が軽くて良いと思っているのですが、どうなのでしょうか? すごくわかりづらくて申し訳ないですが、どなたか教えてください。 よろしくお願いします。

  • C++でGUIプログラムを作るには?

    C++のプログラムの参考書にはコンソールプログラムの例しか ありませんが、C++/CLI(Windows Form)やMFCなどを使わずに APIとかで作るとしたらどうすれば出来るのでしょうか? ただのCであればWinMainとメッセージ処理のプロシージャを 用意してそこの中にプログラムをしてあげれば良いのですが…。

  • 良いプログラムを書くためには

    今回、プログラミングの上達方法に関してアドバイス頂きたく質問しました。 現在、ソフトウェア開発の仕事に就いていてCやJavaなどでプログラムを書いたりしています。主にCで書くことが多いです。与えられた課題に対して動くプログラムは作れるのですが、先輩などからプログラムが汚いとよく指摘されます。 指摘される事柄は色々ありますが、何点か挙げるとまずモジュール分割が上手く出来ていない。1000行位の動くプログラムを書き始められた頃は、共通の処理などの関数が分割されておらず、同じ処理がやたら多いなど、余計な処理が多くコードに無駄が多いと指摘されました。それを改善したところ、今度は無駄に関数の分割が多くなり、読みにくいなどの指摘を受けました。 その他にも、例えば関数の中で、for(条件式)の条件式を上手く工夫すれば、for()の中で、余計な条件分岐などが減るなどの、細かい記述に関しても指摘を受けます。 質問はプログラムを作成する上で、大きな観点からだと、どのようにすれば綺麗にモジュール化などが出来るのか、モジュール化だけではなく、ソフトウェアの設計全般に関してです。また細かいことで、いえば先ほどのfor()の様に、文法を上手く使いこなすためにはどうすればよいか。本などのサンプルコードでは、forならfor、ifならifの説明など、主に単独の説明が多いように思えます。関数の中で、各文法同士を上手く使いこなし、他人が見ても読みやすいコードなどを書きたいです。 先輩からは、他人のソースコードを見ることなどと言われますが、何か他人のソースコードを見る上でも、上で挙げた指摘を改善するための見方とか、他にも自分でプログラムを作る場合に、こういう事に注意しながら作るといいなど何か改善するアドバイスがあれば宜しくお願いします。また参考になる書籍やサイトなどもあったら教えて頂くと助かります。 長くなりましたが宜しくお願いします。

  • プログラム問題・・・

    今僕は、『if else』『while』『for』『switch』『配列(t[])』を知っているのですが、それで何かプログラムを作りたいのですが・・・思いつきません。 それを使ってできるプログラムが載っているサイトを教えてください。 それか、これらを使ってできる問題を言ってくれるだけでもけっこうです(それらだけでですよ!) 回答おねがいします。

専門家に質問してみよう