導航:首頁 > 編程語言 > kh01可以電腦編程嗎

kh01可以電腦編程嗎

發布時間:2022-04-12 10:47:38

❶ 電腦編程是什麼

編程
這是每個游戲編程FAQ里都有的問題。這個問題每星期都會在游戲開發論壇上被問上好幾次。這是個很好的問題,但是,沒人能給出簡單的答案。在某些應用程序中,總有一些計算機語言優於其他語言。下面是幾種用於編寫游戲的主要編程語言的介紹及其優缺點。希望這篇文章能幫助你做出決定。

1、C語言

如果說FORTRAN和COBOL是第一代高級編譯語言,那麼C語言就是它們的孫子輩。C語言是Dennis Ritchie在七十年代創建的,它功能更強大且與ALGOL保持更連續的繼承性,而ALGOL則是COBOL和FORTRAN的結構化繼承者。C語言被設計成一個比它的前輩更精巧、更簡單的版本,它適於編寫系統級的程序,比如操作系統。在此之前,操作系統是使用匯編語言編寫的,而且不可移植。C語言是第一個使得系統級代碼移植成為可能的編程語言。

C語言支持結構化編程,也就是說C的程序被編寫成一些分離的函數呼叫(調用)的集合,這些呼叫是自上而下運行,而不像一個單獨的集成塊的代碼使用GOTO語句控制流程。因此,C程序比起集成性的FORTRAN及COBOL的「空心粉式代碼」代碼要簡單得多。事實上,C仍然具有GOTO語句,不過它的功能被限制了,僅當結構化方案非常復雜時才建議使用。

正由於它的系統編程根源,將C和匯編語言進行結合是相當容易的。函數調用介面非常簡單,而且匯編語言指令還能內嵌到C代碼中,所以,不需要連接獨立的匯編模塊。

優點:有益於編寫小而快的程序。很容易與匯編語言結合。具有很高的標准化,因此其他平台上的各版本非常相似。

缺點:不容易支持面向對象技術。語法有時會非常難以理解,並造成濫用。

移植性:C語言的核心以及ANSI函數調用都具有移植性,但僅限於流程式控制制、內存管理和簡單的文件處理。其他的東西都跟平台有關。比如說,為Windows和Mac開發可移植的程序,用戶界面部分就需要用到與系統相關的函數調用。這一般意味著你必須寫兩次用戶界面代碼,不過還好有一些庫可以減輕工作量。

用C語言編寫的游戲:非常非常多。

資料:C語言的經典著作是《The C Programming Language》,它經過多次修改,已經擴展到最初的三倍大,但它仍然是介紹C的優秀書本。一本極好的教程是《The Waite Group's C Primer Plus》。

2、C++

C++語言是具有面向對象特性的C語言的繼承者。面向對象編程,或稱OOP是結構化編程的下一步。OO程序由對象組成,其中的對象是數據和函數離散集合。有許多可用的對象庫存在,這使得編程簡單得只需要將一些程序「建築材料」堆在一起(至少理論上是這樣)。比如說,有很多的GUI和資料庫的庫實現為對象的集合。

C++總是辯論的主題,尤其是在游戲開發論壇里。有幾項C++的功能,比如虛擬函數,為函數呼叫的決策制定增加了一個額外層次,批評家很快指出C++程序將變得比相同功能的C程序來得大和慢。C++的擁護者則認為,用C寫出與虛擬函數等價的代碼同樣會增加開支。這將是一個還在進行,而且不可能很快得出結論的爭論。

我認為,C++的額外開支只是使用更好的語言的小付出。同樣的爭論發生在六十年代高級程序語言如COBOL和FORTRAN開始取代匯編成為語言所選的時候。批評家正確的指出使用高級語言編寫的程序天生就比手寫的匯編語言來得慢,而且必然如此。而高級語言支持者認為這么點小小的性能損失是值得的,因為COBOL和FORTRAN程序更容易編寫和維護。

優點:組織大型程序時比C語言好得多。很好的支持面向對象機制。通用數據結構,如鏈表和可增長的陣列組成的庫減輕了由於處理低層細節的負擔。

缺點:非常大而復雜。與C語言一樣存在語法濫用問題。比C慢。大多數編譯器沒有把整個語言正確的實現。

移植性:比C語言好多了,但依然不是很樂觀。因為它具有與C語言相同的缺點,大多數可移植性用戶界面庫都使用C++對象實現。

使用C++編寫的游戲:非常非常多。大多數的商業游戲是使用C或C++編寫的。

資料:最新版的《The C++ Programming Language》非常好。作為教程,有兩個陣營,一個假定你知道C,另外一個假定你不知道。到目前為止,最好的C++教程是《Who's Afraid of C++》,如果你已經熟知C,那麼試一下《Teach Yourself C++》。

3、我該學習C++或是該從C開始

我不喜歡這種說法,但它是繼「我該使用哪門語言」之後最經常被問及的問題。很不幸,不存在標准答案。你可以自學C並使用它來寫程序,從而節省一大堆的時間,不過使用這種方法有兩個弊端:

你將錯過那些面向對象的知識,因為它可能在你的游戲中使得數據建模更有效率的東西。

最大的商業游戲,包括第一人稱射擊游戲很多並沒有使用C++。但是,這些程序的作者即使使用老的C的格式,他們通常堅持使用面向對象編程技術。如果你只想學C,至少要自學OO(面向對象)編程技術。OO是模擬(游戲)的完美方法,如果你不學習OO,你將不得不「辛苦」的工作。

4、匯編語言

顯然,匯編是第一個計算機語言。匯編語言實際上是你計算機處理器實際運行的指令的命令形式表示法。這意味著你將與處理器的底層打交道,比如寄存器和堆棧。如果你要找的是類英語且有相關的自我說明的語言,這不是你想要的。

確切的說,任何你能在其他語言里做到的事情,匯編都能做,只是不那麼簡單 — 這是當然,就像說你既可以開車到某個地方,也可以走路去,只是難易之分。話雖不錯,但是新技術讓東西變得更易於使用。

總的來說,匯編語言不會在游戲中單獨應用。游戲使用匯編主要是使用它那些能提高性能的零零碎碎的部分。比如說,毀滅戰士整體使用C來編寫,有幾段繪圖程序使用匯編。這些程序每秒鍾要調用數千次,因此,盡可能的簡潔將有助於提高游戲的性能。而從C里調用匯編寫的函數是相當簡單的,因此同時使用兩種語言不成問題。

特別注意:語言的名字叫「匯編」。把匯編語言翻譯成真實的機器碼的工具叫「匯編程序」。把這門語言叫做「匯編程序」這種用詞不當相當普遍,因此,請從這門語言的正確稱呼作為起點出發。

優點:最小、最快的語言。匯編高手能編寫出比任何其他語言能實現的快得多的程序。你將是利用處理器最新功能的第一人,因為你能直接使用它們。

缺點:難學、語法晦澀、堅持效率,造成大量額外代碼 — 不適於心臟虛弱者。

移植性:接近零。因為這門語言是為一種單獨的處理器設計的,根本沒移植性可言。如果使用了某個特殊處理器的擴展功能,你的代碼甚至無法移植到其他同類型的處理器上(比如,AMD的3DNow指令是無法移植到其它奔騰系列的處理器上的)。

使用匯編編寫的游戲:我不知道有什麼商業游戲是完全用匯編開發的。不過有些游戲使用匯編完成多數對時間要求苛刻的部分。

資料:如果你正在找一門匯編語言的文檔,你主要要找晶元的文檔。網路上如Intel、AMD、Motorola等有一些關於它們的處理器的資料。對於書籍而言,《Assembly Language: Step-By-Step》是很值得學習的。

5、Pascal語言

Pascal語言是由Nicolas Wirth在七十年代早期設計的,因為他對於FORTRAN和COBOL沒有強制訓練學生的結構化編程感到很失望,「空心粉式代碼」變成了規范,而當時的語言又不反對它。Pascal被設計來強行使用結構化編程。最初的Pascal被嚴格設計成教學之用,最終,大量的擁護者促使它闖入了商業編程中。當Borland發布IBM PC上的 Turbo Pascal時,Pascal輝煌一時。集成的編輯器,閃電般的編譯器加上低廉的價格使之變得不可抵抗,Pascal編程了為MS-DOS編寫小程序的首選語言。

