基於C 的表示式計算求值

2021-09-05 11:21:50 字數 973 閱讀 6324

一、使用說明

1.1 專案簡介

表示式求值是程式語言編譯中的乙個最基本的問題,就是將乙個表示式轉化為逆波蘭表示式並求值。具體要求是以字串行的形式從終端輸入語法正確的、不含變數的整數表示式,並利用給定的優先關係實現對算術四則混合表示式的求值,並演示在求值過程中運算子棧,運算元棧,輸入字元和主要操作變化過程。

要把乙個表示式翻譯成正確求值的乙個機器指令序列,或者直接對表示式求值,首先要能正確解釋表示式。任何乙個表示式都是由操作符,運算子和界限符組成,我們稱它們為單詞。一般來說,運算元既可以是常數,又可以是被說明為變數或常量的識別符號;運算子可以分成算術運算子,關係運算子和邏輯運算子3類;基本界限符有左右括號和表示式結束符等。為了敘述的簡潔,我們僅僅討論簡單算術表示式的求值問題,這種表示式只包括加,減,乘,除4種運算子。

人們在書寫表示式時通常採用的是「中綴」表達形式,也就是將運算子放在兩個運算元中間,用這種「中綴」形式表示的表示式稱為中綴表示式。但是,這種表示式表示形式對計算機處理來說是不大合適的。對於表示式的表示還有另一種形式,稱之為「字尾表示式」,也就是將運算子緊跟在兩個運算元的後面。這種表示式比較合適計算機的處理方式,因此要用計算機來處理,計算表示式的問題,首先要將中綴表示式轉化成字尾表示式,又稱為逆波蘭表示式。

1.2 專案功能要求

為了實現表示式求值,本專案要求首先讀入表示式(包括括號)並建立對應二叉樹,其次對二叉樹進行前序遍歷,中序遍歷,後序遍歷,輸出對應的波蘭表示式,中綴表示式和逆波蘭表示式。

1.3 操作手冊

執行程式後,進入歡迎介面,首先要輸入表示式。

第一步,輸入中綴表示式:

在輸入相應表示式後,會自動顯示中綴、字首、字尾表示式。

原始碼和文件分享 基於C 的表示式計算求值

一 使用說明 1.1 專案簡介 表示式求值是程式語言編譯中的乙個最基本的問題,就是將乙個表示式轉化為逆波蘭表示式並求值。具體要求是以字串行的形式從終端輸入語法正確的 不含變數的整數表示式,並利用給定的優先關係實現對算術四則混合表示式的求值,並演示在求值過程中運算子棧,運算元棧,輸入字元和主要操作變化...

原始碼和文件分享 基於C 的表示式計算求值

一 使用說明 1.1 專案簡介 表示式求值是程式語言編譯中的乙個最基本的問題,就是將乙個表示式轉化為逆波蘭表示式並求值。具體要求是以字串行的形式從終端輸入語法正確的 不含變數的整數表示式,並利用給定的優先關係實現對算術四則混合表示式的求值,並演示在求值過程中運算子棧,運算元棧,輸入字元和主要操作變化...

字尾表示式的運算求值

1.首先先將中綴表示式轉換為字尾表示式 2.然後我們要分情況 如果為數字字串就直接入棧 如果是左括號入棧就直接入棧 如果是右括號則將棧中左括號之前的所有字元出棧 如果是數字字串則需要考慮運算子的優先順序 最後將棧最後乙個賦為0,字串結束 include include define newp sty...