練習 4-3在有了基本框架後,對計算器程式進行擴充就比較簡單了。在該程式中加入取模(%)運算子,並注意考慮負數的情況。
完全是拿書上的函式用的,只針對題目要求增加了「%」部分。以下幾個**塊需要分別儲存在不同的檔案中,最終一起編譯。
標頭檔案——calc.h
#define number '0'
void push(double);
double pop(void);
int getop(char );
int getch(void);
void ungetch(int);
main函式——main.c
#include #include #include "calc.h"
#include #define maxlen 100
#define maxop 100
int getop(char );
void push(double);
double pop(void);
int main()
else
if (op2 < 0.0) //若第乙個運算元為負,將其變為正數
else
push((int)op1 %(int)op2);
}break;
case '\n':
printf("\t%.8g\n", pop());
break;
default:
printf("error: unknown command %s\n", s);
break;
} }return 0;
}
floor函式中加0.5的原因是double型別中,當輸入1時,有可能被儲存為0.999999,故這樣操作四捨五入。來自
類似getchar()函式的擴充套件——getch.c
#include #define bufsize 10
#include "calc.h"
char buf[bufsize];
int bufp = 0;
int getch(void)
void ungetch(int c)
運算元棧函式——stack.c
#include #include "calc.h"
#define maxval 100
int sp = 0;
double val[maxval];
void push(double f)
double pop(void)
}
從輸入的字串中獲取運算元或操作符函式——getop.c
#include #include #include "calc.h"
int getch(void);
void ungetch(int);
int getop(char s)
我使用的是mingw編譯器,具體在編譯的時候輸入
gcc calc.h main.c getop.c getch.c stack.c -o calc
就可以生成.exe程式。
4 3 C語言基本運算子
我們小學數學學過加 減 乘 除等運算符號以及四則混合運算,而這些運算符號在 c語言中也有,但是有些表達方法不一樣,並且還有額外的運算符號。在 c 語言程式設計中,加 減 乘 除和取餘數的符號分別是 此外,c 語言中還有額外的兩個運算子 和 他們的用法是一樣的,乙個是自加 1,乙個是自減 1,我們選 ...
C語言程式設計
輸入乙個字串其中包含一鐘特殊的字元 其餘都是數字比如 12?32 設這個數字為w 再輸入乙個同一長度的整形數字x 要求計算w大於x的個數 include include include include void main int detect char s return counter int co...
c語言程式設計
1.輸入乙個整數,把該整數分別按照八進位制 十進位制 十六進製制形式輸出 include stdio.h main 2.輸入乙個小數 整數部分3位 小數部分5位 把該小數分別按照以下格式輸出 小數部分4位寬度,整個數字8位寬度 include stdio.h main 小數部分3位寬度,整個數字9位...