然而時日不久,C編譯器變得更快,並具有優秀的內置編輯器和調試器。Pascal在1990年Windows開始流行時走到了盡頭,Borland放棄了Pascal而把目光轉向了為Windows 編寫程序的C++。Turbo Pascal很快被人遺忘。

最後,在1996年,Borland發布了它的「Visual Basic殺手」— Delphi。它是一種快速的帶華麗用戶界面的 Pascal編譯器。由於不懈努力,它很快贏得了一大群愛好者。

基本上,Pascal比C簡單。雖然語法類似,它缺乏很多C有的簡潔操作符。這既是好事又是壞事。雖然很難寫出難以理解的「聰明」代碼,它同時也使得一些低級操作,如位操作變得困難起來。

優點:易學、平台相關的運行(Dephi)非常好。

缺點:「世界潮流」面向對象的Pascal繼承者(Mola、Oberon)尚未成功。語言標准不被編譯器開發者認同。專利權。

移植性:很差。語言的功能由於平台的轉變而轉變,沒有移植性工具包來處理平台相關的功能。

使用Pascal編寫的游戲:幾個。DirectX的Delphi組件使得游戲場所變大了。

資料:查找跟Delphi有關的資料,請訪問:Inprise Delphi page。

6、Visual Basic

哈,BASIC。回到八十年代的石器時代,它是程序初學者的第一個語言。最初的BASIC形式,雖然易於學習,卻是可怕的無組織化,它義無反顧的使用了GOTO充斥的「空心粉式代碼」。當回憶起BASIC的行號和GOSUB命令,沒有幾個人能止住眼角的淚水。

快速前進到九十年代早期,雖然不是蘋果公司所希望的巨人,HyperCard仍然是一個在Windows下無法比擬的吸引人的小型編程環境。Windows下的HyperCard克隆品如ToolBook又慢又笨又昂貴。為了與HyperCard一決高下,微軟取得了一個小巧的名為Thunder編程環境的許可權,並把它作為Visual Basci 1.0發布,其用戶界面在當時非常具有新意。這門語言雖然還叫做Basic(不再是全部大寫),但更加結構化了,行號也被去除。實際上,這門語言與那些內置於TRS-80、Apple II及Atari里的舊的ROM BASIC相比,更像是帶Basic風格動詞的Pascal。

經過六個版本,Visual Basic變得非常漂亮。用戶界面發生了許多變化,但依然保留著「把代碼關聯到用戶界面」的主旨。這使得它在與即時編譯結合時變成了一個快速原型的優異環境。

優點:整潔的編輯環境。易學、即時編譯導致簡單、迅速的原型。大量可用的插件。雖然有第三方的DirectX插件,DirectX 7已准備提供Visual Basic的支持。

缺點:程序很大,而且運行時需要幾個巨大的運行時動態連接庫。雖然表單型和對話框型的程序很容易完成,要編寫好的圖形程序卻比較難。調用Windows的API程序非常笨拙,因為VB的數據結構沒能很好的映射到C中。有OO功能,但卻不是完全的面向對象。專利權。

移植性:非常差。因為Visual Basic是微軟的產品,你自然就被局限在他們實現它的平台上。也就是說,你能得到的選擇是:Windows,Windows或Widnows。當然,有一些工具能將VB程序轉變成Java。

使用Visual Basic編寫的游戲:一些。有很多使用VB編寫的共享游戲,還有一些是商業性的。

資料:微軟的VB頁面有一些信息。

7、Java

Java是由Sun最初設計用於嵌入程序的可移植性「小C++」。在網頁上運行小程序的想法著實吸引了不少人的目光,於是,這門語言迅速崛起。事實證明,Java不僅僅適於在網頁上內嵌動畫 — 它是一門極好的完全的軟體編程的小語言。「虛擬機」機制、垃圾回收以及沒有指針等使它很容易實現不易崩潰且不會泄漏資源的可靠程序。

雖然不是C++的正式續篇,Java從C++ 中借用了大量的語法。它丟棄了很多C++的復雜功能,從而形成一門緊湊而易學的語言。不像C++,Java強制面向對象編程,要在Java里寫非面向對象的程序就像要在Pascal里寫「空心粉式代碼」一樣困難。

優點:二進制碼可移植到其他平台。程序可以在網頁中運行。內含的類庫非常標准且極其健壯。自動分配合垃圾回收避免程序中資源泄漏。網上數量巨大的代碼常式。

缺點:使用一個「虛擬機」來運行可移植的位元組碼而非本地機器碼,程序將比真正編譯器慢。有很多技術(例如「即時」編譯器)很大的提高了Java的速度,不過速度永遠比不過機器碼方案。早期的功能,如AWT沒經過慎重考慮,雖然被正式廢除,但為了保持向後兼容不得不保留。越高級的技術,造成處理低級的機器功能越困難,Sun為這門語言增加新的「受祝福」功能的速度實在太慢。

移植性:最好的,但仍未達到它本應達到的水平。低級代碼具有非常高的可移植性,但是,很多UI及新功能在某些平台上不穩定。

使用Java編寫的游戲:網頁上有大量小的Applet,但僅有一些是商業性的。有幾個商業游戲使用Java作為內部腳本語言。

資料:Sun的官方Java頁面有一些好的信息。IBM也有一個非常好的Java頁面。JavaLobby是一個關於Java新聞的最好去處。

8、創作工具

上面所提及的編程語言涵蓋了大多數的商業游戲。但是也有一個例外,這個大游戲由於它的缺席而變得突出。

「神秘島」。沒錯,賣得最好的商業游戲不是使用以上任何一門語言編的,雖然有人說「神秘島」99%是使用 3D建模工具製作的,其根本的編程邏輯是在HyperCard里完成的。

多數創作工具有點像Visual Basic,只是它們工作在更高的層次上。大多數工具使用一些拖拉式的流程圖來模擬流程式控制制。很多內置解釋的程序語言,但是這些語言都無法像上面所說的單獨的語言那樣健壯。

優點:快速原型 — 如果你的游戲符合工具製作的主旨,你或許能使你的游戲跑得比使用其他語言快。在很多情況下,你可以創造一個不需要任何代碼的簡單游戲。使用插件程序,如Shockware及IconAuthor播放器,你可以在網頁上發布很多創作工具生成的程序。

缺點:專利權,至於將增加什麼功能,你將受到工具製造者的支配。你必須考慮這些工具是否能滿足你游戲的需要,因為有很多事情是那些創作工具無法完成的。某些工具會產生臃腫得可怕的程序。

移植性:因為創作工具是具有專利權的,你的移植性以他們提供的功能息息相關。有些系統,如Director可以在幾種平台上創作和運行,有些工具則在某一平台上創作,在多種平台上運行,還有的是僅能在單一平台上創作和運行。

使用創作工具編寫的游戲:「神秘島」和其他一些同類型的探險游戲。所有的Shockwave游戲都在網路上。

資料:Director、HyperCard、SuperCard、IconAuthor、Authorware。

9、易語言

★全中文支持,無需跨越英語門檻。★全可視化編程,支持所見即所得程序界面設計和程序流程編碼。★中文語句快速錄入。提供多種內嵌專用輸入法,徹底解決中文語句輸入速度慢的問題。★代碼即文檔。自動規范強制代碼格式轉換,任何人編寫的任何程序源代碼格式均統一。★參數引導技術,方便程序語句參數錄入。★無定義類關鍵字。所有程序定義部分均採用表格填表方式,用戶無需記憶此類關鍵字及其使用格式。★命令格式統一。所有程序語句調用格式完全一致。★語法格式自動檢查。自動檢查並提示所輸入語句的語法格式是否正確,且可自動添加各類名稱。★全程提示與幫助。滑鼠停留立即顯示相關項目提示。編程時提示語法格式,調試時提示變數當前內容,隨時按下F1鍵可得到與當前主題相關詳細幫助等。★名稱自動管理。用戶修改任一名稱定義,其它所有包含該名稱的程序代碼均自動修正。★集成化開發環境。集界面設計、代碼編寫、調試分析、編譯打包等於一體。★學習資源豐富。詳細的幫助文件、數十兆的知識庫、數萬用戶的網上論壇、教材已出版發行……

