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

2021-09-27 11:09:54 字數 713 閱讀 8098

一、使用說明

1.1 專案簡介

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

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

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

1.2 專案功能要求

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

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

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

原始碼和文件分享 C語言的基於棧實現的表示式求值

一 目的 理解中綴表示式求值的過程 理解中綴轉字尾表示式求值的過程 掌握堆疊的應用 二 問題描述 綴表示式,其中包含括號,加減乘除,乘方等運算,利用中綴表示式,對表示式分析並求值 入的中綴表示式轉換為字尾形式,顯示字尾形式,並通過字尾形式求值 三 資料結構 運算子結構體 typedef struct...

原始碼和文件分享 基於C 的教室管理系統

1 需求分析 核心需求 實現教室管理系統,完成對學校教室的維護 查詢 預約 統計功能。程式擁有許可權控制,分為管理員和普通使用者 管理員需求 檢視某棟樓教室的概要資訊 每個教室的詳細資訊 包括教室基本資訊 預約情況 上課情況 修改某教室基本資訊 增加教室 刪除教室 增加某教室上課情況 統計某類教室的...