演習4-5 K&R プログラミング言語C
4.3 の電卓プログラムを修正する。 演習4-5 math.h をインクルードする。 #include <math.h> main 関数に各演算のケースを追加する。 /* 省略 */ double op1, op2; /* 省略 */ case ‘s’: /* sin */ push(sin(pop())); break; case ‘c’: /* cos */ push(cos(po…続きを読む
4.3 の電卓プログラムを修正する。 演習4-5 math.h をインクルードする。 #include <math.h> main 関数に各演算のケースを追加する。 /* 省略 */ double op1, op2; /* 省略 */ case ‘s’: /* sin */ push(sin(pop())); break; case ‘c’: /* cos */ push(cos(po…続きを読む
4.3 の電卓プログラムを修正する。
よくわかる! 実践Cプログラミング(日経BPパソコンベストムック)の33ページの2進数出力関数 putBinary の動作について調べてみる。
4.3 外部変数 演習4-10まで以下の電卓プログラムを修正していく。 #include <stdio.h> #include <stdlib.h> /* atof() 用 */ #define MAXOP 100 /* 被演算子数、演算子の最大サイズ */ #define NUMBER ‘0’ /* 数字があったという記号 */ int getop(char []); v…続きを読む
4.2 非整数を返す関数 atof が返す double の値は return される際に int に変換される。 これは、atoi が int を返す関数であるため。 そこで、コンパイラが警告を出さないように明示的にキャスト(型変換)している。 /* atoi : atof を使って文字列 s を整数に変換する */ int atoi(char s[]) { double atof(char s…続きを読む
演習4-1 行の最後尾、探索文字の後ろから探していく。 #include <stdio.h> #include <string.h> #define MAXLINE 1024 int getline(char line[], int max); int strrindex(char source[], char searchfor[]); char pattern[] = …続きを読む
演習3-6 文字配列に文字を入れる毎に幅 w の値をデクリメントしてゆき、最後に w の数だけスペースを入れる。 #include <stdio.h> #include <string.h> #define MAX 1024 void itoa(int n, char s[], int w); void reverse(char s[]); int main(int arg…続きを読む
演習3-5 #include <stdio.h> #include <string.h> #define MAX 1024 void itob(unsigned n, char s[], int b); void reverse(char s[]); int main(int argc, char *argv[]) { char str1[MAX]; char str2[M…続きを読む
演習3-4 int の有効範囲を調べる。 #include <stdio.h> #include <limits.h> int main(int argc, char *argv[]) { printf("INT_MIN => %12d\n", INT_MIN); printf("INT_MAX => %12d\n", I…続きを読む
演習3-3 #include <stdio.h> #define MAX 1024 void expand(char s1[], char s2[]); int main(int argc, char *argv[]) { char *str1 = "-c-h-r-b, a-z0-9"; char str2[MAX]; expand(str1, str2); pri…続きを読む