NOIP語言 自學C 基礎知識

2021-09-21 01:30:31 字數 2350 閱讀 5618

c++作為noip最被認可的語言,是大部分學習noip的學生的第一語言。今天清北資訊學金牌教研團帶大家對c++有乙個基本的認識。

c++初識

一、競賽環境

比賽時所用的電腦,浙江省可以選擇 windows 系統或者 linux 系統

1、linux 系統

此noip 最後評測都是在 linux 系統下進行

所以要注意 windows 系統中的編寫和 linux 系統中的區別,否則爆0都不奇怪

2、windows 系統

不用多說大家都知道,所以在本地計算機就安裝這個作業系統下的競賽環境便可以了

當然小白們在安裝之前需要知道以下幾個名詞:

編譯器:將高階計算機語言翻譯為計算機能識別並執行的低階機器語言的程式

直譯器:又稱直譯器,能夠把高階計算機語言一行一行直接轉譯執行,直譯器不會一次把整個程式轉譯出來,所以速度較慢

ide:也稱為整合開發環境,用於提供開發環境的應用程式,一般包括**編輯器、編譯器、偵錯程式和圖形使用者介面等工具,整合了**編寫功能、分析功能、編譯功能、除錯功能等一體化的開發軟體服務套

偵錯程式:可以觀察程式的執行時行為並確定邏輯錯誤的位置

開始安裝,這裡用的是乙個整合的安裝包 oi packages,安裝時候,選練習配置

編譯器mingw32 4.8.1

注: 此處為 4.8.1 版本,而不是 noi 公布的 gcc 4.8.4 版本,不過問題不是很大

偵錯程式gdb 7.7.1

ideorwell dev-c++ 5.9.2

評測工具

cena 0.8.2(開源的評測系統,能滿足大多數程式設計競賽的測評需求)

wa:錯誤的答案 —— wrong answer

ac :正確答案,通過 —— accepted

tle:超時 —— time limit exceed

ole:超過輸出限制 —— output limit exceed

mle:超出記憶體 —— memory limit exceed

re:執行時錯誤 —— runtime error

pe:格式錯誤 —— presentation error

ce: 無法編譯 —— compile error**

編輯器notepad2

注:編輯器也可以使用 vim,便於以後移植到 linux 平台

二、c++簡介

c++ 是作為 c 語言的增強版出現,最初被稱為 c with classes(帶類的c),從給 c 語言增加類開始,不斷地增加新特性,c++ 一共有 32 個關鍵字和 9 種控制語句,程式書寫自由,主要用小寫字母表示(變數區分大小寫),共有 34 個運算子,而且資料結構豐富,重要的是可移植性強,生成的**質量高

類(class):類是物件導向程式設計語言中的乙個概念,它實際上是對某種型別的物件定義變數和方法的原型,它表示對現實生活中一類具有相同特徵的事務的抽象,是物件導向程式設計的基礎類的實質是一種資料型別,類似於 int、char 等基本型別,不同的是它是一種複雜的型別,而不是資料,不存在於記憶體中,不能被直接操作,只有被例項化為物件時,才可被操作

通俗地講,類就相當於施工圖紙,物件就是具體的房子,施工圖紙中有房子的所有資訊(層數、房間,如何建築等),根據施工圖紙可以建造不同戶型的房子,也就是根據類可以建立不同的物件

換一種說法男孩女孩為類,那麼每個人就是這個類中的物件男孩女孩類中有身高、性別等屬性,還有上學、放學等事件每個人作為類的物件,就有具體的屬性和具體的事件

三、總結

o 程式開頭包含相應標頭檔案,標頭檔案中提供程式所需要呼叫的系統庫函式

注:在 5.0 之後的 dev c++ 中,iostream 已經不包括 cstdio、cstring、cstdlib、algorithm等,其他常用的 min、max 函式也不包括

cstdio: getchar(), stdin, stdout, freopen(), fclose(), scanf()

cstring: memset()

cstdlib: qsort(), exit()

o 程式中變數在使用前先定義資料型別,未經定義的變數不能使用

o 程式由乙個或多個函式組成,有且只有乙個 main() 主函式,無論主函式存在於

o 程式哪部分都會被首先執行,主函式執行完畢,程式也就結束

o 程式中可以有注釋,分為單行注釋(//)和多行注釋(/······/)

o 程式的語句以分號結束

o 程式的書寫注意縮排,一般為 4 個空格,便於閱讀

清北資訊學六月即將開展c++公益匯入課程,通過c++語言公益匯入課程,使學生對c++**形成基本認知,建立基本的程式設計思想,並掌握基本指令:包括輸入輸出語句、運算子、變數的使用、順序結構、分支結構、迴圈結構的基本使用。

詳情**入qq群1018989881

C語言基礎知識

1 的問題。int i 1 int j 2 int k i j printf d k 輸出k為3。編譯原理有關編譯器在詞法解析的時候,對於運算子,總是查詢最大的匹配也就是說,i j,編譯器在找到 的時候,它不立即理解為 而是繼續下乙個字元,下乙個字元仍然是 可以組成 再往下的話便是 不成立了。所以i...

C語言基礎知識

一 位元組對齊 位元組對齊的原因,是機器在訪問記憶體中儲存的資料的高效性。通常機器是機器位數為自然邊界來訪問記憶體的,如果乙個4位元組整形數,所在的記憶體不在虛擬記憶體的自然邊界。則cpu需要讀多於一次的資料,這樣就降低了效率。所以,簡單地說,就是保證cpu指令在訪問資料的時候,能一次讀取,而不需要...

C語言基礎知識

1.進製 1 基數 基數為n,代表n進製 2 位權 從個位開始,向左依次編號為0,1.x 分別代表n進 制的x次 3 八進位制以0開頭,十六進製制以0x開頭 4 x 進製轉 進製 按權求和 十進位制轉 x進製 連除倒取餘 2.基本資料型別 3.常量 程式執行期間值不能被改變的量 分為 整型常量,浮點...