C語言0基礎入門遊戲輔助開發—學習筆記01

wind风语發表於2024-03-07

C語言0基礎入門遊戲輔助開發—學習筆記01

PS:因為程式設計以及逆向分析怎麼都是不可能繞過C語言的,所以我開始了我的C語言學習之旅,純新手純萌新。

程式語言與IDE

程式語言應用領域

1.C語言的主要應用領域作業系統、嵌入式、伺服器這三塊,是一門強大的被廣泛運用於底層的高階語言(遊戲安全、軟體破解、病毒木馬分析)

2.Java主要應用於企業級應用開發、網站平臺開發、移動領域的手機遊戲和移動andoroid開發,是市面上找工作機會最多但也同樣競爭最激烈的一門語言。

3.C++主要用於遊戲領域、辦公軟體、圖形處理、網站搜尋引擎、圖形介面層關係型資料、瀏覽器、軟體開發、整合環境、ide等等,目前找工作機會僅次於Java。

4.Python的主要應用領域是爬蟲、資料分析、自動化測試和機器學習,還有一些中小企業會用它做後端開發,也是比較容易學習的一門語言。目前的話Python招聘數量比以前多了很多,已經達到了Java的2/3了。

5.C#主要應用於Windows運用,商業應用和軟體開發領域,最幾年的話勢頭也是很不錯。(C sharp)

6.JavaScript就是很單純的前段開發必學的指令碼語言。

7.PHP的話也是web開發方面曾經名盛一時的語言,不過近幾年趨勢不太好。

8.Go語言最近也被一部分人所鍾愛,它主要應用於區塊鏈技術和後端伺服器應用。

IDE

IDE:整合開發環境(IDE)是用於提供程式開發環境的應用程式,一般包括程式碼編輯器、編譯器、偵錯程式和圖形使用者介面等工具。繼承了程式碼編寫功能、分析功能、編譯功能、除錯功能等一體化的開發軟體服務套。(用程式開發程式)

API

API:

應用程式介面(簡稱API),又稱為應用程式設計介面。

介面是給程式設計人員看的,系統提供給程式設計人員呼叫的地方。

所謂Windows API就是Windows作業系統提供給程式設計開發人員的介面

刪除檔案就是呼叫刪除檔案的API

建立檔案就是呼叫建立檔案的API

Windows上幾乎所有的操作都是和Windows API 打交道

第一個程式開發、變數、除錯

第一個程式開發

程式程式碼的入口點:

不管前面有多少程式碼,程式碼始終從main開始執行。

main()
{
    
    
    
}

如何建立c語言檔案

image-20240307181522445

image-20240307181526092

變數本質、屬性

思考:我們的資料應該透過怎樣的形式放到記憶體中?

是直接存放的嗎?

如果是直接存放的

那麼這麼多的資料,計算機用什麼來標記呢?

那麼這麼多的資料,程式設計師用什麼來標記呢?

(1)我們所有資料都是放在記憶體裡面的,只要你想分析都能分析得到。

(2)計算機是用記憶體地址來標記資料的。

(3)給資料對應的記憶體地址起一個名字,這個名字叫做“變數”

既然是名字,就應該符合一定的規則,而不能胡亂定義

//入口函式(理解為這個程式碼入口的地方,或者程式碼初始執行的地方)
main()
{
    int a = 3;//變數的定義:定義一個變數a,賦值為3,資料型別(姓)是int,名字是a,數值是3
}

注意:

int這種已經存在於變成語言框架中的固定單詞 又叫“關鍵字”

a這種我們自己起的名字或者單詞 又叫“使用者自定義識別符號”

關鍵字有哪些

關鍵字(Keywords)

也稱保留字(Reserved Word),是C語言預先定義的、最具有特殊意義的單詞(A word that has special meaning in C)

ANSI C89:

ANSI C89,也被稱為ANSI X3.159-1989 "Programming Language C",是美國國家標準協會(ANSI)在1989年釋出的第一個完整的C語言標準。這個標準在1990年被國際標準組織ISO(International Organization for Standardization)採納,ISO官方給予的名稱為ISO/IEC 9899,通常被稱為C90。

C89常用關鍵字——32個:

auto break case char
const continue default do
double else enum extern
float for goto if
int long register return
short signed sizeof static
struct switch typedef union
unsigned void volatile while

識別符號(Identifiers)

  • 大小寫字母,數字和下劃線構成的一個字元序列

  • 系統預定義識別符號

  • 使用者自定義識別符號:

    用來表示變數名、符號常量名、陣列名、函式名等

命名規則:

  • 首字元必須是字母或下劃線
  • 見名知意,不要使用漢語拼音
  • 不能於關鍵字及系統預定義的識別符號相同

變數定義的例項

int a = 66;//(int後面一個小空格,結尾一定要有分號)
int a_88 = 88;
int num = 18;
int age = 18;
int height = 120;

看透變數的屬性:

1.變數名字(使用者自定義識別符號)

2.變數的值(資料,賦值來的)

3.變數的型別(資料型別,int—整數型)

4.變數的地址(記憶體地址中的值可以改變)

正因為值可以改變,所以交“變”量

觀察變數資料

F10快捷鍵:斷點(break point,又被很多工具簡寫為指令bp)

image-20240307182127500

第一種方法:快捷鍵F10,這個程式此時就聽我們指揮了,

現在一行程式碼一行程式碼去執行,人為的,可控的,這個過程就叫做除錯(debug)

按下F10,此時我們程式碼旁邊產生了一個小箭頭

image-20240307182144374

再次按下F10,繼續執行下一句

image-20240307182151675

第二種方法:斷點(break point)

看到斷點就應該想到“除錯”這兩個字。

image-20240307182201926

在灰色地方對應行數點一下,會出現一個小紅點,這個小紅點就是斷點。

0

點選偵錯程式後開始除錯,會停止在斷點的地方。

取消斷點,再點一下斷點就行。

本系列作為本人學習隨筆,可能多有不足,望諒解,指正!

相關文章