2010年1月25日月曜日

【よくわかる!実践Cプログラミング】のお勉強~第1部 Part 2 ~

じゃ、遅くなったがPart2を。
★「while 文」
#include
int main(void)
{
int sum, price;
printf("すでに使った金額は?\n"); // メッセージを出力し、
scanf("%d",&sum); // 変数sumに値を入力する
while( sum <= 300) // 繰り返しここから
{
printf("欲しい物の金額は?\n");
scanf("%d",&price);
sum += price;
} // 繰り返しここまで

printf("300円を超えています。\n");
return 0;
}

「sum += price; 」 は、sum と price の値を足したものになる。「sum = sum + price」
while文は実行する前に条件式を調べる。
do文は実行した後で条件式を調べる。
for文はあらかじめ回数が分かっている繰返しを記述するのに適している。

★「printf」の話
#include
int main(void)
{
printf("Hello World\n");
return 0;
}

Hello World の表示をする、プログラミングを勉強する時に1番初めに良く見るコード。
次の1行を入れて、「90%discount!」と表示させたい。
printf("大安売り!なんと90%disount!\n");
このままでは、「%d」と認識されてしまうので、「%%」と処理する。
printf("大安売り!なんと90%%discount!\n");
「%d」の本来の使い方は、
printf("計算結果は%dです\n",1+2);
と、2番目の引数として整数に置き換えられて出力する。「計算結果は3です」と表示される。
「%d」・・・整数型、10進数で出力
「%x」・・・整数型、16進数で出力
「%f」・・・浮動小数点型、実数
「%s」・・・文字列型、文字列、
「%c」・・・文字型、1文字
int a = 65;
printf("表示は、 %d %x %c %s です。", a, a, a, a);
「65 41 a a 」と表示させたかったが、”ハンドルされていない例外が発生”する・・・。本題から外れるので後回しにした。

■関連項目
sprintf関数:printf関数と同様の結果を、文字列として配列変数に入れます。
fprintf関数:fopenで開いたファイルなどにprintf関数と同様の出力を行います。

★「memset」配列をまとめてクリアする
memset( アドレス , バイト値 , サイズ);
※先頭に #include の追加

0 件のコメント:

コメントを投稿