1.入門程式
#include
int main()
2.資料型別
資料型別:
1.基本資料型別
1.1.整型:int 2個位元組
1.2.字元型:char 1個位元組
1.3.實型(浮點型)
1.3.1.單精度型:float 4個位元組
1.3.2.雙精度型:double 8個位元組
2.構造型別
2.1.列舉型別
2.2.陣列型別
2.3.結構體型別
2.4.共用體型別
3.指標型別
4.空型別
3.格式化輸出語句
%d:十進位制整數;
%c:單個字元;
%s:字串;
%f:6位小數;
#include
int main()
4.常量
值不發生改變的量成為常量;
定義字元常量(注意後面沒有;)
#include
#define pocketmoney 10 //定義常量及常量值
int main()
5.運算子
5.1.算數運算子:+,-,,/,%,++,–;前++/–,先運算,再取值.後++/–,先取值,再運算;
5.2.賦值運算子:
5.3.關係運算子;
5.4.邏輯運算子;
5.5.三目運算子:表示式1 ? 表示式2 : 表示式3;
6.水花仙數計算
輸出所有三位數的水仙花數字
所謂「水仙花數」是指乙個三位數,其各位數字立方和等於該數,如:153就是乙個水仙花數,153=111+555+333。
#include
int main()
}return 0;
}7.列印正三角形的*
#include
int main()
/ 觀察每行號的數量,補全迴圈條件 /
for( k=0 ; k<2i-1 ; k++ )
printf("\n"); //每次迴圈換行
}return 0;
}8.臭名遠揚的goto語句
很少使用
#include
int main()
}//執行goto
loop:printf(「結束for迴圈了…」); //請選擇合適位置新增識別符號
return 0;
}9.形參與實參
形參:形參是在定義函式名和函式體的時候使用的引數,目的是用來接收呼叫該函式時傳入的引數;
實參:實參是在呼叫時傳遞該函式的引數。
函式的形參和實參具有以下特點:
1.形參只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只有在函式內部有效。函式呼叫結束返回主調函式後則不能再使用該形參變數。
2.實參可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應預先用賦值等辦法使實參獲得確定值。
3.在引數傳遞時,實參和形參在數量上,型別上,順序上應嚴格一致,否則會發生型別不匹配」的錯誤。
10.函式返回值注意
注意:void函式中可以有執行**塊,但是不能有返回值,另void函式中如果有return語句,該語句只能起到結束函式執行的功能。其格式為:return;
11.遞迴
#include
int getpeachnumber(int n) //這裡要定義n,要不編譯器會報錯!
else
return num;
}int main()
12.變數儲存類別 !
12.1.生存週期劃分儲存方式
c語言根據變數的生存週期來劃分,可以分為靜態儲存方式和動態儲存方式。
靜態儲存方式:是指在程式執行期間分配固定的儲存空間的方式。靜態儲存區中存放了在整個程式執行過程中都存在的變數,如全域性變數。
動態儲存方式:是指在程式執行期間根據需要進行動態的分配儲存空間的方式。動態儲存區中存放的變數是根據程式執行的需要而建立和釋放的,通常包括:函式形式引數;自動變數;函式呼叫時的現場保護和返回位址等。
12.2.儲存型別劃分
c語言中儲存類別又分為四類:自動(auto)、靜態(static)、暫存器的(register)和外部的(extern) ;
1、用關鍵字auto定義的變數為自動變數,auto可以省略,auto不寫則隱含定為「自動儲存類別」,屬於動態儲存方式。
2、用static修飾的為靜態變數,如果定義在函式內部的,稱之為靜態區域性變數;如果定義在函式外部,稱之為靜態外部變數。
注意:靜態區域性變數屬於靜態儲存類別,在靜態儲存區內分配儲存單元,在程式整個執行期間都不釋放;靜態區域性變數在編譯時賦初值,即只賦初值一次;如果在定義區域性變數時不賦初值的話,則對靜態區域性變數來說,編譯時自動賦初值0(對數值型變數)或空字元(對字元變數)
3、為了提高效率,c語言允許將區域性變數的值放在cpu中的暫存器中,這種變數叫「暫存器變數」,用關鍵字register作宣告。
注意:只有區域性自動變數和形式引數可以作為暫存器變數;乙個計算機系統中的暫存器數目有限,不能定義任意多個暫存器變數;區域性靜態變數不能定義為暫存器變數。
4、用extern宣告的的變數是外部變數,外部變數的意義是某函式可以呼叫在該函式之後定義的變數。
#includ
int main()
int x=100;
13.內部函式外部函式 !
在c語言中不能被其他原始檔呼叫的函式稱為內部函式 ,內部函式由static關鍵字來定義,因此又被稱為靜態函式,形式為:
static [資料型別] 函式名([引數])
這裡的static是對函式的作用範圍的乙個限定,限定該函式只能在其所處的原始檔中使用,因此在不同檔案**現相同的函式名稱的內部函式是沒有問題的。
在c語言中能被其他原始檔呼叫的函式稱為外部函式 ,外部函式由extern關鍵字來定義,形式為:
extern [資料型別] 函式名([引數])
c語言規定,在沒有指定函式的作用範圍時,系統會預設認為是外部函式,因此當需要定義外部函式時extern也可以省略。
extern可以省略;
14.陣列
陣列:一塊連續的,大小固定並且裡面的資料型別一致的記憶體空間,
陣列的宣告:資料型別 陣列名稱[長度n]
資料型別 陣列名稱[長度n] = ;
資料型別 陣列名稱 = ;
數類型別 陣列名稱[長度n];
陣列名稱[0] = 元素1;陣列名稱[1] = 元素2;…
注意:1、陣列的下標均以0開始;
2、陣列在初始化的時候,陣列內元素的個數不能大於宣告的陣列長度;
3、如果採用第一種初始化方式,元素個數小於陣列的長度時,多餘的陣列元素初始化為0;
4、在宣告陣列後沒有進行初始化的時候,靜態(static)和外部(extern)型別的陣列元素初始化元素為0,自動(auto)型別的陣列的元素初始化值不確定。
15.陣列遍歷
#include
int main()
;int i;
for(i=0;i<10;i++)
return 0;
}15.陣列的氣泡排序
氣泡排序的思想:相鄰元素兩兩比較,將較大的數字放在後面,直到將所有數字全部排序。
15.字串與陣列
在c語言中,是沒有辦法直接定義子字串資料型別的,需使用陣列來定義所要的字串,形式如下:
char 字串名稱[長度] = 「字串內容」;
char 字串名稱[長度] = ;
注:1.中的長度可以省略不寫;
2.採用第二種方式最後乙個元素必須是』\0』,表示結束;
3.第二種方式不能寫中文!;
輸出字串時,要使用:printf("%s",字元陣列名);或puts(字元陣列名);
16.字串函式
strlen(s):獲取字串s的長度;
2.strcmp(s1,s2):比較字串;比較的時候會把字串轉換成ascii碼再進行比較,返回結果為0表示s1和s2的ascii碼值相等,返回結果為1表示s1比s2的ascii碼大,返回結果為-1表示s1比s2的acsii碼小;
3.strcpy(s1,s2):字串拷貝;s2會取代s1中的內容;
4.strcat(s1,s2)將s2拼接到s1後面;注意:s1的length要足夠才可以!
5.atoi(s1)將字串轉為整數!
17.多維陣列
資料型別 陣列名稱[常量表示式1]…[常量表示式n];
多維陣列的初始化與一維陣列的初始化類似也是分兩種:
1、資料型別 陣列名稱[常量表示式1][常量表示式2]…[常量表示式n] = ,,…,};
2、資料型別 陣列名稱[常量表示式1][常量表示式2]…[常量表示式n]; 陣列名稱[下標1][下標2]…[下標n] = 值;
多維陣列初始化要注意以下事項:
1、採用第一種始化時陣列宣告必須指定列的維數。因為系統會根據陣列中元素的總個數來分配空間,當知道元素總個數以及列的維數後,會直接計算出行的維數;
2、採用第二種初始化時陣列宣告必須同時指定行和列的維數。
18.多維度陣列的遍歷
使用巢狀迴圈
注意:多維陣列的每一維下標均不能越界!
python基礎語法回顧
列表 1 正向單索引 list1 張三 男 33,江蘇 碩士 已婚 身高178 體重56 取出第乙個元素 print list1 0 取出第四個元素 print list1 3 取出最後乙個元素 print list1 1 print list1 6 取出最最後乙個元素 print list1 1 ...
c基礎回顧
發現乙個很好的c學習 做了一些練習 include include define arrlen arr sizeof arr sizeof arr 0 f int a ff int a fff char ch char ffff char ch fffff int intarr intarr 2 a...
C 基礎回顧
很簡單 寫個複數的class咯,注意些基本細節 ifndef inc 2 9 complex h define inc 2 9 complex h class complex complex operator const complex double real const double imag c...