C」カテゴリーアーカイブ

C++ソースをCでコンパイルする

単純なC++ソースがCコンパイラでコンパイルできない時があります。 多くの場合、定数定義や型宣言の違いが原因の時があります。 つまり、論理型はC言語ではboolean型ですが、C++ではbool型。 論理値もCではTRU … 続きを読む

カテゴリー: C | タグ: , | コメントする

関数

関数への引数は引数の値のコピーとして渡されるから、呼ばれた関数側で呼出側の実引数の値を変えることは出来ない。 参照による呼び出しを行いたいときはポインターをそのまま渡し、渡された(関数)側でそのポインターの指すデータを変 … 続きを読む

カテゴリー: C | タグ: , , | コメントする

文字定数

文字定数は単一の引用符で囲う。 ’A’ エスケープ文字も文字定数として定義できる ’/n’は復改コード ’\t’はtabコードなど 一方、”a”はた … 続きを読む

カテゴリー: C | タグ: | コメントする

入出力 getchar putchar

入出力はgetcharとputchar 入力を出力へコピーするプログラム #define EOF 0 main () { int c; c = getchar(); while (c != EOF) { putchar( … 続きを読む

カテゴリー: C | タグ: , , , | コメントする

記号定数

コードの中に定数値を書き込む代わりにプログラムのはじめに#define文で記号定数として記述するのが良い。 #define STEP 20 /* ステップサイズ */ 記号定数は定数なので型宣言は不要。 記号名は変数と区 … 続きを読む

カテゴリー: C | タグ: | コメントする

whileとfor

forの方が、whileよりコンパクトで、ループを制御する文が一箇所にまとめられるので、初期化と再初期化が一つの式であり、論理的に関係のあるループではforのほうが適している。 for (a=0; a

カテゴリー: C | タグ: , | コメントする

printf

引数で渡す書式指定は %f 不動小数点数(floatもdoubleにも対応) %d 10進数 %ld 10進long変数 %o 8進数 %x 16進数 %c 文字 %6.1f 6文字幅で小数点以下1桁 %6f 数は少なく … 続きを読む

カテゴリー: C | タグ: , | コメントする

変数と算術

5/6と5.0/6.0は答えが違う 整数の割り算は切り捨てられるので、前者は0、後者は0.83333 なお、型宣言されている変数で演算する場合は、演算の前に型変換が行われる。 従って、 float c, a, b; a … 続きを読む

カテゴリー: C | タグ: , | コメントする