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是調用時傳遞的函數的參數。
函數的形參和實參具有以下特征:
參數僅在被調用時分配內存單元,並在調用結束時釋放分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回到主音函數後,參數變量就不能再用了。
參數可以是常量、變量、表達式、函數等。無論是哪種量,在進行函數調用時都必須有確定的值,以便將這些值傳遞給形參。所以要事先用賦值等方法,得到實參數的確定值。
傳遞參數時,實參和形參在數量、類型、順序上要嚴格壹致,否則會出現類型不匹配的錯誤。
10.註意函數返回值?
註意:void函數可以有執行代碼塊,但是不能有返回值。另外,如果void函數中有return語句,只能結束函數。其格式為:返回;
11.遞歸?
12.可變存儲類別!?
12.1.生命周期分割存儲模式
根據變量的生命周期,C語言可以分為靜態存儲和動態存儲。
靜態存儲模式:指程序運行時分配固定存儲空間的模式。靜態存儲區存儲的是整個程序執行過程中存在的變量,比如全局變量。
動態存儲模式:指在程序運行過程中,根據需要動態分配存儲空間的模式。存儲在動態存儲區的變量是根據程序運行的需要而建立和釋放的,通常包括:函數參數;自動變量;調用函數時的現場保護和返回地址。
12.2.存儲類型劃分
C語言中有四類存儲:自動、靜態、寄存器和外部。
由關鍵字auto定義的變量是自動變量,可以省略auto。如果沒有寫auto,則隱式定義為“自動存儲類別”,屬於動態存儲模式。
用static修飾的是靜態變量。如果它是在函數內部定義的,則稱為靜態局部變量。如果在函數之外定義,則稱為靜態外部變量。
註意:靜態局部變量屬於靜態存儲的範疇,分配在靜態存儲區的存儲單元在程序整個運行期間不會被釋放;靜態局部變量在編譯時被賦予初始值,也就是說,它們只被賦予壹次初始值;如果在定義局部變量時沒有賦值初始值,那麽對於靜態局部變量,初始值會在編譯時自動賦值為0(對於數值變量)或空字符(對於字符變量)。
為了提高效率,C語言允許將局部變量的值放在CPU中的寄存器中,稱為“寄存器變量”,用關鍵字register聲明。
註意:只有局部自動變量和形參可以作為寄存器變量;計算機系統中寄存器的數量是有限的,所以不可能定義任何數量的寄存器變量。局部靜態變量不能定義為寄存器變量。
用extern聲明的變量是外部變量,外部變量的意義是函數可以調用在函數之後定義的變量。
13.內部函數外部函數!?
C語言中不能被其他源文件調用的函數稱為內部函數,內部函數由靜態關鍵字定義,所以也稱為靜態函數,形式為:
靜態[數據類型]函數名([參數])
這裏的Static是對函數作用域的限制,只能在所在的源文件中使用,所以相同函數名的內部函數出現在不同的文件中是沒有問題的。
在C語言中,可以被其他源文件調用的函數稱為外部函數,它們由extern關鍵字以如下形式定義:
外部[數據類型]函數名([參數])
c語言規定,當沒有指定函數的作用域時,系統會默認認為是外部函數,所以需要定義外部函數時也可以省略extern。可以省略Extern14.數組數組:具有固定大小和壹致數據類型的連續內存空間。數組的聲明:數據類型數組名稱[長度n]
數據類型數組名稱[長度n]= {元素1,元素2,元素3,...};
數據類型數組名稱[]= {元素1,元素2,元素3,...};
數字類類型數組名[長度n];數組名[0] =元素1;數組名[1] =元素2;.....註意:1和數組的下標都以0開頭;
2.初始化數組時,數組中元素的數量不能大於聲明的數組長度。
3.如果采用第壹種初始化方法,當元素個數小於數組長度時,將冗余數組元素初始化為0;4.當數組聲明後未初始化時,static和extern類型的數組元素初始化元素為0,auto類型的數組元素初始化值不確定。
15.數組遍歷
數組的冒泡排序
冒泡排序的思想:將相鄰的元素相互比較,將較大的數字放在後面,直到所有的數字都排序完畢。
字符串和數組
在C語言中,沒有辦法直接定義substring的數據類型。您需要使用壹個數組來定義所需的字符串,格式如下:
char string name[length]= " string content ";
字符字符串名稱[長度] = { '字符串1 ','字符串2 ',...,'字符串n ',' \ 0 ' };
註意:
[]中的長度可以省略;
第二種方式,最後壹個元素必須是' \0 ',表示結束;
第二種方式不會寫中文!;輸出字符串時,使用:printf("%s ",字符數組名);或puts(字符數組名);
16.字符串函數?
Strlen(s):獲取字符串的長度s;
Strcmp(s1,s2):比較字符串;比較時,字符串會被轉換成ASCII碼,然後進行比較。返回結果為0,表示s1和s2的ASCII碼值相等。返回結果為1,表示s1大於s2的ASCII碼,返回結果為-1,表示s 1小於s2的ACSII碼。
Strcpy(s1,s2):字符串復制;S2將替換s1中的內容;
Strcat(s1,s2)拼接s1後面的S2;註意:s1的長度應該夠了!
Atoi(s1)將字符串轉換為整數!
17.
數據類型數組名稱[常量表達式1]...[常量表達式n];
多維數組的初始化和壹維數組類似,有兩種:
數據類型數組名稱[常量表達式1][常量表達式2]...[常量表達式n] = {{值1,...,值n},{值1,...值n},...,{值1,...,值。
數據類型數組名稱[常量表達式1][常量表達式2]...[常量表達式n];數組名[下標1][下標2]...[下標n] =值;
多維數組初始化應註意以下事項:
當采用第壹次初始化時,數組聲明必須指定列的維度。因為系統會根據數組中的元素總數來分配空間,所以當元素總數和列的維數已知時,會直接計算出行程的維數;
使用第二次初始化時,數組聲明必須指定行和列的維度。
18.多維數組的遍歷?
使用嵌套循環
註意:多維數組的每個壹維下標不能越界!
65438+
數組允許妳定義可以存儲相同類型數據項的變量。結構是C編程中另壹種用戶定義的可用數據類型,它允許您存儲不同類型的數據項。
結構用於表示壹條記錄。假設您想要跟蹤圖書館中圖書的動態,您可能需要跟蹤每本書的以下屬性:
標題
作者
科目
圖書ID
定義結構
為了定義結構,必須使用struct語句。struct語句定義了壹個具有多個成員的新數據類型。struct語句的格式如下:
標記是壹個結構標記。
Member-list是標準的變量定義,比如int I;或者其他有效的變量定義。
變量列表結構變量定義在結構的末尾,在最後壹個分號之前,可以指定壹個或多個結構變量。以下是圖書結構的申報方式:
在正常情況下,必須至少有兩個標記,成員列表和變量列表部分。以下是壹些例子:
訪問結構成員
為了訪問壹個結構的成員,我們使用成員訪問操作符(。).成員訪問操作符是結構變量名稱和我們要訪問的結構成員之間的句點。可以使用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程序設計語言》,機械工業出版社,Brian W. Kernighan/(美)Dennis M. Ritchie。C語言之父寫的,入門經典書籍。
C Primer Plus,人民郵電出版社,斯蒂芬·普拉塔著。可以作為C語言參考書,也可以作為入門,內容循序漸進,可以鍛煉編程思路。
《C與指針》對指針有了深刻的理解,看完之後,我再也不怕指針了。
正如《C陷阱與缺陷》這本書所說,“本書揭示的知識至少可以幫助妳減少C代碼和初級C++代碼中90%的bug”,看完可以避免C語言開發中的壹些坑。
在線課程
1,《郝斌C語言自學教程》
2、《程序設計導論-C語言》(浙江大學翁凱分校)
分項
包括C語言迷宮、二十壹點遊戲、跑步簡筆畫、超市管理系統、打字字母、電子鐘、對仗、俄羅斯方塊、黑白棋、華容道、火車票訂票管理源碼、連連看、商品銷售系統、象棋、超級瑪麗、圖書管理系統、學生成績管理系統。