1,入門項目?
2.數據類型?
數據類型:
1.基本數據類型:
1.1.整數:int 4字節。
1.2.字符類型:char 1字節。
1.3.實數類型(浮點類型)
1.3.1.單精度類型:浮點4字節。
1.3.2.Double:雙8字節。
2.結構類型:
2.1.枚舉類型
2.2.數組類型
2.3.結構類型
2.4.***用戶類型
3.指針類型:
4.空類型:
3.打印格式聲明?
%d:十進制整數;
%c:單個字符;
%s:字符串;
%f:6位小數;
4.常數?
其值不變的量成為常數;
定義壹個字符常量(註意沒有以下內容;)
5.接線員?
5.1.算術運算符:+、-、*、/、%、++、-;在++/-之前,先運算,再取值。++/-之後,先取值,再運算;
5.2.賦值運算符:
5.3.關系運算符;
5.4.邏輯運算符;
5.5.三方運營商:
表情1?表達式2:表達式3;
6.水仙花數量計算?
輸出所有三位數的水仙花數字。
所謂“水仙號”是指壹個三位數,其位數的立方和等於這個數。例如,153是水仙花的數字,而111+555+333。
7.打印正三角形*?
8.臭名昭著的goto語句?
很少使用
9.正式參與實參數?
形參:形參是定義函數名和函數體時使用的參數,用於在調用函數時接收傳入的參數;
Argument: Argument是調用時傳遞的函數的參數。
函數的形參和實參具有以下特征:
參數僅在被調用時分配內存單元,並在調用結束時釋放分配的內存單元。因此,形參只在函數內部有效。函數調用結束並返回到tonic函數後,參數變量就不能再使用了。
參數可以是常量、變量、表達式、函數等。無論它們是哪種量,在進行函數調用時都必須有確定的值,以便將這些值傳遞給形式參數。因此,我們應該事先使用賦值等方法來獲得實參數的確定值。
在傳遞參數時,實際參數和形式參數在數量、類型和順序上應嚴格壹致,否則會出現類型不匹配的錯誤。
10.註意函數返回值?
註意:void函數可以有執行代碼塊,但不能有返回值。此外,如果void函數中有return語句,則只能結束函數。其格式為:返回;
11.遞歸?
12.可變存儲類別!?
12.1.生命周期分割存儲模式
根據變量的生命周期,C語言可以分為靜態存儲和動態存儲。
靜態存儲模式:指程序運行時分配固定存儲空間的模式。靜態存儲區存儲整個程序執行過程中存在的變量,如全局變量。
動態存儲模式:指在程序運行過程中根據需要動態分配存儲空間的模式。存儲在動態存儲區的變量是根據程序運行的需要而建立和釋放的,通常包括:函數參數;自動變量;調用函數時的現場保護和返回地址。
12.2.存儲類型劃分
C語言中有四類存儲:自動、靜態、寄存器和外部。
由關鍵字auto定義的變量是自動變量,可以省略auto。如果沒有寫auto,則隱式定義為“自動存儲類別”,屬於動態存儲模式。
用靜態修飾的是靜態變量。如果是在函數內部定義的,則稱為靜態局部變量。如果在函數外部定義,則稱為靜態外部變量。
註意:靜態局部變量屬於靜態存儲的範疇,在靜態存儲區中分配的存儲單元在程序整個運行期間不會被釋放;靜態局部變量在編譯時被賦予初始值,也就是說,它們只被賦予壹次初始值;如果在定義局部變量時沒有指定初始值,對於靜態局部變量,初始值會在編譯時自動指定為0(對於數值變量)或空字符(對於字符變量)。
為了提高效率,C語言允許將局部變量的值放在CPU中的寄存器中,這些寄存器稱為“寄存器變量”,並用關鍵字register聲明。
註意:只有局部自動變量和形參可以用作寄存器變量;計算機系統中寄存器的數量是有限的,因此不可能定義任何數量的寄存器變量。局部靜態變量不能定義為寄存器變量。
用extern聲明的變量是外部變量,外部變量的意義是函數可以調用在函數之後定義的變量。
13.內部函數外部函數!?
在C語言中不能被其他源文件調用的函數稱為內部函數,內部函數由靜態關鍵字定義,因此也稱為靜態函數,其形式為:
靜態【數據類型】函數名(【參數】)
這裏的Static是對函數作用域的限制,只能在函數所在的源文件中使用,所以函數名相同的內部函數出現在不同的文件中是沒有問題的。
在C語言中,可以被其他源文件調用的函數稱為外部函數,外部函數由extern關鍵字以如下形式定義:
外部【數據類型】函數名(【參數】)
c語言規定,當壹個函數的作用域沒有指定時,系統默認會認為它是壹個外部函數,因此在需要定義外部函數時也可以省略extern。可以省略Extern14.數組數組:具有固定大小和壹致數據類型的連續內存空間。數組的聲明:數據類型數組名稱【長度n】
數據類型數組名稱【長度n】= { element 1,element 2,element 3,...};
數據類型數組名稱【】= {element 1,element 2,element 3...};
數字類類型數組名稱【長度n】;數組名【0】=元素1;數組名【1】=元素2;.....註意:1和數組的下標都以0開頭;
2.初始化數組時,數組中元素的數量不能大於聲明的數組長度。
3.如果采用第壹種初始化方法,當元素個數小於數組長度時,將冗余數組元素初始化為0;4.當數組在聲明後未初始化時,static和extern類型的數組元素的初始化元素為0,auto類型的數組元素的初始化值不確定。
15.數組遍歷
數組的冒泡排序
冒泡排序的思想是:將相鄰的元素相互比較,將較大的數字放在後面,直到所有的數字都排序完畢。
字符串和數組
在C語言中,沒有辦法直接定義substring的數據類型。您需要使用數組來定義所需的字符串,格式如下:
Char字符串名稱【length】=“字符串內容“;
Char字符串名稱【length】= {‘String 1‘,‘String 2‘,...,“String n“,“\ 0“};
註意:
【】中的長度可以省略;
第二種方式,最後壹個元素必須是“\0”,表示結束;
第二種方式不會寫中文!;輸出字符串時,使用:printf(“% s“,字符數組名);或puts(字符數組名);
16.字符串函數?
獲取字符串s的長度;
strcmp(s 1,s2):比較字符串;比較時,字符串將被轉換為ASCII代碼,然後進行比較。返回結果為0,這意味著s1和s2的ASCII碼值相等。返回結果是1,這意味著s1大於s2的ASCII碼,返回結果是-1,這意味著s 1小於s2的ACSII碼。
strcpy(s 1,s2):字符串復制;S2將替換s1中的內容;
strcat(s1,s2)在s 1後面拼接S2;註意:s1的長度應該夠了!
atoi(s 1)將字符串轉換為整數!
17.
數據類型數組名稱【常量表達式1】...【常量表達式n】;
多維數組的初始化與壹維數組類似,有兩種類型:
數據類型數組名稱【常數表達式1】【常數表達式2】...【常量表達式n】= { { value 1,...,值n},{值1,...值n},...,{ value 1,...,值。
數據類型數組名稱【常數表達式1】【常數表達式2】...【常量表達式n】;數組名稱【下標1】【下標2】...【下標n】=值;
多維數組初始化應註意以下事項:
當采用第壹次初始化時,數組聲明必須指定列的維度。因為系統會根據數組中元素的總數來分配空間,所以當元素總數和列的維數已知時,將直接計算行程的維數;
使用第二次初始化時,數組聲明必須指定行和列的維度。
18.多維數組的遍歷?
使用嵌套循環
註意:多維數組的每個壹維下標不能越界!
65438+
C array允許您定義可以存儲相同類型數據項的變量。結構是C編程中另壹種用戶定義的可用數據類型,它允許您存儲不同類型的數據項。
結構用於表示記錄。假設您想要跟蹤圖書館中圖書的動態,您可能需要跟蹤每本書的以下屬性:
標題
作者
科目
圖書ID
定義結構
為了定義結構,必須使用struct語句。struct語句定義了壹個具有多個成員的新數據類型。struct語句的格式如下:
標記是壹個結構標記。
Member-list是標準的變量定義,比如int I;、或float f、或其他有效的變量定義。
變量列表結構變量定義在結構的末尾,在最後壹個分號之前,您可以指定壹個或多個結構變量。以下是圖書結構的申報方式:
在正常情況下,必須至少有兩個標記,成員列表和變量列表部分。以下是壹些例子:
訪問結構成員
為了訪問壹個結構的成員,我們使用成員訪問操作符(。).成員訪問操作符是結構變量名稱和我們要訪問的結構成員之間的句點。您可以使用struct關鍵字定義結構類型的變量。下面的示例演示了結構的用法:
20.***帶著屍體?
* * *對象是壹種特殊的數據類型,它允許您在同壹內存位置存儲不同的數據類型。您可以定義壹個包含多個成員的* * *主題,但任何時候都只能有壹個成員有值。* * *主體提供了使用相同內存位置的有效方法。
21.指針?
22.文件讀寫?
寫文件
讀取文件
C語言與C++學習路線
23.排序算法?
十大經典排序算法(動態演示+代碼)
24.搜索算法?
九種搜索算法
面試知識
C語言與C++面試知識總結
26.字處理
字符串操作的全面總結
27.C語言通用標準庫解讀
C語言通用標準庫解讀
28.C語言中最常用的貪婪算法
C語言中最常用的貪婪算法就這樣被攻克了。
29.常見的C語言內存錯誤及對策
C語言中常見的內存錯誤及其對策
30.c語言實現了面向對象的原則。
c語言實現了面向對象的原則。
31.C語言/C++內存管理
看完這篇文章妳還能理解C語言/C++內存管理嗎?
32.再談C語言指針
再來說說指針:老大哥給妳掃清C指針的雲。
c語言函數指針的回調函數
C語言指針詳解(文末福利)
33.c語言預處理命令
長文本詳解:C語言預處理命令
34.C語言的高效編程和代碼優化
C語言的高效編程和代碼優化
35.c語言結構
C語言的結構就這樣被攻克了!值得收藏!
36.原碼、補碼、補碼詳解
原碼、補碼、補碼詳解
37.c語言宏定義
淺談C語言中宏定義的使用
38.* * *在C語言中使用聯合、枚舉和大小端模式。
C語言中* * *的並集、枚舉和大小端模式
C語言可以零基礎入門,其語法是許多高級編程語言的基礎,如Java和c++;+;它起著承上啟下的作用。往上可以學習高級編程語言,往下可以學習計算機組成原理、操作系統等計算機基礎知識。
書
個人覺得第壹本書《Aha C語言》的文筆比較幽默,基礎學習對培養興趣很有好處。
《c程序設計語言》,機械工業出版社,作者布萊恩·w·柯尼漢/(美國)丹尼斯·m·裏奇。C語言之父寫的壹本入門經典書籍。
《初級讀本》,人民郵電出版社,斯蒂芬·普拉塔著。可以作為C語言的參考書,也可以作為入門,內容循序漸進,可以鍛煉編程思路。
《C與指針》對指針有很深的理解,看完以後我再也不怕指針了。
正如書中所說:“C的陷阱和缺陷”,“這本書揭示的知識至少可以幫助您減少C代碼和初級C++代碼中90%的bug”,您可以在閱讀後避免C語言開發中的壹些坑。
在線課程
1,《郝斌C語言自學教程》
2、《程序設計導論-C語言》(浙江大學翁凱分校)
分項
包括C語言迷宮、21點遊戲、跑步簡筆畫、超市管理系統、打字字母、電子鐘、對仗、俄羅斯方塊、黑白棋、華容道、火車票預訂管理源碼、連連看、商品銷售系統、象棋、超級馬裏奧、圖書管理系統和學生成績管理系統。