• ベストアンサー

C&C++、計算結果を表示する

超初心者です。 本をみつつ勉強しているところなんですが、演習問題などやっていると、 コンパイルしてビルドして実行すると計算結果は目に見える形で出ずに終了・・するんですね。 それはprintf~がないから・・らしいということはココで聞いたりして微妙に判ったんですが、その記載の仕方を知りたいんです。 もしも『printf~~、と書けばどんな計算結果も表示される』というのがあるのなら、それを、そうじゃないのなら、その記述の仕方の決まりを教えてください。 計算の過程が見えないとできてるのかできてないのかわからなくて・・・。 よろしくお願いします。 一応、例を載せておきます。 main() { int a,b,i; a=b=i=0; while (i<100){ i++; if(i%2==0)a=a=i; else b =b+i; } }

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

  • ベストアンサー
  • HogePiyo
  • ベストアンサー率57% (24/42)
回答No.3

確かに工夫次第で printf 系を使えば大概の実行結果はコンソール画面に表示できます。 printf( "Hello World !!\n" ); こんなふうにしてやれば画面に "" 内の文字が出力されます。ちなみにエスケープシーケンスといって、 \n は改行を表す記号です。他に \t というタブを表す記号やら、\b バックスペースなど、大概の入門書にこれらの一覧が載っていますからそちらを参照してください。 それと、C 言語では \ は特殊な文字として扱われますから、\ 自体を出力する場合は \\ と重ねて記述します。 printf( "\\n" ); で、変数を画面に出力する場合は、 int hoge = 10; double piyo = 123.123; char moke = 'a'; char nyoi[] = "Hello World !!\n"; printf( "%d \n", hoge ); // int の表示 printf( "%lf \n", piyo ); // double 等の表示 printf( "%2.3lf \n", piyo ); // 出力する桁を制限 printf( "%c \n", moke ); // 文字の表示 printf( "%d \n", moke ); // 文字コードの表示 printf( "%s \n", nyoi ); // 文字列の表示 printf 系を使用するには stdio.h というヘッダファイルをインクルードしてやる必要があります。 どうするのかというと、ただ単に使用するソースファイル内の先頭で、 #include <stdio.h> としてやればいいんです。 では、例を少し改造して表示できるようにしてみますね。 *********************** #include <stdio.h> int main(void){ int a, b, i; a = b = i = 0; while( i < 100 ){ i++; if( ( i % 2 ) == 0 ){ a = a = i; }else{ b = b + i; } } printf( "a = %d\n", a ); printf( "b = %d\n", b ); printf( "i = %d\n", i ); return 0; } ***********************

yukky25
質問者

お礼

光明がさしてきたような!! 本もあわせてもうちょっと勉強してみます。 ありがとうございました。

その他の回答 (2)

  • nagare
  • ベストアンサー率33% (280/831)
回答No.2

簡単に例を書きます main() { int a,b,i; a=b=i=0; while (i<100){ i++; if(i%2==0) { a=a+i; printf ("A = %d\n",a); } else { b =b+i; printf ("B = %d\n",b); } } } printfは変数の値の表示はもちろん、固定値も表示できます 更に、数字は10進、16進などに変換・表示も可能です (文字をコードで表示可能) 詳しくは本を買うか、サイトを検索すればよいでしょう

yukky25
質問者

お礼

ご回答ありがとうございました。 日々精進です・・(かなりこのサイトにお世話になりつつ・・) またお願いします。

  • GOLDEN
  • ベストアンサー率46% (283/607)
回答No.1

printfはコンソール出力関数と呼ばれ、標準出力に対して文字列を出力します 簡単にいえば、画面に文字を出せる、ということですね printf関数の関数仕様は以下のとおり int printf( const char *format [, argument]... ); 計算結果は数値型(int型やdouble型等)なわけですが、これをprintf関数に渡す際 に、どの型の変数でどういう形式で出力するのかを指示しないといけません それを指示する部分がformatの部分で、データを指定するのがargumentの部分です formatの書式は、%dや%c、%fなどという書き方をします 後ろのアルファベットは、変数の型によって変わります また、改行させたい場合は\nと書くなど、いろいろな決まりがあります たとえば、int型の変数a、char型の変数bを表示するprintf文は printf("a = %d\nb = %c",a,b); と書きます これを実行すると、aに5、bに'x'が入っていたとすると、 a = 5 b = x と出力されます 変数がない場合は、argumentは不要です printf("hogehoge\n"); と書けば、 hogehoge と出力されます

yukky25
質問者

お礼

ほのかーにですが判ってきたような・・・。 %dとか%cとかがよくわからなかったんですよね・・。 もうちょっと本とかよく読んでみます。 ありがとうございました。

関連するQ&A