# 簡簡單單寫程序
千里之行,始于足下。程序設計雖然花樣繁多,但還是要從最簡單的地方開始學習,由淺入深,直至掌握。畢竟任何復雜的工程代碼都是由一行行簡單的代碼組成的。
這一章將會學習程序設計的基本概念、使用程序輸入輸出,并使用簡單的語句完成一些簡單的任務。
## **程序設計的目標和流程**
促使大家學習程序設計原因可能有很多,可能是是為了參加各項算法競賽,可能是為了協助處理數據,也有可能是編寫游戲使人娛樂。但是歸根結底,設計一個程序是為了讓計算機始終不渝地遵循指令,以完成特定的任務。為了能讓計算機聽懂指令,我們編寫**程序**來與計算機交流。
正如人類有很多種語言一樣,人和計算機交流也有很多種**計算機語言**。在工程中常見的語言有C、C++、Java、Python、PHP、JavaScript等等。這些語言有不同的特性和適用范圍,活躍在不同的場合中,所以討論“什么是最好的語言”是毫無意義的。很多工程師能掌握多門語言以應對不同的場合。
對于算法競賽來說,NOI系列比賽主要使用C++①,而CPC系列比賽除了C++,還能使用Java、Python等語言②。本書使用C++作為教學語言,幾乎所有算法競賽都允許使用C++語言提交。
講太多理論是非常枯燥的,因此直接開始上機實操幫助理解編程。即使現在不懂得這些理論也不影響大家學習編程。