機器語言
組合語言
高階語言
軟體=程式+文件
封裝:有限的對外介面,安全性好
繼承:意義在於軟體復用
改造擴充套件已有類來形成新的類
多型:同樣的訊息作用在不同物件上可能引起不同的行為
同樣是打擊行為,打籃球打桌球的方法和規則都不一樣
三種不同型別的翻譯程式:
匯程式設計序:將組合語言程式翻譯成目標程式
編譯程式:將高階語言程式翻譯成目標程式
翻譯程式:將高階語言程式翻譯成機器指令,邊翻譯邊執行
資訊的儲存單位:
位:bit
位元組:byte=8bit
原碼:符號-絕對值表示編碼(缺點:0有兩種表示;符號位單獨處理規則複雜)
補碼:反碼+1(0的表示唯一,符號位可作為數值參與運算)
補碼運算的結果仍為補碼
補碼再求補碼即可獲得原碼
若正數之和得負數或負數之和得正數則表示運算結果溢位
visual studio 2012
檔案——新建——專案——win32控制台應用程式
工具——選項——文字編輯器——c/c++(可勾選行號,自動換行等)
檢視——錯誤列表
除錯——啟動除錯
斷點:左側單擊出現小紅點;f9
生成——清理解決方案(在最終版本之前清除之前版本產生的一些中間檔案(清除debug))
debug——>release:從生成狀態轉為發布狀態
生成——生成解決方案(即可生成exe可執行檔案,編譯+連線)
除錯——逐過程(f10):單步行走
#include using namespace std;
//int _tmain(int argc, _tchar* argv)
int main()
基本型別中沒有字串變數,c用字元陣列儲存字串變數,c++用類庫中的string類
c風格的字串變數雙引號,末位是『\0』;字元用單引號如'a'
符號常量,const float pi=3.1415926
浮點數在機器裡面是近似儲存的(eg:const float pi=3.14159)
所以想要比較浮點數是否相等時,不是用等號,而是考察兩個浮點數的差是不是足夠小
邏輯運算
c++ vs python
&& vs and
|| vs or
型別轉換
型別轉換操作符《型別說明符》(表示式)
型別轉換操作符:static_cast const_cast等
int(z) (int)z static_cast(z)
輸出檔案格式,注意標頭檔案#include
#include #include using namespace std;
//int _tmain(int argc, _tchar* argv)
int main()
C專家程式設計第一二章筆記
c語言有許多特性是為了方便編譯器設計者而建立的,這大大簡化了c語言本身,這讓c語言更容易學習與理解,同時增加了效率。陣列下標從0開始而不是1 c語言的資料基本型別直接與底層硬體相對應 沒有複數型別 auto關鍵字是擺設,它是預設的記憶體分配模式 表示式中的陣列名看作是指標 但並不等同 float被自...
第一 二章課後習題
第一章 問答題 1.linux 採用什麼版權方式發行?這種版權與通常的商業軟體有何區別?答 linux是採用 gpl版權方式發行的,它和通常的商業軟體的最大區別是開放源 2.簡述 linux 的技術特點。答 1 成本低廉,完全開放源 2 對硬體的要求不高,支援硬體的種類多 3 支援多種不同格式的檔案...
Linux C 第一二章預習
1.什麼是嵌入式?答 以應用為中心,以計算機技術為基礎,且軟硬體可裁剪,適應應用系統對功能 可靠性 成本 體積 功耗有嚴格要求的專用計算機系統。其實我們現在說的嵌入式系統是狹義的即是基於某一款嵌入式微處理器 如arm 所組成的嵌入到物件體中實現智慧型控制的系統。2.如何進行簡單的gdb除錯?3.gc...