10、結論

你可能希望得到一個關於「我該使用哪種語言」這個問題的更標準的結論。非常不幸,沒有一個對所有應用程序都最佳的解決方案。C適於快而小的程序,但不支持面向對象的編程。C++完全支持面向對象,但是非常復雜。Visual Basic與Delphi易學,但不可移植且有專利權。Java有很多簡潔的功能,但是慢。創作工具可以以最快的速度產生你的程序,但是僅對某一些類型的程序起作用。最好的方法是決定你要寫什麼樣的游戲,並選擇對你的游戲支持最好的語言。「試用三十天」的做法成為工業標準是件好事情。

❷ 如果熱繼電器的常閉觸點KH1.KH2不接入plc控制部分,會產生什麼影響

一般來說,PLC輸入接熱繼電器的輔助常開點,在PLC控製程序中,熱繼電器的輔助點做成常閉點,熱繼電器動作後,輔助常開點閉合,PLC程序中常閉點斷開,切斷控制接觸器線圈控制迴路。如果熱繼輔助點不接入PLC程序,而是接入強電接觸器的線圈迴路,也可以完成保護功能。

❸ C語言編程題,幫忙做一下

#include <stdio.h>
#include <string.h>
struct student
{
char name[16];
int kh;//考號
float ying;
float z;
float yu;
float zong;
float shu;
float sum;
}stu[5];
void paixu(struct student s[5])
{
int i,j,k,n;
float t;
char temp[16];
for(i=0;i<4;i++)
{
k=i;
for(j=i+1;j<5;j++)
{
if(s[k].sum<s[j].sum)
{
k=j;
}
}
if(k!=i)
{
t=s[i].sum;
s[i].sum=s[k].sum;
s[k].sum=t;
n=s[i].kh;
s[i].kh=s[k].kh;
s[k].kh=n;
t=s[i].z;
s[i].z=s[k].z;
s[k].z=t;
t=s[i].yu;
s[i].yu=s[k].yu;
s[k].yu=t;
t=s[i].shu;
s[i].shu=s[k].shu;
s[k].shu=t;
t=s[i].zong;
s[i].zong=s[k].zong;
s[k].zong=t;
t=s[i].ying;
s[i].ying=s[k].ying;
s[k].ying=t;
strcpy(temp,s[i].name);
strcpy(s[i].name,s[k].name);
strcpy(s[k].name,temp);
}
}

}
void main()
{
int i;
printf("請輸入准考證號、姓名、政治、語文、數學、綜合、英語\n");
for(i=0;i<5;i++)
{
scanf("%d%s%f%f%f%f%f",&stu[i].kh,stu[i].name,&stu[i].z,&stu[i].yu,&stu[i].shu,&stu[i].zong,&stu[i].ying);
stu[i].sum=stu[i].z+stu[i].yu+stu[i].shu+stu[i].zong+stu[i].ying;
}
printf("准考證號 姓名 政治 語文 數學 綜合 英語\n");
paixu(stu);
for(i=0;i<5;i++)
{
printf("%d",stu[i].kh);
printf("% s",stu[i].name);
printf("%f%f%f%f%f%f",stu[i].z,stu[i].yu,stu[i].shu,stu[i].zong,stu[i].ying,stu[i].sum);
}
}
輸出的結果由於是浮點型,所以會有6位小數。對的不齊。

❹ kh 01步進電機控制器如何用旋鈕調速

一般這種電機控制器的旋鈕調速都是在設備的邊角或者是側面。
我們可以看一下控制器的側面,或者是底角邊緣都有一個速度調節旋鈕,擰一下看速度的變化。

❺ 如何用CNC數控電腦編程

數車大部分在車床自帶的控制面板,由操作人員輸入指令代碼達到編程目的.如果是數控銑(也就是大家所說的電腦鑼)或加工中心,多為編程人員在單獨的電腦上,用軟體編寫好程式後,再用區域網傳到機床上.

補充:cnc機床是一種技術集成度及自動化程度很高的機電一體化加工的配置,是綜合應用謀劃機、主動控制、主動檢測及精密機器等高新技能的產品。隨著cnc機床的成長與遍及,當代化企業對明白cnc加工技能、能進行cnc加工編程的技能人才的需求量必將連續增長。cnc車床是如今利用最廣泛的cnc機床之一。

❻ 如果製造一台十進制的電腦,會怎麼樣

電腦常見性能指標

電腦常見性能指標

一、CPU主要性能指標

CPU的英文全稱是Central Processing Unit,即中央處理器。CPU從雛形出現到發展壯大的今天,由於製造技術的越來越先進,其集成度越來越高,內部的晶體管數達到幾百萬個。雖然從最初的CPU發展到現在其晶體管數增加了幾十倍,但是CPU的內部結構仍然可分為控制單元,邏輯單元和存儲單元三大部分。CPU的性能大致上反映出了它所配置的那部微機的性能,因此CPU的性能指標十分重要。 CPU主要的性能指標有以下幾點:

(1)主頻,也就是CPU的時鍾頻率,簡單地說也就是CPU的工作頻率。

一般說來,一個時鍾周期完成的指令數是固定的,所以主頻越高,CPU的速度也就越快了。不過由於各種CPU的內部結構也不盡相同,所以並不能完全用主頻來概括CPU的性能。至於外頻就是系統匯流排的工作頻率;而倍頻則是指CPU外頻與主頻相差的倍數。用公式表示就是:主頻=外頻×倍頻。我們通常說的賽揚433、PIII 550都是指CPU的主頻而言的。

(2)內存匯流排速度或者叫系統總路線速度,一般等同於CPU的外頻。

內存匯流排的速度對整個系統性能來說很重要,由於內存速度的發展滯後於CPU的發展速度,為了緩解內存帶來的瓶頸,所以出現了二級緩存,來協調兩者之間的差異,而內存匯流排速度就是指CPU與二級(L2)高速緩存和內存之間的工作頻率。

(3)工作電壓。工作電壓指的也就是CPU正常工作所需的電壓。

早期CPU(386、486)由於工藝落後,它們的工作電壓一般為5V,發展到奔騰586時,已經是3.5V/3.3V/2.8V了,隨著CPU的製造工藝與主頻的提高,CPU的工作電壓有逐步下降的趨勢,Intel最新出品的Coppermine已經採用1.6V的工作電壓了。低電壓能解決耗電過大和發熱過高的問題,這對於筆記本電腦尤其重要。

(4)協處理器或者叫數學協處理器。在486以前的CPU裡面,是沒有內置協處理器的。

由於協處理器主要的功能就是負責浮點運算,因此386、286、8088等等微機CPU的浮點運算性能都相當落後,自從486以後,CPU一般都內置了協處理器,協處理器的功能也不再局限於增強浮點運算。現在CPU的浮點單元(協處理器)往往對多媒體指令進行了優化。比如Intel的MMX技術,MMX是「多媒體擴展指令集」的縮寫。MMX是Intel公司在1996年為增強Pentium CPU在音像、圖形和通信應用方面而採取的新技術。為CPU新增加57條MMX指令,把處理多媒體的能力提高了60%左右。

(5)流水線技術、超標量。流水線(pipeline)是 Intel首次在486晶元中開始使用的。

流水線的工作方式就象工業生產上的裝配流水線。在CPU中由5~6個不同功能的電路單元組成一條指令處理流水線,然後將一條X86指令分成5~6步後再由這些電路單元分別執行,這樣就能實現在一個CPU時鍾周期完成一條指令,因此提高了CPU的運算速度。超流水線是指某型 CPU內部的流水線超過通常的5~6步以上,例如Pentium pro的流水線就長達14步。將流水線設計的步(級)數越多,其完成一條指令的速度越快,因此才能適應工作主頻更高的CPU。超標量是指在一個時鍾周期內CPU可以執行一條以上的指令。這在486或者以前的CPU上是很難想像的,只有Pentium級以上CPU才具有這種超標量結構;這是因為現代的CPU越來越多的採用了RISC技術,所以才會超標量的CPU。

