編程新手快來看!關於程式語言和程序,這篇文章可以說講透了

2020-12-05 C語言編程寶典

什麼是程式語言?

我們要學習的程式語言是C++,因為自1998年起大學先修課程考試就基於C++語言了。之前的考試用的是Pascal語言。C++和Pascal都是高級語言,你或許也聽說過Java、C和FORTRAN等其他高級語言吧。

從「高級語言」這個名字可以推斷,應該同樣存在低級語言,低級語言一般也稱為機器語言或彙編語言。不嚴格地講,計算機只能執行低級語言編寫的程序。正因如此,高級語言編寫的程序需要經過翻譯才能運行。翻譯也要消耗時間,這是高級語言的一個小缺點。

但高級語言的優勢是巨大的。

首先,使用高級語言編程要容易得多,「容易」意味著編程時間更少,代碼更簡短易讀,出錯的可能性更小。

其次,高級語言是可移植的,也就是說程序只需要很小的改動甚至不需要改動就可以在各類機器上運行。而低級語言編寫的程序只能在某一種機器上運行,必須重寫才能支持其他類型的機器。

正因為這些優點,幾乎所有的程序都是用高級語言編寫的,低級語言僅用於一些特殊的應用場合。

有兩種翻譯程序的方式:解釋和編譯。解釋器讀取高級語言程序並執行程序語句。實際上,解釋器採用的是逐行翻譯的方式,每讀一行就執行該行,然後讀取下一行,交替進行。

編譯器讀取高級語言程序,並在執行程序命令之前全部翻譯好。通常,對程序進行編譯是獨立的一步,之後才能執行編譯好的代碼。在這種情況下,高級語言程序稱為原始碼,而翻譯後的程序稱為目標代碼或可執行程序。

比如使用C++編程序時,你可以使用文本編輯器編寫代碼(文本編輯器是一個簡單的字處理器),寫好之後,將它保存在一個名為program.cpp的文件中,其中「program」可以是你起的任意名字,而「.cpp」是約定的C++原始碼文件後綴。

然後,你可以離開文本編輯器並運行編譯器(具體情況取決於你的編程環境)。編譯器讀入原始碼,翻譯之後,會創建一個名為program.o的目標代碼文件,或者名為program.exe的可執行文件。

編譯完成之後,下一步就是執行程序,執行需要某種執行器。執行器負責加載程序(把程序從磁碟複製到內存)並讓計算機啟動執行程序。

這個過程可能看起來很複雜,但不必擔心,大多數編程環境(有時也稱作開發環境)已經將這些步驟自動化了。一般而言,你需要做的就是編寫代碼,然後敲一個命令就能編譯和運行程序。

另一方面,理解這個過程背後的步驟是有意義的,出錯的時候你能更好地找出問題所在。

什麼是程序

程序是說明如何執行一個計算的一組指令序列。計算既可以是數學運算(如求解方程組或者找出多項式的根),也可以是符號運算(如搜索和替換文檔中的文本,甚至是編譯一個程序)。

不同程式語言中的指令(或者說命令、語句)看起來是不同的,但每種語言都有下面幾個基本功能:

輸入:從鍵盤、文件或其他設備獲取數據。

輸出:在屏幕上顯示數據,將數據發送給文件或其他設備。

數學運算:執行基本的數學操作,比如加法和乘法。

測試:檢查指定條件並執行相應的語句序列。

重複:重複執行某些動作,但每次執行多少有些變化。

其實就這麼多東西。你用過的任何程序,不管多麼複雜,都是由上面這些基本功能組合而成的。所以,我們也可以說,編程是將複雜的任務逐步分解為越來越小的子任務,直到問題解決。

