A. 計算機二級c語言中一定要編譯嘛
c語言中一定要編譯。現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)採納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布。
鏈接階段鏈接階段的主要工作是將有關的目標文件連接起來,即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的目標文件成為一個能夠被操作系統裝入執行的統一整體。
(1)計算機內什麼時候進行編譯擴展閱讀:
C編譯的整個過程很復雜,大致可以分為以下四個階段:
1、預處理階段在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。
2、編譯、優化階段編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。
B. 計算機二級考試 機試 需要編譯並且運行嗎在什麼時候點擊保存
最後一個程序要運行,然後再保存!沒運行就是0分
C. 計算機語言中的編輯,編譯,解釋,匯編都分別是什麼意思啊
在c語言里,辯吵編輯好的運行之前要編譯一下,檢查代碼有沒有錯誤。可嫌薯以在某些語句後面加註芹灶者釋,讓代碼看得懂一些。
D. 計算機中翻譯和編譯的含義。
A、解釋程序
所謂解釋程序是高級語言翻譯程序的一種,它將源語言(如BASIC)書寫的源程序作為輸入,解釋一句後就提交計算機執行一句,並不形成目標程序。就像外語翻譯中的「口譯」一樣,說一句翻一句,不產生全文的翻譯文本。這種工作方式非常適合於人通過終端設備與計算機會話,如在終端上打一條命令或語句,解釋程序就立即將此語句解釋成一條或幾條指令並提交硬體立即執行且將執行結果反映到終端,從終端把命令打入後,就能立即得到計算結果。這的確是很方便的,很適合於一些小型機的計算問題。但解釋程序執行速度很慢,例如源程序中出現循環,則解釋程序也重復地解釋並提交執行這一組語句,這就造成很大浪費。
B、編譯程序
這是一類很重要的語言處理程序,它把高級語言(如FORTRAN、COBOL、Pascal、C等)源程序作為輸入,進行翻譯轉換,產生出機器語言的目標程序,然後再讓計算機去執行這個目標程序,得到計算結果。
編譯程序工作時,先分析,後綜合,從而得到目標程序。所謂分析,是指詞法分析和語法分析;所謂綜合是指代碼優化,存儲分配和代碼生成。為了完成這些分析綜合任務,編譯程序採用對源程序進行多次掃描的辦法,每次掃描集中完成一項或幾項任務,也有一項任務分散到幾次掃描去完成的。下面舉一個四遍掃描的例子:第一遍掃描做詞法分析;第二遍掃描做語法分析;第三遍掃描做代碼優化和存儲分配;第四遍掃描做代碼生成。
值得一提的是,大多數的編譯程序直接產生機器語言的目標代碼,形成可執行的目標文件,但也有的編譯程序則先產生匯編語言一級的符號代碼文件,然後再調用匯編程序進行翻譯加工處理,最後產生可執行的機器語言目標文件。
在實際應用中,對於需要經常使用的有大量計算的大型題目,採用招待速度較快的編譯型的高級語言較好,雖然編譯過程本身較為復雜,但一旦形成目標文件,以後可多次使用。相反,對於小型題目或計算簡單不太費機時的題目,則多選用解釋型的會話式高級語言,如BASIC,這樣可以大大縮短編程及調試的時長。
望採納!!!
E. 小白求助,編譯是什麼,為什麼需要編譯
人與機器交流(即人讓計算機按照人的意願做事)依賴於語言
語言的層次是:自然語言->高級編程語言->匯編語言->機器碼
人最熟悉的肯定是自然語言(就是你平時說的話)。
而計算機的cpu只認識二進制的機器碼,機器碼指導計算機做什麼操作(如邏輯運算)。
高級編程語言跟自然語言的關系更近些,對人來說相當於自然語言的白痴版,如java中的對象與類的概念可能對應於現實世界的某種事物,如C語言中的函數可能對應了一個功能,比如列印文件,經過簡單的訓練,人也能大概的讀懂。
匯編語言和機器碼更接近些,每個匯編指令一般都會對應一條機器碼,而高級編程語言中的一個語句(如if else什麼的)可能會對應多條匯編指令,匯編指令一般就是算術運算(如add)、邏輯運算(如and)、數據傳送(如mov)、條件判斷、跳轉等,只能用這些簡單功能的匯編指令組合來完成一個復雜的功能。人看懂匯編就很吃力了,更別提用匯編來完成想要的功能,太吃力,這個過程還是交個編譯器比較好。
而機器碼對於一般的程序員來說,就是天書,也基本沒人願意去看。
自然語言最容易表述人們的要求,當用戶用自然語言表述了需要的功能後,從自然語言到高級語言的轉換過程由程序員來完成,而由高級編程語言到匯編、由匯編到機器碼的過程都由編譯器來完成,由編譯器完成的這個過程也就是編譯了。
高級編程語言的代碼經過編譯階段成為匯編代碼,匯編代碼經過匯編階段變成機器碼,機器碼文件經過鏈接階段變成可執行文件(.exe)。一般編譯是指的編譯階段和匯編階段的組合,編譯器的工作一般是編譯和鏈接。
這就是我的理解,希望你幫到你。
F. 研究或者探討函數在計算機中的存儲或者在編譯時怎麼知道什麼時候調用什麼函數這些理論,是什麼課程!!
計算機的發展歷史
一、第一台計算機的誕生
第一台計算機(ENIAC)於1946年2月,在美國誕生。
ENIAC PC機
耗資 100萬美圓 600美圓
重量 30噸 10kg
佔地 150平方米 0.25平方米
電子器件 1.9萬只電子管 100塊集成電路
運算速度 5000次/秒 500萬次/秒
二、計算機發展歷史
1、第一代計算機(1946~1958)
電子管為基本電子器件;使用機器語言和匯編語言;主要應用於國防和科學計算;運算速度每秒幾千次至幾萬次。
2、第二代計算機(1958~1964)
晶體管為主要器件;軟體上出現了操作系統和演算法語言;運算速度每秒幾萬次至幾十萬次。
3、第三代計算機(1964~1971)
普遍採用集成電路;體積縮小;運算速度每秒幾十萬次至幾百萬次。
4、第四代計算機(1971~ )
以大規模集成電路為主要器件;運算速度每秒幾百萬次至上億次。
三、我國計算機發展歷史
從1953年開始研究,到1958年研製出了我國第一台計算機
在1982年我國研製出了運算速度1億次的銀河I、II型等小型系列機。
計算機的歷史
計算機是新技術革命的一支主力,也是推動社會向現代化邁進的活躍因素。計算機科學與技術是第二次世界大戰以來發展最快、影響最為深遠的新興學科之一。計算機產業已在世界范圍內發展成為一種極富生命力的戰略產業。
現代計算機是一種按程序自動進行信息處理的通用工具,它的處理對象是信息,處理結果也是信息。利用計算機解決科學計算、工程設計、經營管理、過程式控制制或人工智慧等各種問題的方法,都是按照一定的演算法進行的。這種演算法是定義精確的一系列規則,它指出怎樣以給定的輸入信息經過有限的步驟產生所需要的輸出信息。
信息處理的一般過程,是計算機使用者針對待解抉的問題,事先編製程序並存入計算機內,然後利用存儲程序指揮、控制計算機自動進行各種基本操作,直至獲得預期的處理結果。計算機自動工作的基礎在於這種存儲程序方式,其通用性的基礎則在於利用計算機進行信息處理的共性方法。
計算機的歷史
現代計算機的誕生和發展 現代計算機問世之前,計算機的發展經歷了機械式計算機、機電式計算機和萌芽期的電子計算機三個階段。
早在17世紀,歐洲一批數學家就已開始設計和製造以數字形式進行基本運算的數字計算機。1642年,法國數學家帕斯卡採用與鍾表類似的齒輪傳動裝置,製成了最早的十進制加法器。1678年,德國數學家萊布尼茲製成的計算機,進一步解決了十進制數的乘、除運算。
英國數學家巴貝奇在1822年製作差分機模型時提出一個設想,每次完成一次算術運算將發展為自動完成某個特定的完整運算過程。1884年,巴貝奇設計了一種程序控制的通用分析機。這台分析機雖然已經描繪出有關程序控制方式計算機的雛型,但限於當時的技術條件而未能實現。
巴貝奇的設想提出以後的一百多年期間,電磁學、電工學、電子學不斷取得重大進展,在元件、器件方面接連發明了真空二極體和真空三極體;在系統技術方面,相繼發明了無線電報、電視和雷達……。所有這些成就為現代計算機的發展准備了技術和物質條件。
與此同時,數學、物理也相應地蓬勃發展。到了20世紀30年代,物理學的各個領域經歷著定量化的階段,描述各種物理過程的數學方程,其中有的用經典的分析方法已根難解決。於是,數值分析受到了重視,研究出各種數值積分,數值微分,以及微分方程數值解法,把計算過程歸結為巨量的基本運算,從而奠定了現代計算機的數值演算法基礎。
社會上對先進計算工具多方面迫切的需要,是促使現代計算機誕生的根本動力。20世紀以後,各個科學領域和技術部門的計算困難堆積如山,已經阻礙了學科的繼續發展。特別是第二次世界大戰爆發前後,軍事科學技術對高速計算工具的需要尤為迫切。在此期間,德國、美國、英國部在進行計算機的開拓工作,幾乎同時開始了機電式計算機和電子計算機的研究。
德國的朱賽最先採用電氣元件製造計算機。他在1941年製成的全自動繼電器計算機Z-3,已具備浮點記數、二進制運算、數字存儲地址的指令形式等現代計算機的特徵。在美國,1940~1947年期間也相繼製成了繼電器計算機MARK-1、MARK-2、Model-1、Model-5等。不過,繼電器的開關速度大約為百分之一秒,使計算機的運算速度受到很大限制。
電子計算機的開拓過程,經歷了從製作部件到整機從專用機到通用機、從「外加式程序」到「存儲程序」的演變。1938年,美籍保加利亞學者阿塔納索夫首先製成了電子計算機的運算部件。1943年,英國外交部通信處製成了「巨人」電子計算機。這是一種專用的密碼分析機,在第二次世界大戰中得到了應用。
1946年2月美國賓夕法尼亞大學莫爾學院製成的大型電子數字積分計算機(ENIAC),最初也專門用於火炮彈道計算,後經多次改進而成為能進行各種科學計算的通用計算機。這台完全採用電子線路執行算術運算、邏輯運算和信息存儲的計算機,運算速度比繼電器計算機快1000倍。這就是人們常常提到的世界上第一台電子計算機。但是,這種計算機的程序仍然是外加式的,存儲容量也太小,尚未完全具備現代計算機的主要特徵。
新的重大突破是由數學家馮·諾伊曼領導的設計小組完成的。1945年3月他們發表了一個全新的存儲程序式通用電子計算機方案—電子離散變數自動計算機(EDVAC)。隨後於1946年6月,馮·諾伊曼等人提出了更為完善的設計報告《電子計算機裝置邏輯結構初探》。同年7~8月間,他們又在莫爾學院為美國和英國二十多個機構的專家講授了專門課程《電子計算機設計的理論和技術》,推動了存儲程序式計算機的設計與製造。
1949年,英國劍橋大學數學實驗室率先製成電子離散時序自動計算機(EDSAC);美國則於1950年製成了東部標准自動計算機(SFAC)等。至此,電子計算機發展的萌芽時期遂告結束,開始了現代計算機的發展時期。
在創制數字計算機的同時,還研製了另一類重要的計算工具——模擬計算機。物理學家在總結自然規律時,常用數學方程描述某一過程;相反,解數學方程的過程,也有可能採用物理過程模擬方法,對數發明以後,1620年製成的計算尺,己把乘法、除法化為加法、減法進行計算。麥克斯韋巧妙地把積分(面積)的計算轉變為長度的測量,於1855年製成了積分儀。
19世紀數學物理的另一項重大成就——傅里葉分析,對模擬機的發展起到了直接的推動作用。19世紀後期和20世紀前期,相繼製成了多種計算傅里葉系數的分析機和解微分方程的微分分析機等。但是當試圖推廣微分分析機解偏微分方程和用模擬機解決一般科學計算問題時,人們逐漸認識到模擬機在通用性和精確度等方面的局限性,並將主要精力轉向了數字計算機。
電子數字計算機問世以後,模擬計算機仍然繼續有所發展,並且與數字計算機相結合而產生了混合式計算機。模擬機和混合機已發展成為現代計算機的特殊品種,即用在特定領域的高效信息處理工具或模擬工具。
20世紀中期以來,計算機一直處於高速度發展時期,計算機由僅包含硬體發展到包含硬體、軟體和固件三類子系統的計算機系統。計算機系統的性能—價格比,平均每10年提高兩個數量級。計算機種類也一再分化,發展成微型計算機、小型計算機、通用計算機(包括巨型、大型和中型計算機),以及各種專用機(如各種控制計算機、模擬—數字混合計算機)等。
計算機器件從電子管到晶體管,再從分立元件到集成電路以至微處理器,促使計算機的發展出現了三次飛躍。
在電子管計算機時期(1946~1959),計算機主要用於科學計算。主存儲器是決定計算機技術面貌的主要因素。當時,主存儲器有水銀延遲線存儲器、陰極射線示波管靜電存儲器、磁鼓和磁心存儲器等類型,通常按此對計算機進行分類。
到了晶體管計算機時期(1959~1964),主存儲器均採用磁心存儲器,磁鼓和磁碟開始用作主要的輔助存儲器。不僅科學計算用計算機繼續發展,而且中、小型計算機,特別是廉價的小型數據處理用計算機開始大量生產。
1964年,在集成電路計算機發展的同時,計算機也進入了產品系列化的發展時期。半導體存儲器逐步取代了磁心存儲器的主存儲器地位,磁碟成了不可缺少的輔助存儲器,並且開始普遍採用虛擬存儲技術。隨著各種半導體只讀存儲器和可改寫的只讀存儲器的迅速發展,以及微程序技術的發展和應用,計算機系統中開始出現固件子系統。
20世紀70年代以後,計算機用集成電路的集成度迅速從中小規模發展到大規模、超大規模的水平,微處理器和微型計算機應運而生,各類計算機的性能迅速提高。隨著字長4位、8位、16位、32位和64位的微型計算機相繼問世和廣泛應用,對小型計算機、通用計算機和專用計算機的需求量也相應增長了。
微型計算機在社會上大量應用後,一座辦公樓、一所學校、一個倉庫常常擁有數十台以至數百台計算機。實現它們互連的局部網隨即興起,進一步推動了計算機應用系統從集中式系統向分布式系統的發展。
在電子管計算機時期,一些計算機配置了匯編語言和子程序庫,科學計算用的高級語言FORTRAN初露頭角。在晶體管計算機階段,事務處理的COBOL語言、科學計算機用的ALGOL語言,和符號處理用的LISP等高級語言開始進入實用階段。操作系統初步成型,使計算機的使用方式由手工操作改變為自動作業管理。
進入集成電路計算機發展時期以後,在計算機中形成了相當規模的軟體子系統,高級語言種類進一步增加,操作系統日趨完善,具備批量處理、分時處理、實時處理等多種功能。資料庫管理系統、通信處理程序、網路軟體等也不斷增添到軟體子系統中。軟體子系統的功能不斷增強,明顯地改變了計算機的使用屬性,使用效率顯著提高。
在現代計算機中,外圍設備的價值一般已超過計算機硬體子系統的一半以上,其技術水平在很大程度上決定著計算機的技術面貌。外圍設備技術的綜合性很強,既依賴於電子學、機械學、光學、磁學等多門學科知識的綜合,又取決於精密機械工藝、電氣和電子加工工藝以及計量的技術和工藝水平等。
外圍設備包括輔助存儲器和輸入輸出設備兩大類。輔助存儲器包括磁碟、磁鼓、磁帶、激光存儲器、海量存儲器和縮微存儲器等;輸入輸出設備又分為輸入、輸出、轉換、、模式信息處理設備和終端設備。在這些品種繁多的設備中,對計算機技術面貌影響最大的是磁碟、終端設備、模式信息處理設備和轉換設備等。
新一代計算機是把信息採集存儲處理、通信和人工智慧結合在一起的智能計算機系統。它不僅能進行一般信息處理,而且能面向知識處理,具有形式化推理、聯想、學習和解釋的能力,將能幫助人類開拓未知的領域和獲得新的知識。
計算技術在中國的發展 在人類文明發展的歷史上中國曾經在早期計算工具的發明創造方面寫過光輝的一頁。遠在商代,中國就創造了十進制記數方法,領先於世界千餘年。到了周代,發明了當時最先進的計算工具——算籌。這是一種用竹、木或骨製成的顏色不同的小棍。計算每一個數學問題時,通常編出一套歌訣形式的演算法,一邊計算,一邊不斷地重新布棍。中國古代數學家祖沖之,就是用算籌計算出圓周率在3.1415926和3.1415927之間。這一結果比西方早一千年。
珠算盤是中國的又一獨創,也是計算工具發展史上的第一項重大發明。這種輕巧靈活、攜帶方便、與人民生活關系密切的計算工具,最初大約出現於漢朝,到元朝時漸趨成熟。珠算盤不僅對中國經濟的發展起過有益的作用,而且傳到日本、朝鮮、東南亞等地區,經受了歷史的考驗,至今仍在使用。
中國發明創造指南車、水運渾象儀、記里鼓車、提花機等,不僅對自動控制機械的發展有卓越的貢獻,而且對計算工具的演進產生了直接或間接的影響。例如,張衡製作的水運渾象儀,可以自動地與地球運轉同步,後經唐、宋兩代的改進,遂成為世界上最早的天文鍾。
記里鼓車則是世界上最早的自動計數裝置。提花機原理劉計算機程序控制的發展有過間接的影響。中國古代用陽、陰兩爻構成八卦,也對計算技術的發展有過直接的影響。萊布尼茲寫過研究八卦的論文,系統地提出了二進制算術運演算法則。他認為,世界上最早的二進製表示法就是中國的八卦。
經過漫長的沉寂,新中國成立後,中國計算技術邁入了新的發展時期,先後建立了研究機構,在高等院校建立了計算技術與裝置專業和計算數學專業,並且著手創建中國計算機製造業。
1958年和1959年,中國先後製成第一台小型和大型電子管計算機。60年代中期,中國研製成功一批晶體管計算機,並配製了ALGOL等語言的編譯程序和其他系統軟體。60年代後期,中國開始研究集成電路計算機。70年代,中國已批量生產小型集成電路計算機。80年代以後,中國開始重點研製微型計算機系統並推廣應用;在大型計算機、特別是巨型計算機技術方面也取得了重要進展;建立了計算機服務業,逐步健全了計算機產業結構。
在計算機科學與技術的研究方面,中國在有限元計算方法、數學定理的機器證明、漢字信息處理、計算機系統結構和軟體等方面都有所建樹。在計算機應用方面,中國在科學計算與工程設計領域取得了顯著成就。在有關經營管理和過程式控制制等方面,計算機應用研究和實踐也日益活躍。
計算機科學與技術
計算機科學與技術是一門實用性很強、發展極其迅速的面向廣大社會的技術學科,它建立在數學、電子學 (特別是微電子學)、磁學、光學、精密機械等多門學科的基礎之上。但是,它並不是簡單地應用某些學科的知識,而是經過高度綜合形成一整套有關信息表示、變換、存儲、處理、控制和利用的理論、方法和技術。
計算機科學是研究計算機及其周圍各種現象與規模的科學,主要包括理論計算機科學、計算機系統結構、軟體和人工智慧等。計算機技術則泛指計算機領域中所應用的技術方法和技術手段,包括計算機的系統技術、軟體技術、部件技術、器件技術和組裝技術等。計算機科學與技術包括五個分支學科,即理論計算機科學、計算機系統結構、計算機組織與實現、計算機軟體和計算機應用。
理論計算機學 是研究計算機基本理論的學科。在幾千年的數學發展中,人們研究了各式各樣的計算,創立了許多演算法。但是,以計算或演算法本身的性質為研究對象的數學理論,卻是在20世紀30年代才發展起來的。
當時,由幾位數理邏輯學者建立的演算法理論,即可計算性理論或稱遞歸函數論,對20世紀40年代現代計算機設計思想的形成產生過影響。此後,關於現實計算機及其程序的數學模型性質的研究,以及計算復雜性的研究等不斷有所發展。
理論計算機科學包括自動機論、形式語言理論、程序理論、演算法分析,以及計算復雜性理論等。自動機是現實自動計算機的數學模型,或者說是現實計算機程序的模型,自動機理論的任務就在於研究這種抽象機器的模型;程序設計語言是一種形式語言,形式語言理論根據語言表達能力的強弱分為O~3型語言,與圖靈機等四類自動機逐一對應;程序理論是研究程序邏輯、程序復雜性、程序正確性證明、程序驗證、程序綜合、形式語言學,以及程序設計方法的理論基礎;演算法分析研究各種特定演算法的性質。計算復雜性理論研究演算法復雜性的一般性質。
計算機系統結構 程序設計者所見的計算機屬性,著重於計算機的概念結構和功能特性,硬體、軟體和固件子系統的功能分配及其界面的確定。使用高級語言的程序設計者所見到的計算機屬性,主要是軟體子系統和固件子系統的屬性,包括程序語言以及操作系統、資料庫管理系統、網路軟體等的用戶界面。使用機器語言的程序設計者所見到的計算機屬性,則是硬體子系統的概念結構(硬體子系統結構)及其功能特性,包括指令系統(機器語言),以及寄存器定義、中斷機構、輸入輸出方式、機器工作狀態等。
硬體子系統的典型結構是馮·諾伊曼結構,它由運算器控制器、存儲器和輸入、輸出設備組成,採用「指令驅動」方式。當初,它是為解非線性、微分方程而設計的,並未預見到高級語言、操作系統等的出現,以及適應其他應用環境的特殊要求。在相當長的一段時間內,軟體子系統都是以這種馮·諾伊曼結構為基礎而發展的。但是,其間不相適應的情況逐漸暴露出來,從而推動了計算機系統結構的變革。
計算機組織與實現 是研究組成計算機的功能、部件間的相互連接和相互作用,以及有關計算機實現的技術,均屬於計算機組織與實現的任務。
在計算機系統結構確定分配給硬子系統的功能及其概念結構之後,計算機組織的任務就是研究各組成部分的內部構造和相互聯系,以實現機器指令級的各種功能和特性。這種相互聯系包括各功能部件的布置、相互連接和相互作用。
隨著計算機功能的擴展和性能的提高,計算機包含的功能部件也日益增多,其間的互連結構日趨復雜。現代已有三類互連方式,分別以中央處理器、存儲器或通信子系統為中心,與其他部件互連。以通信子系統為中心的組織方式,使計算機技術與通信技術緊密結合,形成了計算機網路、分布計算機系統等重要的計算機研究與應用領域。
與計算實現有關的技術范圍相當廣泛,包括計算機的元件、器件技術,數字電路技術,組裝技術以及有關的製造技術和工藝等。
軟體 軟體的研究領域主要包括程序設計、基礎軟體、軟體工程三個方面。程序設計指設計和編製程序的過程,是軟體研究和發展的基礎環節。程序設計研究的內容,包括有關的基本概念、規范、工具、方法以及方法學等。這個領域發展的特點是:從順序程序設計過渡到並發程序設計和分幣程序設計;從非結構程序設計方法過渡到結構程序設計方法;從低級語言工具過渡到高級語言工具;從具體方法過渡到方法學。
基礎軟體指計算機系統中起基礎作用的軟體。計算機的軟體子系統可以分為兩層:靠近硬體子系統的一層稱為系統軟體,使用頻繁,但與具體應用領域無關;另一層則與具體應用領域直接有關,稱為應用軟體;此外還有支援其他軟體的研究與維護的軟體,專門稱為支援軟體。
軟體工程是採用工程方法研究和維護軟體的過程,以及有關的技術。軟體研究和維護的全過程,包括概念形成、要求定義、設計、實現、調試、交付使用,以及有關校正性、適應性、完善性等三層意義的維護。軟體工程的研究內容涉及上述全過程有關的對象、結構、方法、工具和管理等方面。
軟體目動研究系統的任務是:在軟體工程中採用形式方法:使軟體研究與維護過程中的各種工作盡可能多地由計算機自動完成;創造一種適應軟體發展的軟體、固件與硬體高度綜合的高效能計算機。
計算機產業
計算機產業包括兩大部門,即計算機製造業和計算機服務業。後者又稱為信息處理產業或信息服務業。計算機產業是一種省能源、省資源、附加價值高、知識和技術密集的產業,對於國民經濟的發展、國防實力和社會進步均有巨大影響。因此,不少國家採取促進計算機產業興旺發達的政策。
計算機製造業包括生產各種計算機系統、外圍設備終端設備,以及有關裝置、元件、器件和材料的製造。計算機作為工業產品,要求產品有繼承性,有很高的性能-價格比和綜合性能。計算機的繼承性特別體現在軟體兼容性方面,這能使用戶和廠家把過去研製的軟體用在新產品上,使價格很高的軟體財富繼續發揮作用,減少用戶再次研製軟體的時間和費用。提高性能-價格比是計算機產品更新的目標和動力。
計算機製造業提供的計算機產品,一般僅包括硬體子系統和部分軟體子系統。通常,軟體子系統中缺少適應各種特定應用環境的應用軟體。為了使計算機在特定環境中發揮效能,還需要設計應用系統和研製應用軟體此外,計算機的運行和維護,需要有掌握專業知識的技術人員,這常常是一股用戶所作不到的。
針對這些社會需要,一些計算機製造廠家十分重視向用戶提供各種技術服務和銷售服務。一些獨立於計算機製造廠家的計算機服務機構,也在50年代開始出現。到60年代末期,計算機服務業在世界范圍內已形成為獨立的行業。
計算機的發展與應用
計算機科學與技術的各門學科相結合,改進了研究工具和研究方法,促進了各門學科的發展。過去,人們主要通過實驗和理論兩種途徑進行科學技術研究。現在,計算和模擬已成為研究工作的第三條途徑。
計算機與有關的實驗觀測儀器相結合,可對實驗數據進行現場記錄、整理、加工、分析和繪制圖表,顯著地提高實驗工作的質量和效率。計算機輔助設計已成為工程設計優質化、自動化的重要手段。在理論研究方面,計算機是人類大腦的延伸,可代替人腦的若干功能並加以強化。古老的數學靠紙和筆運算,現在計算機成了新的工具,數學定理證明之類的繁重腦力勞動,已可能由計算機來完成或部分完成。
計算和模擬作為一種新的研究手段,常使一些學科衍生出新的分支學科。例如,空氣動力學、氣象學、彈性結構力學和應用分析等所面臨的「計算障礙」,在有了高速計算機和有關的計算方法之後開始有所突破,並衍生出計算空氣動力學、氣象數值預報等邊緣分支學科。利用計算機進行定量研究,不僅在自然科學中發揮了重大的作用,在社會科學和人文學科中也是如此。例如,在人口普查、社會調查和自然語言研究方面,計算機就是一種很得力的工具。
計算機在各行各業中的廣泛應用,常常產生顯著的經濟效益和社會效益,從而引起產業結構、產品結構、經營管理和服務方式等方面的重大變革。在產業結構中已出觀了計算機製造業和計算機服務業,以及知識產業等新的行業。
微處理器和微計算機已嵌入機電設備、電子設備、通信設備、儀器儀表和家用電器中,使這些產品向智能化方向發展。計算機被引入各種生產過程系統中,使化工、石油、鋼鐵、電力、機械、造紙、水泥等生產過程的自動化水平大大提高,勞動生產率上升、質量提高、成本下降。計算機嵌入各種武器裝備和武器系統干,可顯著提高其作戰效果。
經營管理方面,計算機可用於完成統計、計劃、查詢、庫存管理、市場分析、輔助決策等,使經營管理工作科學化和高效化,從而加速資金周轉,降低庫存水準,改善服務質量,縮短新產品研製周期,提高勞動生產率。在辦公室自動化方面,計算機可用於文件的起草、檢索和管理等,顯著提高辦公效率。
計算機還是人們的學習工具和生活工具。藉助家用計算機、個人計算機、計算機網、資料庫系統和各種終端設備,人們可以學習各種課程,獲取各種情報和知識,處理各種生活事務(如訂票、購物、存取款等),甚至可以居家辦公。越來越多的人的工作、學習和生活中將與計算機發生直接的或間接的聯系。普及計算機教育已成為一個重要的問題。
總之,計算機的發展和應用已不僅是一種技術現象而且是一種政治、經濟、軍事和社會現象。世界各國都力圖主動地駕馭這種社會計算機化和信息化的進程,克服計算機化過程中可能出現的消極因素,更順利地向高
時代的車輪即將駛進21世紀的大門。人們將怎樣面向未來?無論你從事什麼工作,也不論你生活在什麼地方,都會認識到我們所面臨的世紀是科技高度發展的信息時代。計算機是信息處理的主要工具,掌握計算機知識已成為當代人類文化不可缺少的重要組成部分,計算機技能則是人們工作和生活必不可少的基本手段。
基於這樣的認識,近年來我國掀起了一個全國范圍的學習計算機熱潮,各行各業的人都迫切地要求學習計算機知識和掌握計算機技能。對於廣大的非計算機專業的人們,學習計算機的目的是應用,希望學以致用,立竿見影,而無須從系統理論學起。
掌握計算機技能關鍵是實踐,只有通過大量的實踐應用才能真正深入地掌握它。光靠看書是難以真正掌握計算機應用的。正如同在陸地上是無法學會游泳一樣,要學游泳必須下到水中去。同樣,要學習計算機應用,必須坐到計算機旁,經常地、反復地操作計算機,熟能生巧。只要得法,你在計算機上花的時間愈多,收獲就愈大......
希望對你有幫助
G. 名詞解釋計算機:編譯方式。
編譯方式是一種計算機語言的「翻譯方式」。計算機不能直接地執行用高級語言編寫的源程序,源程序在輸入計算機時,需要通過「翻譯程序」翻譯成機器語言形式的目標程序才能識別和執行。事先編好一個稱為編譯程序的機器語言程序,作為系統軟體存放在計算機內,當用戶由高級語言編寫的源程序輸入計算機後,編譯程序便把源程序整個地翻譯成用機器語言表示的與之等價的目標程序,然後計算機再執行該目標程序,以完成源程序要處理的運算並取得結果。
H. 計算機是怎樣運行程序的
為了使計算機程序得以運行,計算機需要載入代碼,同時也要載入數據,然後由處理器執行指令。整個過程可以總結為編譯、鏈接、裝載、執行。
1、編譯
編譯過程又可以被分為兩個階段:編譯、匯編。
編譯是指編譯器讀取字元流的源程序,對其進行詞法與語法的分析,將高級語言指令轉換為功能等效的匯編代碼。
匯編器是將匯編代碼轉變成機器可以執行的命令,每一個匯編語句幾乎都對應一條機器指令。匯編相對於編譯過程比較簡單,根據匯編指令和機器指令的對照表一一翻譯即可。
2、鏈接
鏈接的主要內容是將各個模塊之間相互引用的部分處理好,使得各個模塊之間能夠正確地銜接。鏈接又分為靜態鏈接和動態鏈接:
靜態鏈接是指在編譯階段直接把靜態庫加入到可執行文件中去,這樣可執行文件會比較大;
動態鏈接則是指鏈接階段僅僅只加入一些描述信息,而程序執行時再從系統中把相應動態庫載入到內存中去。
3、裝載
程序在經過鏈接後,得到了可執行文件,下一步就需要將可執行程序載入到內存中。
由於現代操作系統均採用分頁的方式來管理內存,所以操作系統只需要讀取可執行文件的文件頭,之後建立起可執行文件到虛擬內存的映射關系,而不需要真正的將程序載入內存。
4、運行
載入器將可執行目標文件中的代碼和數據從磁碟復制到內存中,然後通過跳轉到程序的第一條指令或入口點來運行程序。
在程序的運行過程中,CPU發現有些內存頁在物理內存中並不存在並因此觸發缺頁異常,此時CPU將控制許可權轉交給操作系統的異常處理函數,操作系統負責將此內存頁的數據從磁碟上讀取到物理內存中。
數據讀取完畢之後,操作系統讓CPU
jmp到觸發了缺頁異常的那條指令處繼續執行,此時指令執行就不會再有缺頁異常了。
(8)計算機內什麼時候進行編譯擴展閱讀
為使計算機按預定要求工作,首先要編製程序,無論是最早的操作系統還是現代操作系統,程序的運行都是計算機工作的本質。
早期計算機是單任務執行,由程序員直接編寫操作系統可以識別的機器語言,到現在可以實現多道程序並行,並且程序的開發由更利於程序員理解的高級語言編寫,源程序在經過一系列翻譯過程,變成計算機理解的機器語言,再執行。
整個程序執行的過程,需要CPU、內存、程序代碼、設備等配合,才能實現程序要表達的功能。
參考資料來源:網路-計算機
I. 計算機中,解釋程序與編譯程序的區別是什麼
編譯程序、解釋程序均是計算機語言處理程序。
其區別主要為:
解釋程序直接執行源程序或源程序的內部形式,一般是讀一句源程序,翻譯一句,執行一句,不產生目標代碼,如basic解釋程序。編譯程序是將高級語言書寫的源程序翻譯成與之等價的低級語言的目標程序。編譯程序與解釋程序最大的區別之一在於前者生成目標代碼,而後者不生成;此外,前者產生的目標代碼的執行速度比解釋程序的執行速度要快;後者人機交互好,適於初學者使用。
J. 編譯程序出現在計算機時期的什麼時候
編譯程序出現的計算機時期是:第二代
編譯程序(Compiler,compiling program)也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬於採用生成性實現途徑實現的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經歷運行階段,以便在運行程序的支持下運行,加工初始數據,算出所需的計算結果。
20世紀80年代以後,程序設計語言在形式化、結構化、直觀化和智能化等方面有了長足的進步和發展,主要表現在兩個方面:①隨著程序設計理論和方法的發展,相繼推出了一系列新型程序設計語言,如結構化程序設計語言、並發程序設計語言、分布式程序設計語言、函數式程序設計語言、智能化程序設計語言、面向對象程序設計語言等;②基於語法、語義和語用方面的研究成果,從不同的角度和層次上深刻地揭示了程序設計語言的內在規律和外在表現形式。與此相應地,作為實現程序設計語言重要手段之一的編譯程序,在體系結構、設計思想、實現技術和處理內容等方面均有不同程度的發展、變化和擴充。另外,編譯程序已作為實現編程的重要軟體工具,被納入到軟體支援環境的基本層軟體工具之中。因此,規劃編譯程序實現方案時,應從所處的具體軟體支援環境出發,既要遵循整個環境的全局性要求和規定,又要精心考慮與其他諸層軟體 工具之間的相互支援、配合和銜接關系。