(6)亂序執行和分枝預測,亂序執行是指CPU採用了允許將多條指令不按程序規定的順序分開發送給各相應電路單元處理的技術。

分支是指程序運行時需要改變的節點。分枝有無條件分支和有條件分支,其中無條件分支只需要CPU按指令順序執行,而條件分支則必須根據處理結果再決定程序運行方向是否改變,因此需要「分支預測」技術處理的是條件分支。

(7)L1高速緩存,也就是我們經常說的一級高速緩存。在CPU裡面內置了高速緩存可以提高CPU的運行效率。

內置的L1高速緩存的容量和結構對CPU的性能影響較大,不過高速緩沖存儲器均由靜態RAM組成,結構較復雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。採用回寫(Write Back)結構的高速緩存。它對讀和寫操作均有可提供緩存。而採用寫通(Write-through)結構的高速緩存,僅對讀操作有效。在486以上的計算機中基本採用了回寫式高速緩存。

(8)L2高速緩存,指CPU外部的高速緩存。

Pentium Pro處理器的L2和CPU運行在相同頻率下的,但成本昂貴,所以Pentium II運行在相當於CPU頻率一半下的,容量為512K。為降低成本Intel公司曾生產了一種不帶L2的CPU名為賽揚。

(9)製造工藝。

Pentium CPU的製造工藝是0.35微米, PII和賽揚可以達到0.25微米,最新的CPU製造工藝可以達到0.18微米,並且將採用銅配線技術,可以極大地提高CPU的集成度和工作頻率。

二、內存主要性能指標

內存對整機的性能影響很大,許多指標都與內存有關,加之內存本身的性能指標就很多,因此,這里只介紹幾個最常用,也是最重要的指標。

(1)速度。

內存速度一般用於存取一次數據所需的時間(單位一般都 ns)來作為性能指標,時間越短,速度就越快。只有當內存與主板速度、CPU速度相匹配時,才能發揮電腦的最大效率,否則會影響 CPU 高速性能的充分發揮。FPM 內存速度只能達到 70~80ns,EDO 內存速度可達到 60ns,而 SDRAM 內存速度最高已達到 7ns。

存儲器的速度指標通常以某種形式的印在晶元上。一般在晶元型號的後面印有-60、-70、-10、-7等字樣,表示起存取速度為60ns、70ns、10ns、7ns。ns和 MHz之間的換算關系如下:

1ns=1000MHz 6ns=166MHz 7ns=143MHz 10ns=100MHz

(2)容量。

內存是電腦中的主要部件,它是相對於外存而言的。而 Windows 系統、打字軟體、游戲軟體等,一般都是安裝在硬碟等外存上的,必須把它們調如內存中運行才能使用,如輸入一段文字或玩一個游戲,其實都是在內存中進行的。通常把要永遠保存的、大量的數據存儲在外存上,而把一些臨時或少量的數據和程序放在內存上。內存容量是多多益善,但要受到主板支持最大容量的限制,而且就是目前主流電腦而言,這個限制仍是阻礙。單條內存的容量通常為 128MB、256MB、最大為 512MB,早期還有 64MB、32MB、16MB 等產品。

(3)內存的奇偶校驗。

為檢驗內存在存取過程中是否准確無誤,每 8位容量配備 1位作為奇偶校驗位,配合主板的奇偶校驗電路對存取數據進行正確校驗,這就需要在內存條上額外加裝一塊晶元。而在實際使用中,有無奇偶校驗位對系統性能並沒有影響,所以,目前大多數內存條上已不在加裝校驗晶元。

(4)內存電壓。

FPM 內存和 EDO 內存均使用 5V 電壓,SDRAM 使用 3.3V電壓,而 DDR 使用 2.5V 電壓,在使用中注意主板上的跳線不能設置錯。

(5)數據寬度和帶寬。

內存的數據寬度是指內存同時傳輸數據的位數,以bit為單位;內存的帶寬是指內存的數據傳輸速率。

(6)內存的線數。

內存的線數是指內存條與主板接觸時接觸點的個數,這些接觸點就是金手指,有 72線、168線和184線等。72線、168線和184線內存條數據寬度分別為 8位、32位和64位。

(7)CAS

CAS 等待時間指從讀命令有效(在時鍾上升沿發出)開始,到輸出端可以提供數據為止的這一段時間,一般是 2個或 3個時鍾周期,它決定了內存的性能,在同等工作頻率下,CAS 等待時間為 2 的晶元比 CAS 等待時間為 3 的晶元速度更快、性能更好。

(8)額定可用頻率(GUF)

將生產廠商給定的最高頻率下調一些,這樣得到的值稱為額定可用頻率 GUF。如 8ns 的內存條,最高可用頻率是 125MHz,那麼額定可用頻率(GUF)應是 112MHz。最高可用頻率與額定可用頻率(前端系統匯流排工作頻率)保持一定餘量,可最大限度地保證系統穩定地工作。

三、顯卡主要性能指標

顯卡的主要性能指標包括以下幾個方面:

(1)刷新頻率:指圖象在屏幕上更新的速度,即屏幕上每秒鍾顯示全畫面的次數,其單位是Hz。75Hz以上的刷新頻率帶來的閃爍感一般人眼不容易察覺,因此,為了保護眼睛,最好將顯示刷新頻率調到 75Hz以上。但並非所以的顯卡都能夠在最大分辨綠下達到 75Hz 以上的刷新頻率(這個性能取決於顯卡上 RAM-DAC 的速度),而且顯示器也可能因為帶寬不夠而不能達到要求。一些低端顯示卡在高解析度下只能設置刷新頻率為 60Hz

(2)色彩位數(彩色深度):圖形中每一個像素的顏色是用一組二進制樹來描述的,這組描述顏色信息的二進制數長度(位數)就稱為色彩位數。色彩位數越高,顯示圖形的色彩越豐富。通常所說的標准 VGA 顯示模式是 8位顯示模式,即在該模式下能顯示 256種顏色;增強色(16位)能顯示 65 536種顏色,也稱 64K色;24位真彩色能顯示 1677萬種顏色,也稱 16M色。該模式下能看到真彩色圖像的色彩已和高清晰度照片沒什麼差別了。另外,還有 32為、36位和42為色彩位樹。

(3)顯示解析度(ResaLution):是指組成一幅圖像(在顯示屏上顯示出圖像)的水平像素和垂直像素的乘積。顯示解析度越高,屏幕上顯示的圖像像素越多,則圖像顯示也就越清晰。顯示解析度和顯示器、顯卡有密切的關系。

顯示解析度通常以「橫向點數×縱向點數」表示,如1024×768。最大解析度指顯卡或顯示器能顯示的最高解析度,在最高解析度下,顯示器的一個發光點對應一個像素。如果設置的顯示解析度低於顯示器的最高解析度,則一個像素可能由多個發光點組成。

(4)顯存容量:顯卡支持的解析度越高,安裝的顯存越多,顯卡的功能就越強,但價格也必然越高。

四、CRT顯示器主要性能指標

(1)顯像管的尺寸:就是我們通常所說的14、15、17英寸,注意,這里說的長度是指顯示器屏幕對角線的長度,單位為英寸(1英寸=25.4毫米)。雖然顯示器通常用15英寸、17英寸這樣的指標來衡量屏幕大小,實際上它們的顯示尺寸並不一樣。最大的可視圖像尺寸(Viewable Image Size,縮寫VIS)大小取決於CRT的可用顯示尺寸和顯示器前面板開口大小。一般15英寸CRT的VIS在13.8~14英寸左右,17英寸CRT的VIS大約為15.5~16英寸左右。因此,在選好顯示器的尺寸時,還要注意看一下它標稱的最大顯示面積。

