E.2
- インデントはタブ派、スペース派、両方使う派、インデントしない派がいるけどCではタブ使うのが慣習なの?
- コメントの書き方はC99からは/**/で囲う以外に//も使えるけど、スルー?
- 練習問題2-2-1
int main(void) {
}
- 練習問題2-3-1 読む時の理解を助けるため。ソースコードだけでは伝わらない書き手の意図を伝えるため。
- #include等は疑似命令(プログラムではない)、プリプロセッサで処理される。
- #include、#define等の疑似命令は;を行末に付ける必要がない
- プリプロセス→コンパイル→アセンブル→リンクの流れ?(誰か教えてください)
- puts();じゃ駄目なの?
- どうみても円記号として説明されてる場所はバックスラッシュにしか見えない。Shift_JISでかかれていてもフォントはバックスラッシュなんだもの。参考: YEN SIGN問題: http://ja.wikipedia.org/wiki/Unicode#YEN_SIGN_.E5.95.8F.E9.A1.8C
- 「\n」はテキストとして出力される時には改行コードに置き換えられる。UnixとWindowsのやりとりする時に直接使うと面倒らしい。Wikipedia: プログラミングにおける改行コード
- タブは必ずしも頭揃えで表示されるわけじゃないと思う
- printf("foo" "bar");すると"foo"と"bar"が連結されてprintf("foobar")と同じになる。C99ではワイド文字列と連結も出来るらしい。[C99] 第9回 文字定数と文字列リテラル | 株式会社きじねこ
- 連結出来るメリット考察 Island Life - 文字列リテラルの連結
- エスケープシーケンス→Wikipedia:狭義には、エスケープコード (0x1B, ESC) に始まる一連のバイト列のことをいう。
- %lfの話を思いだす。今でもたまに間違えてしまう orz[迷信] double の出力書式は "%lf" | 株式会社きじねこ
- 練習問題4
#include <stdio.h>
int main(void) {
printf("%d/%d=%d...%d\n", 40, 13, 40/13, 40%13);
}
- かっこいい。
これ、ほとんどの入門書では、数値を入れておく箱と説明しますが、
こんなのは、誰もコンピュータに触ったことがなかった時代の説明方法でしょう。
コンピュータをそれなりに使っている人には、メモリと言った方がすっきりします - 「メモリといったほうがすっきり」からのロッカーの説明w
- C99では~の説明をみて時代を感じるなど。
- staticでないローカル変数を宣言した場合、初期値は不定。
- グローバル変数やstaticな変数は0で初期化される。C FAQ 1
- 問題、こうといちゃった。変数使うようにしなきゃ。
#include <stdio.h>
int main(void) {
printf("%d\n", (int)(1000 - (198 + 138 * 2) * 1.05));
}
0 件のコメント:
コメントを投稿