タグ: language-c

2.9 ビットごとの論理演算子 K&R プログラミング言語C

& (AND) 共に 1 の場合 1 どちらか一方、または両方が 0 の場合 0 | (OR) 共に 0 の場合 0 どちらか一方、または両方が 1 の場合 1 ^ (XOR) 共に同じ値の場合 0 異なる値の場合 1 << (Left Shift) 各ビットを左に指定したビット数だけ移動 右のはみ出したビットは 0 になる >> (Right Shift) 各ビットを右に…続きを読む

2.7 型変換, 演習2-3 K&R プログラミング言語C

2.7 型変換 math.h をインクルードしているにもかかわらず、以下のようなエラーメッセージが表示されてコンパイルできない場合は、gcc に -lm オプションを付けて手動リンクさせる必要がある。 $ gcc -Wall -o cast cast.c /tmp/cceQkYQw.o: In function `main’: cast.c:(.text+0x41): undefined refe…続きを読む

2.2 データ型とサイズ, 演習2-1 K&R プログラミング言語C

2.2 データ型とサイズ C言語の基本的なデータ型 型名 型の内容 char 1byteの文字1つを保持できる。 int 整数、計算機が最も自然に扱える整数のサイズ float 単精度浮動小数点数 double 倍精度浮動小数点数 int には short と long の修飾子を適用できる。 short int si; long int li; /* int は省略可能 */ short sj;…続きを読む

演習1-24 K&R プログラミング言語C

演習1-24 開始 [ が見つかればカウンタを増加させ、閉じ ] が見つかればカウンタを減少させている。 最終的にカウンタが 0 であればエラーではないという、手抜き版。 #include <stdio.h> #define TRUE 1 #define FALSE 0 int main(int argc, char *argv[]) { int c, d, cb_count, is_…続きを読む

演習1-23 K&R プログラミング言語C

演習1-23 文字を先読みしてコメントのチェックを行っている。 コメントと二重引用符の範囲判定部分が汚い・・・ #include <stdio.h> #define TRUE 1 #define FALSE 0 int main(int argc, char *argv[]) { int c, d, is_comment, is_dquote; is_comment = is_dquo…続きを読む

演習1-22 K&R プログラミング言語C

演習1-22 スペースか改行文字が現われる毎に word バッファに保存している文字列を出力する。 出力の際に最大桁数を超えるかどうかのチェックを行う。 1単語の長さが最大桁数を超える場合は別に処理を行なっている。 長さが見やすいように最初に20個の数字を出力している。 #include <stdio.h> #define MAXLENGTH 20 #define WORD_SIZE …続きを読む