(2)點距:點距(或條紋間距)是顯示器的一個非常重要的硬體指標。所謂點距,是指一種給定顏色的一個發光點與離它最近的相鄰同色發光點之間的距離,這種距離不能用軟體來更改,這一點與解析度是不同的。在任何相同解析度下,點距越小,顯示圖像越清晰細膩,解析度和圖像質量也就越高。如今家用顯示器大多採用0.28mm點距,採用0.25mm有SONY的特麗瓏和三菱的鑽石瓏,0.26mm(明基和部分飛利浦)和0.27mm的也不少,象三星750S採用0.22mm的點距,完全可以滿足各種行業的需要。對於普通用戶而言,點距在0.28mm以下的顯示器就可以考慮了。

(3)解析度:解析度(Resolution)就是指構成圖像的像素和,即屏幕包含的像素多少。它一般表示為水平解析度(一個掃描行中像素的數目)和垂直解析度(掃描行的數目)的乘積。比如1024×768,表示水平方向最多可以包含1024個像素,垂直方向是768像素,屏幕總像素的個數是它們的乘積。解析度越高,畫麵包含的像素數就越多,圖像越細膩清晰。顯示器的解析度受顯示器的尺寸、顯像管點距、電路特性等方面影響。

(4)帶寬:帶寬是顯示器的一個非常重要的參數,能夠決定顯示器性能的好壞。所謂帶寬是顯示器視頻放大器通頻帶寬度的簡稱,一個電路的帶寬實際上是反映該電路對輸入信號的響應速度。帶寬越寬,慣性越小,響應速度越快,允許通過的信號頻率越高,信號失真越小,它反映了顯示器的解像能力。單位為MHz,可以用「水平解析度X垂直解析度X刷新率」這個公式來計算帶寬的數值。直觀鑒別方法是:運行一個電子表格軟體,並仔細觀察屏幕表格線的橫、豎直線是否粗細一致,同時調整對比度旋鈕,看橫、豎線能否同時截止(消失)。線條粗細差別越小,同時截止的靈敏度越高,說明該顯示器的視頻帶寬指標越高。

(5)刷新率:顯示器的刷新率分為垂直刷新頻率和水平刷新頻率。垂直刷新頻率,也叫場頻,是指每秒鍾顯示器重復刷新顯示畫面的次數,以Hz表示。這個刷新的頻率就是我們通常所說的刷新率。如果刷新率低,顯示的圖像會出現抖動,這也就是我們看電視時圖像閃爍的原因,因此,垂直刷新率越高,圖像越穩定,質量越好。與垂直刷新率相對應的一項指標是水平刷新率,也叫行頻,是指顯示器1秒鍾內掃描水平線的次數,以KH為單位。水平和垂直刷新率及解析度三者是相關的,在解析度確定的情況下,它決定了垂直刷新頻率的最大值。刷新率越高,圖象的質量就越好,閃爍越不明顯,人的感覺就越舒適。一般認為,70~72Hz的刷新率即可保證圖象的穩定。

(6)控制方式:顯示器的控制方式主要有模擬、數控、OSD等,模擬和數控一般應用在14或15英寸的顯示器上,現在的新型顯示器一般都採用OSD的控制方式。OSD也就是在顯示器上表現(On Screen Display)的縮寫,它的誕生使顯示器的調節變得更加方便。可以說這也是數字調節方式的一種,不同的是它使用了人性化的設計,將顯示器的一些設置信息、狀態等信息以量化的方式顯示在屏幕上。這種方式大大簡化和方便了調節的過程,能使一般人很快上手。並且,這種方式也能減少顯示器按鍵的磨損,原因就是它只使用了一個旋鈕(單鍵飛梭)通過數碼控制對其進行操作。這種控制方式也是如今顯示器操控方式的發展方向。

(7)安全認證:顯示器直接關繫到使用者的健康,所以我們有必要認識一些顯示器的安全認證。現在在顯示器市場中最常見,也是最標準的安全認證有TCO92、TCO95、TCO99和MPRII,從認證的等級和全面性來看,TCO99是最高級的認證,其次是TCO95、TCO92及MPRII。這些安全認證對於普通用戶有什麼實際意義呢?我想對於用戶來說,用通過這些安全認證的顯示器當然是最好的選擇。現在TCO認證已經到了TCO99,是越來越嚴格,因此,各廠商都把通過TCO認證做為產品宣傳中的一個亮點。但是,TCO主要關注的是用戶健康,如果用戶沒有什麼經濟問題,還是選用有TCO或MPRII認證的顯示器,畢竟關繫到我們長遠利益。對於電磁輻射的強弱,我們可以用一個簡單的方法來檢測,取一根頭發,在離屏幕正面方8厘米左右的上方落下,若頭發被屏幕吸引就表示輻射較強,最好不要買這款產品。

五、LCD顯示器主要性能指標

(一)解析度

LCD的解析度與CRT顯示器不同,一般不能任意調整,它是製造商所設置和規定的。解析度是指屏幕上每行有多少像素點、每列有多少像素點,一般用矩陣行列式來表示,其中每個像素點都能被計算機單獨訪問。現在LCD的解析度一般是800點×600行的SVGA顯示模式和1024點×768行的XGA顯示模式。

(二)刷新率

LCD刷新頻率是指顯示幀頻,亦即每個像素為該頻率所刷新的時間,與屏幕掃描速度及避免屏幕閃爍的能力相關。也就是說刷新頻率過低,可能出現屏幕圖像閃爍或抖動。

(三)防眩光防反射

防眩光防反射主要是為了減輕用戶眼睛疲勞所增設的功能。由於LCD屏幕的物理結構特點,屏幕的前景反光,屏幕的背景光與漏光,以及像素自身的對比度和亮度都將對用戶眼睛產生不同程度的反射和眩光。特別是視角改變時,表現更明顯。

(四)觀察屏幕視角

是指操作員可以從不同的方向清晰地觀察屏幕上所有內容的角度,這與LCD是DSTN還是TFT有很大關系。因為前者是靠屏幕兩邊的晶體管掃描屏幕發光,後者是靠自身每個像素後面的晶體管發光,其對比度和亮度的差別,決定了它們觀察屏幕的視角有較大區別。DSTN-LCD一般只有60度,TFT-LCD則有160度。

(五)可視角度

一般而言,LCD的可視角度都是左右對稱的,但上下可就不一定了。而且,常常是上下角度小於左右角度。當然了,可視角是愈大愈好。然而,大家必須要了解的是可視角的定義。當我們說可視角是左右80度時,表示站在始於屏幕法線80度的位置時仍可清晰看見屏幕圖像,但每個人的視力不同;因此我們以對比度為准。在最大可視角時所量到的對比愈大愈好。一般而言,業界有CR3 10及CR3 5兩種標准(CR is Contrast Ratio 即對比度)。

(六)亮度、對比度

TFT液晶顯示器的可接受亮度為150cd/m2以上,目前國內能見到的TFT液晶顯示器亮度都在200cd/m2左右,亮度低一點則感覺暗,再亮當然更好,然而對絕大多數用戶而言卻沒有什麼實際意義。

(七)響應時間

響應時間愈小愈好,它反應了液晶顯示器各象素點對輸入信號反應的速度,即pixel由暗轉亮或由亮轉暗的速度。響應時間越小則使用者在看運動畫面時不會出現尾影拖拽的感覺。一般會將反應速率分為兩個部份:Rising 和Falling;而表示時以兩者之和為准。

(八)顯示色素

幾乎所有15英寸 LCD都只能顯示高彩 (256K),因此許多廠商使用了所謂的FRC (Frame Rate Control)技術以模擬的方式來表現出全彩的畫面。當然,此全彩畫面必須依賴顯示卡的顯存,並非使用者的顯示卡可支持16百萬色全彩就能使LCD 顯示出全彩。

六、硬碟主要性能指標

(1)主軸轉速:硬碟的主軸轉速是決定硬碟內部數據傳輸率的決定因素之一,它在很大程度上決定了硬碟的速度,同時也是區別硬碟檔次的重要標志。

