文章目錄
C語言概述:
語言是人與人交流,C語言是人和機器交流
優點:
代碼量小
執行速度快
功能強大
編程自由
缺點:
寫代碼實現周期長
可移植性差
過於自由,經驗不足易出錯
對平台庫依賴較多
標識符命名規則:
不能使用系統關鍵字
允許使用字母數字下划線
不允許數字開頭
標識符區分大小
見名知義
C語言編譯步驟:
1.預處理(hello.i ):宏定義展開、條件編譯等,同是將代碼中的注釋刪除,這里並不會檢查語法
2.編譯(hello.s):檢查語法,將預處理后文件編譯生成匯編文件。
3.匯編(hello.o):將匯編文件生產目標文件(二進制文件)
4.鏈接:C語言寫的程序是需要依賴各種庫的,所以編譯之后還需要把庫鏈接到最終的可執行程序中去。
常見代碼問題:
1.編輯時異常
2.編譯時異常
3.執行時出錯
匯編語言:
mov=移動
add=添加
push=壓棧
call=調用
eax 32位寄存器
簡單加法計算:
//___asm
//{
// mov a, 10
// mov b, 20
// mov eax, a
// mov eax, b
// mov c, eax
//}
斷點和單步調試:
斷點:在選中行單擊或者按F9
調試程序:在“調試”中選擇“開始調試”或者按F5
逐語句執行:F11
逐過程執行:F10
跳出過程:Shift+F1
停止調試:Shift+F5
CPU內部結構域
寄存器 64位和32位系統區別:
- 寄存器是CPU內部最基本的存儲單元。
- CPU對外是通過總線(地址、控制、數據)來和外部設備交互的,總線的寬度是8位,同時CPU的寄存器也是8位,那么這個CPU就叫8位CPU。
- 如果總線是32位,寄存器也是32位的,那么這個CPU就是32位CPU。
- 有一種CPU內部的寄存器是32位,但總線是16位,准32位CPU
- 所有的64位CPU兼容32位的指令,32位要兼容16位的指令,所以在64位的CPU上是可以識別32位的指令。
- 在64位的CPU架構上運行64位的軟件操作系統,那么這個系統是64位。
- 在64位的CPU構架上,運行了32位的軟件操作系統,那么·這個系統就是32。
寄存器、緩存、內存三者關系
按與CPU遠近來分,離得最近的是寄存器,然后緩存(CPU緩存),最后內存。
C語言頭文件
<stdio.h> std是一個標准庫,i =input o =output 標准輸入輸出庫 .h頭文件
system的使用
功能:在已經運行的程序中執行另外一個外部程序
參數:外部可執行程序名稱
返回:
成功:0
失敗:任意數字
代碼示例:
#include<stdio.h>
#include<stdlib.h>//系統命令頭文件
int main()
{
//cmd命令 calc=計算器 記事本=notepad 畫圖板=mspaint
//system可以打開一個外部應用程序
//system("calc");
int value;
value = system("calc");
//%d是一個占位符,表示輸出一個整型數據
printf("%d\n", value);
return 0;
}
總結:cmd命令 calc=計算器 記事本=notepad 畫圖板=mspaint
<stdio.h> std是一個標准庫,i =input o =output 標准輸入輸出庫 .h頭文件
