...次が有名な1
上で紹介したカーニハン&リッチーの本の 最初のプログラム例である。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... (ある範囲の2
Mac 環境の cc (中身は Clang+LLVM らしい) では、 $ -2^{31}\le n\le 2^{31}-1$ を満たす整数 $ n$. $ 2^{31}=2147483648\kinji21$$ =2.1\times10^{9}$ であり、10進9桁程度。 これ以外に、通常64ビットのlong long int 型 (絶対値 $ 9.22\times 10^{18}=922$ 位まで表現可能) もある (定数を表すには、 2147483649LL あるいは2147483649ll のように “LL” や “ll” をつける。 printf()scanf() の書式では、 “%lld” のようにする。)。 さらに __int128 という型もあるが、 まだ十分に規格が整備されていないので使いにくい。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... 型が安心して使えるようになったので3
細かいことを言うと、long long int は (普通) 64 ビット、 double の仮数部は (IEEE754 の場合) 53 ビットなので、 long long int の方が 11 ビット分多い。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... オプションが必要である4
ライブラリィ は ”libname.a” という名前のファイルとして格納されて いるのが普通で、この中に入っているコードをリンクするには -lname というコマンドライン・オプションをコンパイラーに指定する。 数学関数ライブラリィの名前は libm.a なので (やけに短い名前ですね)、 それをリンクするには -lm とすることになる。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... その結果を表示するプログラムを書け5
もちろん $ n(n+1)/2$ を計算す れば簡単なわけだが、 繰り返しの練習なので、正直に $ 1$ から $ n$ まで足すこと。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... を計算して、その結果を表示するプログラムを書け6
もちろん冪乗を計算する pow() を使えば簡単だが、 繰り返しの練習なので…
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... を表示するプログラムを書け7
for を二重に用いるプログラムを書こう。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... を作って、動くことをチェックせよ8
ちょっと短かすぎ て悪い名前だが、Decartes 座標 to Polar 座標、のニュアンス。
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.