詳解C語言初階基礎

2022-09-21 21:36:13 字數 2700 閱讀 9892

目錄

c語言是一門通用計算機程式語言,是一種物件導向的編譯型語言,廣泛用於底層開發。其設計目的是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何環境便能執行的程式語言.

c語言的實質就是生成乙個可執行的exe檔案

開闢乙個空間時同時放進去某個內容,叫做初始化(伴隨空間開闢時就有的值,如同一出生就有的性別),初始化賦值的變數是可以程式設計客棧更改的,叫做賦值(實質是對原值的覆蓋,比如後期做手術轉換性別)。

在我們的生活中,有變數和常量。

身高、變化的量體重、頭髮個數、錢包內錢數量、年齡這些就叫作變數,是可以更改的量。

身份證號、手機號、性別、種族、(啊,一般情況下都是不會變的) 我們把它們叫做常量,是不可更改的量

臨時變數與全域性變數

變數又分為臨時變數(也叫區域性變數或自動變數)和全域性變數

放在函式塊內部的叫做臨時變數,而函式塊之外的叫做全域性變數

區域性變數只能在本函式內部使用,而不能在其他函式塊中使用

變數的使用採用就近原則(即區域性變數優先於全域性變數),既然區域性變數優先,那麼就沒必要在同名時仍然定義區域性變數(這樣的定義我們並不推薦)

作用域:

區域性變數的作用域就是變數所在的區域性範圍

全域性變數的作用域就是整個工程

生命週期(存在與消失):

區域性變數:進入作用於生命週期開始,出作用與生命週期結束

全域性變數:整個程式的生命週期

實質是影響範圍,例如有乙個叫小吳的人(乙個城市人們都知道的明星),只有城市中的人知道小吳,農村的人不知道,所以小吳的作用域就是城市。

當超出作用域後,變數就不可以被訪問

實質上作用域是**塊範圍的定義和使用(如函式**塊,注意函式內部也可能有**塊,比如for、while、switch、do-while、if等語jaugb句塊中)

實質是變數的存在與銷毀,小吳從出生,到死亡90歲,這90年就是他的生命週期。

這裡補充一下sizeof,sizeof是用來求所佔記憶體大小的乙個操作符(初學者不必深究),單位是位元組

計算機的發明本質是為了解決人的問題的

人:有臨時資料和全域性資料,而資料本身是需要被儲存的,資料本身有大小,要佔據空間。

c語言為了能夠記錄資料,儲存資料,所以就有了資料型別

而且要有不同大小的型別。

不是資料型別用來儲存資料,而是用資料型別來進行對變數的定義,而資料是儲存在變數中的,用來定義變數大小的模板叫作資料型別。

所謂的資料型別就是變數不同的模板,用來生成不同大小的變數

如同月餅模具並不等於月餅,只是月餅的模板,決定了月餅的大小(不同的模板可以做出不同大小的月餅,而吃的是月餅,不是月餅模板)

如sizeof(1)=sizeof(int),因此模具和用這個模具做出的月餅大小實質是相同的。

字面常量(一般不使用)

如10,『b',」hello world」   不用定義變數型別和變數名(不報錯),但不能直接使用(意思就是每次都要寫原值,不方便,沒必要)

不能對字面常量進行修改   

巨集定義(define)

#define m 100(不寫型別、不寫分號)

const常量

const int a=10;(只加乙個字尾 const),只能初始化而不能賦值

列舉常量(enum),列舉在函式之外(不做深究)

字元(單引號,大小乙個位元組)與字串(雙引號,大小4個位元組);

字串預設以'\0'結尾,即使我們自己沒有新增(大部分情況)

雙引號內部是字串字面值,結束標誌是乙個預設的\0轉義字元,字串內容不包括結束標誌

c語言中有字串,但是沒有字串型別,沒辦法直接定義字串型別,但有儲存字串的方法:字元陣列或者字元指標(初學者此處不必細究)

這裡補充一下strlen,strlen是用來求字串的函式,標頭檔案是stdlib.h,strlen遇到'\0'後停止,且不包括'\0'

字面轉特殊,特殊轉字面

轉義: 特殊轉字面(『 ->\ '),字面轉特殊(n ->\n)

i:   每個轉義字元都是乙個位元組,如'\t' , 『\xhh'

ii:  c語言中不能直接輸出乙個單引號,單引號是字元的界定符(本身有特殊含義),但用' \' '可以轉義後進行輸出,即特殊轉普通,輸出單引號,類似的還有 斜槓'\' , 雙引號&nbsjaugbp;『 」 ' 等

iii:  轉義的是普通字元,且沒有特殊含義時,原樣輸出如'\c'='c'

iv:   \125  轉義為八進位制數對應十進位制的askll碼值

\128 只轉義八進位制數12對應十進位制的askll值,8照常輸出

v:當游標回退時,會將路徑上的原有資料進行刪除,如'\b', '\r',

這裡補充乙個知識點:回車和換行

換行:更換到下一行,而不管位置

回車:回到該行的開始

因此我們通常所說的回車實際上是先換行再回車

因此鍵盤上enter標誌通常是 往下走再往左走的箭頭

而在c語言中直接使用'\n'就是回車+換行的意思

但'\r'就是單純的回車,回到開頭,游標倒退,施行刪除功能,將原值刪除,游標回退,可以用來做計時(如下圖中輸出結果會從9漸變到0,此處初學者不必深究)

注釋:ctrl+c後ctrl+k; 取消注釋:ctrl+c後ctrl+

c語言注釋分為兩種,c(/**/)和c++(//)風格

注釋時選到頭部 預設為c++風格

注釋時未全選 風格為c   

本文標題: 詳解c語言初階基礎

本文位址: /ruanjian/c/437396.html

詳解C語言初階之陣列

目錄 所謂陣列 array 就是具有相同資料型別的集合,存放的資料型別即陣列本身的型別。可以發現儲存的都是int型 補充 除錯小技巧 除錯視窗 按f5進行除錯,開啟選單欄中的除錯 視窗 監視 隨便開啟乙個監視視窗,輸入arr,將程式執行過arr的初始化即可觀察到arr內部進行的初始化 a 完全初始化...

自學c初階基礎

完成特定任務的一系列步驟 常用演算法 列舉法迭代法 遞迴法流程圖 使用一組預先定義的符號來說明如何執行特定任務 以 號開頭的語句為預處理指令 include 意思是包含標準的輸入輸出標頭檔案 include 包含 是 standard input output 的縮寫 standard 標準 inp...

C語言初階 函式

數學中我們常見到函式的概念。但是c語言中的函式是什麼呢?維基百科中對函式的定義 子程式 c語言中函式的分類 庫函式自定義函式 為什麼會有庫函式?開發效率高 穩定性好。這裡我們簡單的看看 www.cplusplus.com 簡單的總結,c語言常用的庫函式都有 自定義函式和庫函式一樣,有函式名,返回值型...