(2)尋道時間:該指標是指硬碟磁頭移動到數據所在磁軌而所用的時間,單位為毫秒(ms)。

來源:() - 電腦常見性能指標_張新奎_新浪博客
(3)硬碟表面溫度:該指標表示硬碟工作時產生的溫度使硬碟密封殼溫度上升的情況

(4)道至道時間:該指標表示磁頭從一個磁軌轉移至另一磁軌的時間,單位為毫秒(ms)。

(5)高速緩存:該指標指在硬碟內部的高速存儲器。目前硬碟的高速緩存一般為512KB~2MB,SCSI硬碟的更大。購買時應盡量選取緩存為2MB的硬碟。

(6)全程訪問時間:該指標指磁頭開始移動直到最後找到所需要的數據塊所用的全部時間,單位為毫秒。

(7)最大內部數據傳輸率:該指標名稱也叫持續數據傳輸率(sustained transfer rate),單位為MB/s。它是指磁頭至硬碟緩存間的最大數據傳輸率,一般取決於硬碟的碟片轉速和碟片線密度(指同一磁軌上的數據容量)。

(8)連續無故障時間(MTBF):該指標是指硬碟從開始運行到出現故障的最長時間,單位是小時。一般硬碟的MTBF至少在30000小時以上。這項指標在一般的產品廣告或常見的技術特性表中並不提供,需要時可專門上網到具體生產該款硬碟的公司網址中查詢。

(9)外部數據傳輸率:該指標也稱為突發數據傳輸率,它是指從硬碟緩沖區讀取數據的速率。在廣告或硬碟特性表中常以數據介面速率代替,單位為MB/s。目前主流的硬碟已經全部採用UDMA/ 100技術,外部數據傳輸率可達100MB/s。

七、音效卡主要性能指標

(1)采樣的位數。

采樣的位數有8位、16位、32位。位數越大,精度越高,所錄制的聲音質量也越好。

(2)最高采樣頻率。

最高采樣頻率即每秒鍾採集樣本的數量,一般音效卡提供了 11.025kHZ、22.025kHz、44.1kHz 的采樣頻率,目前,較高檔的音效卡采樣頻率可達 48kHz,今後也許還會出現更高采樣頻率的音效卡。

(3)數字信號處理器(DSP)

數字信號處理器是一塊單獨的專用於處理聲音的處理器。帶 DSP 的音效卡要比不帶 DSP 的音效卡快的多,而且可以提供更好的音質和更高的速度;不帶 DSP 的音效卡要依賴 CPU 完成所有的工作。

(4)還原 MIDI 聲音的技術。

現在的音效卡都支持 MIDI標准,MIDI 是電子樂器介面的統一標准。音效卡中採用兩種技術還原 MIDI 聲音,即 FM 技術與波表技術。

(5)對 Internet 的支持。

為了搭乘 Internet 快車,許多音效卡製造商都開始在自己的產品中提供對 Internet 的支持,如創新公司的 SOUND BLASTER 32 SE PN。

(6)內置混音晶元

內置混音晶元或功放卡中的內置混音晶元,可完成對各種聲音進行混合與調節的工作,該晶元具有功率放大器,可以在無源音箱中放音。

❼ 電腦編程

將ofstream 換成ifstream就可以。。

下面我找了一點資料。。。你看看吧。。

ofstream ifstream 文件操作

c++中輸出和輸入導屏幕和鍵盤的類別聲明包含再標題文件<iostrream.h>中,而磁碟類文件的 I/O則聲明再包含標題文件<fstream.h>內。

輸入和輸出格式:

輸出到磁碟 ofsteam 識別字(「文件名」)

從磁碟讀文件 ifsteam 識別字("文件名「)

例如:

ofstream outfile("data.txt"); //寫入到磁碟的data.txt中

格式化輸入輸出:

1 整數數據的輸入輸出

整數數據存儲再磁碟內,每個文字各佔一個位元組。

例如:

#include <fstream.h>

#include <iostream.h>

#inlude <conio.h>

void main()

{

ofstream outfile("data.txt"); //寫入文件

for(int i=0;i<10;i++)

outfile<<i<<" "; //空格是為了避免數值連接在一起加上去的,此文件大小為20位元組

cout<<"ok,press a key!";

gerch();
}

程序執行後用記事本打開可以看到數據

0 1 2 3 4 5 6 7 8 9

同樣讀取文件語句為:

int data;

ifstream infile("data.txt");

for(int i=0;i<10;i++)

{

infile>>data ; //讀數據的時候因為數據間有一個空格才能完整的讀出,

cout<<data<<" "; //輸出到屏幕,加上空格是為了分開數字

}

2 字元數據的輸入

字元的輸出方式以put(ch)為存入語句,讀取語句為get(ch)

例如:

char str[]="hello this is a c++ programe!\n"

"i know this difference \n"

"and mocive";

ofstream outfile ("data.txt");

for(int i=0;i<strlen(Str);i++)

outfile.put(str[i]);

讀取:

char ch;

ifstream infile("data.txt");

while(infile)

{

infile.get(ch);

cout<<ch;

}

getch();

}

3 字元串數據的輸入

數據多的時候讀寫速度比較快,輸入時以整行字元串加上換行符號一次寫入。讀取的時候以語句getline(buffer,max),來讀取整行數據,直到遇到換行符,每行結尾的\n並不讀入,所以在 輸出的時候需要加上換行符號,否則數據會連接在一起。

例子:

ofstream outfile("strdata.txt");

outfile<<"use your vote\n";

outfile<<"ouse your weise\n";

讀取:

const MAX=80;

char buffer[MAX];

ifstream infile("strdata.txt");

while(infile)

{

infile.getline(buffer,MAX);

cout<<buffer<<endl;

}

4 浮點數

浮點數因為有小數點,在存儲數據時與整數相同,只要每個數據加上一個空格就可以區隔相鄰的數據

6 二進制文件

上述的格式化文件比較佔用硬碟控制項,採用二進制存儲就可以節約很多控制項。它使用write,read()來存儲和讀取。

ofstream 識別字(」文件名「,ios::binary);

write( 寫入地址,寫入大小)

ifstream 識別字(」文件名「,ios:binary);

識別字.read(讀取地址,讀取大小);

例如:infile.read((char*)buffer,sizeof(數據類型));

關閉文件

識別字.close();

例子:

ofstream outfile("data.dat",ios::binary);

for(int i=0;i<100;i++)

{

n[0]=i+1;

outfile.write((Char*)n,sizeof(int)); //還可以用變數和數組為例

// outfile.write((Char*)&i,sizeof(int)); i 為變數

// outfile.write((Char*)n,sizeof(int)); n為數組

}

outfile.close();

ifstream inifile("data.dat",ios:binary);

for(i=0;i<100;i++)