相關焦點

  • 現代程式語言終極測評:五星篇
    來源:36氪這篇文章,原標題是These Modern Programming Languages Will Make You Suffer,作者Ilya Suzdalnitski在文章中針對15種程式語言展開了詳細測評,希望對你有所幫助。
  • 編程和樂高機器人啥關係、編程啟蒙怎麼做……| 逃媽說編程(下)
    但後來從文章的留言,讀者微信群裡的討論,以及大家私下給平臺小助手、給我發的微信留言中發現,「咦,原來大家最關心的問題跟我之前的設想還是有點兒出入哦~」。於是我稍微做了些調整,以回答幾類典型問題的形式,爭取把大家最想知道的,和我最想說的,揉在一起。
  • 為什麼說Python是人工智慧和機器學習的首選程式語言?
    有很多程式語言都可用於人工智慧(AI)或機器學習(ML)項目,如Java,C#等。但在所有這些程式語言中,Python似乎是最受歡迎的語言之一,這主要是因為開發人員可以輕鬆地使用Python處理複雜的編碼挑戰。
  • 戲說程式語言發展史
    編程就是我們人類,將需解決的問題的思路、方法和手段,通過計算機或者某種智能設備能夠理解的形式,寫出來!這就是編程啦!不懂?!?!沒關係!看懂了什麼是程序,我們就開始講講千奇百怪的程序發展史!從1951年2014年,人類一共發明了幾百種程式語言,每一種語言的出現都帶有某些新特徵。
  • 十大流行程式語言和它們的創造者
    在文章的底部還附有相關的信息圖,方便你能夠進行直觀的查看。軟體開發領域裡有許許多多程式語言。在這裡,不斷有新的程式語言在誕生,如Scala、Go、Closure等,也不斷有老的程式語言慢慢消亡。它們中的許多都曾為軟體開發作出了巨大貢獻。作為軟體開發領域中最重要的事物,程式語言從一誕生起就會經歷人們的議論、批評與改進。
  • 什麼是API(應用程式編程接口)?
    最近,API已經成為一個熱門話題,但在這一點上它們已經有近60年的歷史了。那麼為什麼現在有這麼多人在談論他們呢?基本上,沒有API,沒有它們,我們的數字體驗就不可能實現。雖然你可能不知道 - 你現在正從API中受益。您正在瀏覽器中閱讀這篇文章。目前,瀏覽器正在通過API獲取信件。這允許它向你展示這篇文章。
  • 更直觀地編程!ABB 機器人推出Wizard 簡易編程軟體
    Wizard簡易編程是一種圖形化編程方法,旨在使用戶能夠為ABB單臂YuMi協作機器人快速創建應用程式,而不需要專門的培訓。先來看視頻!  該簡易編程軟體基於Blockly概念建立。Blockly是一種開源的可視化編碼方法,把程式語言或代碼以聯鎖塊的形式呈現。通過使用這種簡化的方法,Wizard軟體使用戶無需事先了解任何機器人程式語言,就能對單臂YuMi機器人編程並使用。用戶可以簡單地將這些功能塊拖放到示教器上,並立即看到結果,且能在幾秒鐘內調整機器人的動作。   結合引導式編程功能,Wizard簡易編程讓單臂YuMi機器人的使用比以往任何時候都更流暢。
  • 第一篇:C語言編程基礎語法
    本專欄系列分六篇,總結了C語言基礎知識的核心要點。教學視頻已上線,讀者可根據自身情況有選擇性地學習。01編程基礎C語言——貝爾實驗室、Dennis Ritchie屬於高級語言,更接近人類語言邏輯,需要編譯器編譯,執行依賴運行環境;但容易學習。其特點:模塊化編程程序設計,層次清晰;語句簡潔,提出程序庫概念;功能強大,系統、應用軟體均可開發;移植性好,適合不同的作業系統。除此之外,C語言還有豐富的運算符、數據結構等,程序設計自由度大,可以對硬體進行操作。
  • 計算機程式語言的發展簡史,人工智慧與雲計算程式語言!
    學習一兩門計算機程式語言也如當初學習英文一樣的火熱,隨著人工智慧AI和雲計算的不斷發展,Python語言和Scala語言已經成為這兩個領域裡面最為火熱的程式語言了,可以預知未來學習計算機程式語言的人也一樣會如同學習英文一樣的成為一種新常態,並且成為一種穩定的常態。以下筆者將以自己的學習認知,簡單的闡述一下計算機程式語言的發展。
  • Python能否超越Java成為「邁入未來」的程式語言
    程式語言領域Python成為了一個耀眼的新星,Python崛起的原因與其本身特點有關,也許它是更加符合開發者的習慣和口味。現在有一種聲音說Python將會超越Java成全球最流行程式語言,你又是怎麼認為的呢?
  • 假如女人是一種程式語言
    而二進位就是 0 和1,假設 1 代表男人,0 代表女人,那麼瞬間就可以發現世界就變成了一臺大「計算機」。而愛情和情愛也可以看成是 1 和 0 組成的二進位機器碼。假如女人是一種程式語言,也許每個男人心中都有自己最喜歡的那一個吧?我認為女人可分兩類,「面向過程」和「面向對象」。
  • 開發者眼中的程式語言……
    對於想加入開發隊伍的初學者來說,入門的程式語言究竟要先選哪一個呢?是永恆經典的C語言,還是方興未艾的Object-C抑或其它神器?若想直接得出確切的答案,這無疑是程式設計師界的哥德巴赫猜想;蘿蔔白菜,各有所愛,每種語言都有自己的優點和缺點。不過,對於初學者來說,先為自己做個初步定位,是有一定參考意義的。
  • 程式語言Python的重要性
    Python是近年來最流行的程式語言之一。其清晰的語法和可讀性使其成為初學者的完美編碼語言。考慮到它的廣泛用途,認為學習Python是必不可少的,這是可以學習的。這提出了一個問題:Python什麼時候不是正確的答案?什麼時候Python程式語言是學習和/或使用的錯誤語言?
  • 世界程式語言排行榜
    請注意這個排行榜只是反映某個程式語言的熱門程度,並不能說明一門程式語言好不好,或者一門語言所編寫的代碼數量多少。本文引用地址:http://www.eepw.com.cn/article/269656.htm  該指數可以用來檢查你的編程技能是否仍然是最新的或作出什麼開始建立一個新的軟體系統時,程式語言應採取的戰略決策。在 TIOBE 指數的定義可以在這裡找到。
  • 學生如何在大學學習程式語言
    如果您還想學習編程,這裡是在大學學習程式語言的指南。學習編程的簡便方法編程是當今越來越多的學生採用的最先進和最有價值的技能之一。它在未來有很多職業機會,可以使您的大腦伸展並提高技能,從而創造出很棒的東西。如果您想開始編碼和編程之旅,請查閱下文。
  • 程式設計師:高級與低級程式語言,您應該學習哪些內容?
    當你試圖找出要學習的程式語言時,你可能會遇到高級和低級的術語。人們一直在談論高級和低級程式語言。高級和低級程式語言在整篇文章中,我將討論「高級」和「低級」語言。但兩者都沒有具體的資格標準。這就是為什麼我還要談論「更高」和「更低」的水平。
  • 慢步學習,python語言編程,來扯扯語言的學習理解
    那麼慢步來說說自己對程式語言的學習理解吧。關於語言的共性——累積學習程式語言,跟一個人學習一門自然語言(英語、日語)是差不多的。學習在某種情景下使用語言的詞彙/語句來表達。比如表達善意的問候:「你好」、「hello」、「こんにちは(抗你知哇)」。
  • 最適合人工智慧開發的程式語言優缺點對比
    迄今為止,人工智慧已經實現了生物識別智能、自動駕駛汽車和人臉識別等等項目。就像大多數軟體應用程式的開發一樣,開發人員也在使用多種語言來編寫人工智慧項目,但是現在還沒有任何一種完美的程式語言是可以完全速配人工智慧項目的。程式語言的選擇往往取決於對人工智慧應用程式的期望功能。關於最佳人工智慧程式語言的爭論從未停止,所以本文就來比較5種人工智慧項目最常用的程式語言,並列出它們的優缺點。
  • Python成程式語言首選,人工智慧是其最大推力
    近20年來,C、C++和Java一直排在前3位,遠遠領先於其他語言。python現在加入了這三種語言。它是當今大學最常教授的第一語言,在統計領域排名第一,在人工智慧編程領域排名第一,在腳本編寫方面排名第一,在系統測試方面排名第一。
  • 最適合兒童的程式語言 - Python
    Scratch圖形編程優點在於圖形化拖拽的方式簡化了編程的理解,而C,JAVA,JAVASCRIPT,PYTHON等程式語言相對枯燥複雜,涉及複雜編程語法,變量規則,函數,對象等等,因此直接教授這類程式語言對於小朋友難度過大。