{ inifile.read((Char*)n,sizeof(int);

cout<<n[0]<<" ";

}

7 隨機存取文件

文件能夠隨意讀出,讀出後又可以更新,更新後可以回存到源文件內。fstream file ;

file.open("文件名",存取模式);

file.open("x.dat",ios::app|ios::in|ios::out|ios::binary);

in 打開文件輸入或者讀取 ifstream

out 打開文件輸出或者寫入 ofstream

ate 從文件尾開始寫入或者讀取

app 加在文件尾

arunc 若文件存在,講其長度設為0

binary 打開二進制文件

二進制文件中有一個指針,指向當前數據在文件中的位置,這個文件指針和一般的指針變數不一樣,它只是一個純粹的指示器。

函數介紹

seekg()

seekg(0) 指針移到文件的最前面

seekg(0,ios::cur);把當前的指針當作0

seekg(0,ios::end);將指針移到文件尾,若再配合file.tellg()則可以求出文件的大小為多少bytes

以下兩個操作都必須在文件關閉後才可以使用

remove("文件名」);把這個文件刪除

rename("舊文件名","新文件名");

#include <iostream>
#include <fstream>
using namespace std;

int main()
{
int n[5] = {1, 2, 3, 4, 5};
register int i;

ofstream out("test", ios::out | ios::binary);
if(!out) {
cout << "Cannot open file.\n";
return 1;
}

out.write((char *) &n, sizeof n);

out.close();

for(i = 0; i <5; i++) // clear array
n[i] = 0;

ifstream in("test", ios::in | ios::binary);
if(!in) {
cout << "Cannot open file.\n";
return 1;
}

in.read((char *) &n, sizeof n);

for(i = 0; i <5; i++) // show values read from file
cout << n[i] << " ";

in.close();

return 0;
}

❽ 郵政快遞KH0124728434到那了

這個單號是郵政的快遞包裹。
郵政的給據郵件單號(國內流轉的),由13位數字或兩位數字加11我數字組成。
這個包裹單號,缺少一位數字。你盡快確認一下單號吧!

❾ 求一個C語言或VB的程序(編程:設計一個計算器)

計算器的c語言程序設計
一.功能概述:本程序能計算帶二重括弧的計算式的結果,如輸入((3+2)*(3+2)+5)*((3+2)*(3+2)+5)*(5+5)= 將輸出結果為9000
二.源程序:
#include<stdio.h>
int w;
double B[4][40];

shuru(char *pt)
{
int i=0,m;
do
{
*(pt+i)=getchar();
m=i;
i++;
}
while(*(pt+m)!='=');
*(pt+m)='+';
*(pt+m+1)='=';
}

tlchli(char *p)
{
int a,b;
if(*p=='-'||*p=='+')
{
for(b=0;*(p+b)!='=';b++)
;
for(;b>=0;b--)
*(p+b+1)=*(p+b);
*p='0';
}
else
{
for(a=1;*(p+a)!='=';a++)
{
if(*(p+a)=='-'||*(p+a)=='+')
{
if(*(p+a-1)=='('&&*(p+a+1)>='0'&&*(p+a+1)<='9')
{
for(b=0;*(p+a+b)!='=';b++)
;
for(;b>=0;b--)
*(p+a+b+1)=*(p+a+b);
*(p+a)='0';
a=(a+1);
}
}
}
}
}

jgh(double B[4][40],char *p)
{
int a,b,c=0,d,e,f,h,i,k,n,m;
double g=0,j=0;
for(a=0;a<4;a++)
for(b=0;b<40;b++)
B[a]=0;
for(d=0;*(p+d)!='=';d++)
{
if(*(p+d)=='+'||*(p+d)=='-'||*(p+d)=='*'||*(p+d)=='/')
{
if(*(p+d)=='+') B[3][c]='+';
if(*(p+d)=='-') B[3][c]='-';
if(*(p+d)=='*') B[3][c]='*';
if(*(p+d)=='/') B[3][c]='/';
if(*(p+d-1)==')'&&*(p+d-2)==')')
{
B[0][c]=')';
B[1][c]=')';
}
if(*(p+d-1)==')'&&*(p+d-2)!=')')
B[1][c]=')';
for(e=d-1;*(p+e)<'0'||*(p+e)>'9';e--)
;
for(f=e;*(p+f)!='.'&&(f>0)&&*(p+f)>='0'&&*(p+f)<='9';f--)
;
if(*(p+f)=='.')
{
for(h=f-1;(h>=0)&&*(p+h)>='0'&&*(p+h)<='9';h--)
;
h++;
if(*(p+h-1)=='('&&*(p+h-2)=='(')
{
B[0][c]='(';
B[1][c]='(';
}
if(*(p+h-1)=='('&&*(p+h-2)!='(')
B[1][c]='(';
for(i=h;*(p+i)>='0'&&*(p+i)<='9';i++)
g=(*(p+i)-48)+g*10.0;
for(k=f+1;*(p+k)>='0'&&*(p+k)<='9';k++)
;
k--;
for(n=k;*(p+n)>='0'&&*(p+n)<='9';n--)
j=(j/10.0+(*(p+n)-48)/10.0);
B[2][c]=(g+j);
g=j=0;
}
else
{
for(m=e;*(p+m)>='0'&&*(p+m)<='9';m--);
m++;
if(*(p+m-1)=='('&&*(p+m-2)=='(')
{
B[0][c]='(';
B[1][c]='(';
}
if(*(p+m-1)=='('&&*(p+m-2)!='(')
B[1][c]='(';
for(i=m;*(p+i)>='0'&&*(p+i)<='9';i++)
g=(*(p+i)-48)+g*10.0;
B[2][c]=g;
g=0;
}
c++;
}
}
w=(c-1);
}

qkh1(double B[4][40])
{
int a=1,b,c,d,e,f,j,k;
for(b=0;b<w;b++)
{
if(B[a]=='(')
{
for(c=b;B[a][c]!=')';c++)
;
for(d=b+1;B[a][d]!='('&&d<c;d++)
;
if(B[a][d]=='(')
k=d;
else
k=b;
B[a][k]=0;B[a][c]=0;
for(e=k;e<c;e++)
{
if(B[3][e]=='*')
{
B[2][e+1]=B[2][e]*B[2][e+1];
if(B[3][e-1]=='-'&&(e>0))
{
B[2][e]=0;
B[3][e]='-';
}
else
{
B[2][e]=0;
B[3][e]='+';
}

}
if(B[3][e]=='/')
{
B[2][e+1]=B[2][e]/B[2][e+1];
if(B[3][e-1]=='-'&&e>0)
{
B[2][e]=0;
B[3][e]='-';
}
else
{
B[2][e]=0;
B[3][e]='+';
}
}
}
for(f=k;f<c;f++)
{
if(B[3][f]=='+')
{
B[2][f+1]=B[2][f]+B[2][f+1];
B[2][f]=0;B[3][f]='+';
}
if(B[3][f]=='-')
{
B[2][f+1]=B[2][f]-B[2][f+1];
B[2][f]=0;B[3][f]='+';
}
}
b=c-1;
if(B[3][k-1]=='*'&&k>0)
{
for(;k<c;k++)
{
B[3][k]='*';
B[2][k]=1.0;
}
}
if(B[3][k-1]=='/'&&k>0)
{
for(;k<c;k++)
{
B[3][k]='/';
B[2][k]=1.0;
}
}
}
}
for(j=0;j<=w;j++)
{
if(B[1][j]!='('&&B[1][j]!=')')
B[1][j]=B[0][j];
}
}

qkh2(double B[4][40])
{
int a,b,c,d,e,f,j;
for(b=0;b<w;b++)
{
if(B[1]=='(')
{
for(c=b;B[1][c]!=')';c++)
;
B[1]=0;B[1][c]=0;
for(e=b;e<c;e++)
{
if(B[3][e]=='*')
{
B[2][e+1]=B[2][e]*B[2][e+1];
if(B[3][e-1]=='-'&&(e>0))
{
B[2][e]=0;
B[3][e]='-';
}
else
{
B[2][e]=0;
B[3][e]='+';
}
}
if(B[3][e]=='/')
{
B[2][e+1]=B[2][e]/B[2][e+1];
if(B[3][e-1]=='-'&&(e>0))
{
B[2][e]=0;
B[3][e]='-';
}
else
{
B[2][e]=0;
B[3][e]='+';
}
}
}
for(f=b;f<c;f++)
{
if(B[3][f]=='+')
{
B[2][f+1]=B[2][f]+B[2][f+1];
B[2][f]=0;B[3][f]='+';
}
if(B[3][f]=='-')
{
B[2][f+1]=B[2][f]-B[2][f+1];
B[2][f]=0;B[3][f]='+';
}
}
if(B[3][b-1]=='*'&&b>0)
{
for(;b<c;b++)
{
B[3]='*';
B[2]=1.0;
}
}
if(B[3][b-1]=='/'&&b>0)
{
for(;b<c;b++)
{
B[3]='/';
B[2]=1.0;
}
}
}
}
}

jshjg(double B[4][40])
{
int b,d,e,f;
for(e=0;e<w;e++)
{
if(B[3][e]=='*')
{
B[2][e+1]=B[2][e]*B[2][e+1];
if(B[3][e-1]=='-'&&e>0)
{
B[2][e]=0;
B[3][e]='-';
}
else
{
B[2][e]=0;
B[3][e]='+';
}
}
if(B[3][e]=='/')
{
B[2][e+1]=B[2][e]/B[2][e+1];
if(B[3][e-1]=='-'&&e>0)
{
B[2][e]=0;
B[3][e]='-';
}
else
{
B[2][e]=0;
B[3][e]='+';
}
}
}
for(f=0;f<w;f++)
{
if(B[3][f]=='+')
{
B[2][f+1]=B[2][f]+B[2][f+1];
B[2][f]=0;B[3][f]='+';
}
if(B[3][f]=='-')
{
B[2][f+1]=(B[2][f]-B[2][f+1]);
B[2][f]=0;B[3][f]='+';
}
}
}

shuchu(double B[4][40],char *p)
{
printf("answer %f\n",B[2][w]);
}

main()
{
char *p,A[100];
shuru(A);
p=&A[0];
tlchli(p);
jgh(B,p);
qkh1(B);
qkh2(B);
jshjg(B);
shuchu(B,p);
}

❿ 什麼是電腦編程

編輯程序讓電腦執行的過程就叫編程

很多軟體都可以編程 具有代表性的軟體有BASIC

C,C++,VB,VF,網頁編程JSP,ASP,PHP

建議你從BASIC樹型結構學起

編程學好了可以去軟體公司上班

一般來說可以掙到2500元/M

BASIC是Beginner's All-purpose symbolic instruction Code(初學者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言。BASIC簡單、易學,目前仍是計算機入門的主要學習語言之一。

BASIC語言的問世及發展 BASIC語言自其問世經歷了以下四個階段:

第一階段:(1964年~70年代初) 1964年BASIC語言問世。

第二階段:(1975年~80年代中) 微機上固化的BASIC

第三階段:(80年代中~90年代初) 結構化BASIC語言。

第四階段:(1991年以來) Visual BASIC

BASIC是種易學易用的高級語言,非常適合初學者學習運用。常用的編譯軟體有True BASIC,Turbo BASIC Quick BASIC,Visual BASIC,CAREALIZER,GFA BASIC,POWER BASIC,等等......

1991年,微軟推出了Visual Basic1.0版。這在當時引起了很大的轟動。許多專家把VB的出現當做是軟體開發史上的一個具有劃時代意義的事件。其實,以我們現在的目光來看,VB10的功能實在是太弱了。但在當時,它是第一個「可視」的編程軟體。這使得程序員欣喜之極,都嘗試在VB的平台上進行軟體創作。微軟也不失時機地在四年內接連推出VB20,VB30,40三個版本。並且從VB3開始,微軟將ACCESS的資料庫驅動集成到了VB中,這使得VB的資料庫編程能力大大提高。從VB4開始,VB也引入了面向對象的程序設計思想。VB功能強大,學習簡單。而且,VB還引入了「控制項:的概念,使得大量已經編好的VB程序可以被我們直接拿來使用,如今,VB已經有了6.0版。

通過幾年的發展,它已成為一種真真專業化的開發語言和環境。用戶認為可用Visual Basic快速創建Windows程序,在現在還可以編寫企業水平的客戶/伺服器程序及強大的資料庫應用程序,Visual Basic新版中還有更多可用功能。

Visual Basic的編程基礎

什麼是程序

首先需要知道下面這個問題的答案:「程序到底是什麼?」計算機程序是指令集,它告訴計算機如何執行特殊的任務。讀者也許對許多種指令熟悉,如按菜譜烹調特殊的食物或按指定的方向到達不熟悉的目的地。沒有這些特殊的指令,就不能執行預期的任務。

計算機也是一樣,只是它們需要為執行的每一個任務提供指令。甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁碟中保存訊息。 幸運的是,許多這樣的指令包含在處理器晶元中或內置於操作系統中,因此用戶不必擔心它們。

相反,應集中於為任務提供指令,如計算雇員工資,創建鄰居郵件列表,或設置格式化文本以顯示最近的年度報表信息。 雖然我們用自然語言讀這些指令,但計算機指令必須是二進制代碼,即一系列在計算機內存和處理器中的開或關的狀態。有些語言,如匯編程序,可以允許直接寫這種類型的代碼。但是,以這種方法編程十分困難,因此Visual Basic和其他編程語言使程序員可以用與自然語言有點相近的方式編寫指令。然而,即使是這些指令仍有限,並要遵循高度定義的結構。

事件驅動編程

Visual Basic允許創建反映用戶動作和系統事件的程序。這種編程叫事件驅動編程。要了解事件驅動程序是怎樣工作的,先要了解過去的程序怎樣運行及在Windows環境中有何不同。 在Windows之前(回到往日的DOS和「史前時代」��PC之前),程序以順序方式運行。也就是說,一旦程序啟動,它就一條指令一條指令的向前執行,直到程序結束或出現致命錯誤。

面向對象編程

使創建Windows程序較為容易的關鍵技術是面向對象編程,或OOP。這種技術可以創建可重用組建,它是程序的組成模塊。

幾個定義

在討論Visual Basic時,經常可以聽到這些術語,因此對這些術語的基本理解十分有幫助。

控制項 提供程序可見界面的可重用對象。控制項的示例有文本框、標簽和命令按鈕。

事件 由用戶或操作系統引發的動作。事件的示例有擊鍵、單擊滑鼠、一段時間的限制,或從埠接收數據。

方法 嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息並響應某事件。例如,資料庫對象有打開紀錄集並從一個記錄移動到另一個記錄的方法。

對象 程序的基本元素,它含有定義其特徵的屬性,定義其任務和識別它可以響應的事件的方法。控制項和窗體是Visual Basic中所有對象的示例。

過程 為完成任務而編寫的代碼段。過程通常用於響應特定的事件。

屬性 對象的特徵,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用於為對象提供數據和從對象取回信息

可先學習VB,它的難度並不大,精通需實踐加上勤奮.請先找本VB方面的參考消書如"VISUAL STUDIO 6.0 入門和提高",清華大學出版社出版的.照書中的介紹,一步一個腳印的實踐.
如有MICROSOFT VISUAL STUDIO 6.0 MSDN文檔資料,兩張光碟,其中有不少範例代碼,有助於你提高.學會它可解決許多實際應用,特別是資料庫的操縱.圖形界面和圖形程序用VB6.0大都能做到.
有時間學C和C++語言則更好.任何編程語言隨時間推移,都在發展,所以要不斷更新,提高方能不落後.另可學習一些資料庫知識,如ACCSEE,VFP等,對於編程的實際應用有好處.
在企業或其它單位,都有大量的計算機應用需要人們去開發.編一個應用軟體,一但成功,對你將是一種激勵,你的努力會有回報的.祝你成功!
另外還可以去下面哪些網站看看
http://www.csdn.com.cn/
www.csdn.net
www.csdn.com.cn
www.csdn.net

閱讀全文

與kh01可以電腦編程嗎相關的資料

熱點內容
程序員看不懂怎麼辦 瀏覽:271
linux操作系統題 瀏覽:765
單片機無符號數加法 瀏覽:227
應用隱藏加密怎麼關閉 瀏覽:269
汽車空調的壓縮機電線有什麼用 瀏覽:429
電腦加密圖片如何取消加密 瀏覽:340
慧凈電子51單片機視頻 瀏覽:343
javamap賦值 瀏覽:165
什麼app可以玩掌機游戲 瀏覽:46
java簡單聊天室 瀏覽:462
通用汽車編程軟體 瀏覽:432
一級抗震框架梁箍筋加密區規定是多少 瀏覽:974
教你如何把安卓手機變成蘋果 瀏覽:11
app編譯分類 瀏覽:323
怎麼用伺服器的資源包 瀏覽:199
oa軟體手機登陸伺服器地址 瀏覽:289
androidrtp打包 瀏覽:723
信息被加密碼了怎麼辦 瀏覽:420
彈出光碟命令 瀏覽:517
kdj公式源碼分享 瀏覽:355