




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言筆記第一堂 C 基礎(chǔ)一、進(jìn)制的規(guī)則 1、n進(jìn)制使用0n-1之間的數(shù)字表示所有的數(shù)值 (1)二進(jìn)制 0 1 (2)八進(jìn)制 07 (3)十進(jìn)制 09 (4)十六進(jìn)制 09 AF(1015) 2、n進(jìn)制的數(shù)值,每一位在計(jì)算時(shí)都是逢n進(jìn)一 (1)在十進(jìn)制下,計(jì)算9+1,數(shù)值是10,表示:10, (2)在二進(jìn)制下,計(jì)算1+1,數(shù)值是2,表示:10 二、進(jìn)制轉(zhuǎn)換 1、基數(shù):n進(jìn)制的基數(shù)為n 2、位:對數(shù)值的每一位的描述。從右向左,最低位使用0表示,向最高位依次遞增。 3、權(quán):n進(jìn)制的權(quán)是n。例如:十進(jìn)制的權(quán)是10 4、位權(quán):數(shù)值的每一個(gè)位置對應(yīng)的單位值。n(i-1) (1)十進(jìn)制 轉(zhuǎn) n進(jìn)制 連除倒
2、取余 (2)n進(jìn)制 轉(zhuǎn) 十進(jìn)制 按位求和 5、區(qū)分進(jìn)制 (1)十進(jìn)制 沒有修飾 (2)八進(jìn)制 以0開頭 eg:063 (3)十六進(jìn)制 以0 x開頭 eg:0 x63 6、進(jìn)制常識(shí) (1)十進(jìn)制:給開發(fā)人員用的 二進(jìn)制:計(jì)算機(jī)能夠識(shí)別的語言 (2)十六進(jìn)制的存在為了方便表示二進(jìn)制。1個(gè)十六進(jìn)制位=4個(gè)二進(jìn)制位 eg:1=0001 F=1111注釋有單行注釋、多行注釋(程序運(yùn)行時(shí),注釋不被執(zhí)行)#include作用:導(dǎo)入文件的內(nèi)容 stdio standard input output 標(biāo)準(zhǔn)輸入輸出sizeof查看占多少字節(jié) eg:sizeof(char);C語言包含的數(shù)據(jù)類型:一、基本數(shù)據(jù)類型
3、整型、浮點(diǎn)型、字符型二、整型 1、有符號(hào) short int long long long 2、無符號(hào) unsigned short unsigned int unsigned long 三、浮點(diǎn)型 float、double 四、字符型char變量的數(shù)據(jù)類型轉(zhuǎn)換:一種是隱式轉(zhuǎn)換,一種是顯示(強(qiáng)制)轉(zhuǎn)換顯示(強(qiáng)制)轉(zhuǎn)換float f = 5.75;printf(“%d”, (int)f);運(yùn)行結(jié)果:5隱式轉(zhuǎn)換:由編譯系統(tǒng)自動(dòng)完成在賦值運(yùn)算中,賦值號(hào)兩邊量的數(shù)據(jù)類型不同時(shí),賦值號(hào)右邊量的類型將轉(zhuǎn)換為左邊量的類型。如果右邊量的數(shù)據(jù)類型長度比左邊長,將丟失一部分?jǐn)?shù)據(jù),這樣會(huì)降低精度,丟失的部分按四舍五
4、入向前舍入。float a = 7.72; int b = 2, c = 0; c = a + b; printf(%dn, c); 結(jié)果:9 五、數(shù)據(jù)的存儲(chǔ)單位 1、存儲(chǔ)單位。字節(jié)Byte,最常用的存儲(chǔ)單位。位bits,最小的存儲(chǔ)單位2、1字節(jié)=8位(二進(jìn)制位)=2位(十六進(jìn)制位)關(guān)鍵字說明字節(jié)大小char字符類型1short短整型類型2int整型類型4float單精度浮點(diǎn)類型4long長整型類型8double雙精度浮點(diǎn)類型8常量:程序運(yùn)行期間不能被修改的量 整型常量 12 浮點(diǎn)型常量 1.3 字符型常量 a,A 字符串常量 yihuiyun變量:只能由數(shù)字、字母、下劃線組成,不能用數(shù)字開頭
5、.不可以與系統(tǒng)保留字同名。不能使用重復(fù)的變量名。 定義變量:讀取和存儲(chǔ)數(shù)據(jù) 類型 變量名 = 初始值變量名駝峰原則賦值運(yùn)算符 變量 = 常量或變量算數(shù)運(yùn)算符中 除法運(yùn)算符 被除數(shù)/除數(shù) 除數(shù)不能為0,如果除號(hào)兩邊都是整數(shù),結(jié)果也是整數(shù),省略小數(shù)部分(不存在四舍五入);如果除號(hào)兩邊有至少一個(gè)浮點(diǎn)數(shù),結(jié)果就是浮點(diǎn)數(shù)。取余(模)運(yùn)算符% 運(yùn)算符兩邊必須都是整數(shù),余數(shù) 4 3; / 5 4結(jié)果為真,1 3結(jié)果為假關(guān)系運(yùn)算符1、用于兩個(gè)數(shù)的比較2、關(guān)系運(yùn)算符的結(jié)果只有兩種:真、假。使用BOOL類型變量接受。3、由常量、變量、關(guān)系運(yùn)算符組成的表達(dá)式,稱為關(guān)系表達(dá)式=等于 !=不等于= 賦值運(yùn)算符 = 等于
6、浮點(diǎn)型數(shù)不能使用 = 比較是否相等,小數(shù)在存儲(chǔ)時(shí)存在精度問題,相等不相等只能用于整型和字符型。計(jì)算機(jī)在存儲(chǔ)字符時(shí),本質(zhì)上存儲(chǔ)的是對應(yīng)的整型數(shù)字符和整型數(shù)的對應(yīng)關(guān)系,依據(jù)ASCII編碼規(guī)范邏輯與 & 公式: 表達(dá)式1 & 表達(dá)式2 運(yùn)算規(guī)則:只有表達(dá)式1和表達(dá)式2同時(shí)為真,邏輯與表達(dá)式的結(jié)果才為真。 一假全假。短路現(xiàn)象當(dāng)表達(dá)式1結(jié)果為假時(shí),邏輯與表達(dá)式的結(jié)果已經(jīng)可以確定為假,所以表達(dá)式2不在執(zhí)行。邏輯或 | 公式: 表達(dá)式1 | 表達(dá)式2 運(yùn)算規(guī)則:表達(dá)式1和表示式2,只要有一個(gè)結(jié)果為真,邏輯或表達(dá)式結(jié)果為真。 一真即真。運(yùn)算符的優(yōu)先級(jí): () ! 算數(shù)運(yùn)算符 關(guān)系運(yùn)算符 邏輯運(yùn)算符 賦值運(yùn)算符
7、關(guān)系和邏輯運(yùn)算符的優(yōu)先級(jí)都低于算數(shù)運(yùn)算符(邏輯非除外)。程序的三種結(jié)構(gòu):順序、分支、循環(huán)if語句,先執(zhí)行()內(nèi)的表達(dá)式,如果表達(dá)式結(jié)果為真,則執(zhí)行if后面內(nèi)的代碼;如果表達(dá)式結(jié)果為假,則跳過內(nèi)的代碼,執(zhí)行if語句后的代碼。整除問題中常用到a % b = 0 a能被b整除能被400整除BOOL r1 = (year % 400 = 0);能被4整除,并且不能被100整除BOOL r2 = (year % 4 = 0) & (year % 100 != 0);if (r1 | r2) printf(該年是閏年n); else printf(該年不是閏年n);公式: 條件表達(dá)式 ? 表達(dá)式1 : y
8、;如果條件表達(dá)式結(jié)果為真,則運(yùn)算結(jié)果為表達(dá)式1的結(jié)果;如果為假,則為表達(dá)式2的結(jié)果表達(dá)式也可以是三項(xiàng)表達(dá)式x 0 ? 1 : x -1 : 0;switch (整型/字符型表達(dá)式) case 值1: / case后面的值是 整型或字符型常量 語句1 break; case 值2: 語句2 break; default: break; 1、如果表達(dá)式的值沒有和任何一個(gè)case后面的值匹配成功,執(zhí)行default分支。 2、break語句對switch的作用:結(jié)束當(dāng)前case分支的執(zhí)行,并且結(jié)束switch語句。多個(gè)case可以運(yùn)行同一個(gè)代碼段練習(xí):按照考試成績(A、B、C、D)的等級(jí)輸出百分制分
9、數(shù)段。A、B、C:輸出“60分以上” D:輸出“60分以下” char level = A; switch (level) case A: case B: case C: printf(輸出60分以上n); break; case D: printf(輸出60分以下n); break; default: break; 枚舉也是屬于構(gòu)造類型一組 具有名稱的 整型常量/ 枚舉類型enum NumberTpye shichang = 901, jiaoxue = 902, zhiye = 903, xingzheng = 904 ;/ 定義枚舉類型enum TestType/默認(rèn)情況下,第一個(gè)標(biāo)示符
10、對應(yīng)的數(shù)字是0/ 標(biāo)示符對應(yīng)的數(shù)字,從第一份開始逐漸遞增,增量為1 one, / 0 two, / 1 three = 6, / 6 four / 7;連習(xí):從控制臺(tái)輸入分機(jī)號(hào) 901 市場部 902 教學(xué)部 903 職業(yè)規(guī)劃部 904 行政部,跟據(jù)輸入的分機(jī)號(hào),打印各部門的名稱while (YES) int number = 0; printf(請輸入分機(jī)號(hào):); scanf(%d, &number); switch (number) case shichang: printf(這里是市場部n); break; case jiaoxue: printf(這里是教學(xué)部n); break; ca
11、se zhiye: printf(這里是職業(yè)規(guī)劃部n); break; case xingzheng: printf(這里是行政部n); break; default: printf(輸入的分機(jī)號(hào)不存在n); break; printf(%dn, shichang);printf(%dn, jiaoxue);printf(%dn, zhiye);printf(%dn, xingzheng);/ 定義枚舉類型的變量 / 枚舉類型中提供的枚舉值,是當(dāng)前枚舉類型可以使用的所有數(shù)據(jù)/ enum NumberTpye number = 901; 可以這么寫 enum NumberTpye number
12、= shichang; 也可以這么寫 printf(%dn, number); 結(jié)果 901第三堂 循環(huán)結(jié)構(gòu)順序結(jié)構(gòu):順序執(zhí)行語句。分支結(jié)構(gòu):通過進(jìn)行一個(gè)判斷在兩個(gè)可選的語句序列之間選擇執(zhí)行(分支)。循環(huán)結(jié)構(gòu):當(dāng)滿足某個(gè)特定條件的情況下,重復(fù)執(zhí)行一段代碼循環(huán)的作用:減少重復(fù)冗余的代碼,增加代碼可讀性、易于維護(hù)。條件始終成立的循環(huán)被稱為死循環(huán) 應(yīng)該避免出現(xiàn)誤操作的死循環(huán)while (count 100) printf(hello wordn); / 循環(huán)增量控制 count +; 條件表達(dá)式為真,執(zhí)行循環(huán)體,一旦條件表達(dá)式為假,循環(huán)停。do 語句 while (條件表達(dá)式);do-while 語
13、句的表達(dá)式后面必須加分號(hào)。先執(zhí)行循環(huán)體,再判斷循環(huán)條件,直到條件不滿足的適合,循環(huán)結(jié)束。count循環(huán)變量:控制循環(huán)次數(shù),()內(nèi)稱為循環(huán)條件結(jié)果只有兩個(gè):真、假隨機(jī)數(shù):arc4random()-返回一個(gè)隨機(jī)數(shù),沒有范圍限制,是正整數(shù)如果要隨機(jī)一個(gè)【a,b】范圍內(nèi)的整數(shù)公式:arc4random()%(b - a + 1)+ a 原理:余數(shù)必須小于除數(shù)10, 30之間的隨機(jī)數(shù) 可看成0, 20 + 10死循環(huán)while (YES) for (循環(huán)變量初始化;循環(huán)條件;循環(huán)增量) 語句循環(huán)條件為真,執(zhí)行循環(huán)體。循環(huán)體可以是空語句用 for 打印出 1100之間不是7的倍數(shù)并且不包含7的數(shù) 。for
14、 (int i = 1; i 100; i+) if (i % 7 != 0) & (i / 10 != 7) & (i % 10 != 7) printf(%d , i); 使用for循環(huán)輸出20個(gè)【12,34】之間的隨機(jī)數(shù) for (int i = 0; i 20; i+) int num = arc4random() % 23 + 12; printf(%d , num); 循環(huán)嵌套:在一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)體乘法表for (int i = 1; i = 9; i+) for (int j = 1; j = i; j+) printf(%d * %d = %d , j, i,
15、 j * i); printf(n);break 只能用在switch語句或循環(huán)語句中,在switch語句中的作用是跳出switch語句,循環(huán)體中的作用是跳出本層循環(huán)(通常與if連用)轉(zhuǎn)去執(zhí)行后面的程序。Continue語句只能用在循環(huán)體中,在循環(huán)體中的作用:結(jié)束本次循環(huán)(continue后面的代碼不再執(zhí)行),進(jìn)入下次循環(huán)。(通常與if連用)break 跳出本層循環(huán),continue 結(jié)束本次循環(huán),通常與if連用for (int i = 1; i = 3; i+) for (int j = 1; j = 5; j+) if (j = 4) continue; printf(%d , j); p
16、rintf(n); for最常用,通常用于知道循環(huán)次數(shù)的循環(huán)。while也很常用,通常用于不知道循環(huán)次數(shù)的循環(huán)。do.while不是特別常用,通常用于需要先執(zhí)行一次的循環(huán)。第四堂 一維數(shù)組、字符數(shù)組C語言中數(shù)組:相同類型的成員組成的一組數(shù)據(jù)。1、數(shù)組屬于構(gòu)造類型2、什么是數(shù)組?具有相同數(shù)據(jù)類型的成員組成的一組數(shù)據(jù)3、整型數(shù)組、浮點(diǎn)型數(shù)組、字符數(shù)組。數(shù)組前的修飾詞表示數(shù)組中存儲(chǔ)的成員的數(shù)據(jù)類型。定義數(shù)組: 類型修飾符 數(shù)組名常量表達(dá)式 = 值1, 值2, 值3, .; 1、類型修飾符:聲明了數(shù)組中成員的數(shù)據(jù)類型 2、 中的值決定了數(shù)組中成員的數(shù)量 3、 中設(shè)置數(shù)組中的成員數(shù)組元素:數(shù)組中的成員數(shù)
17、組下標(biāo):數(shù)組元素的序號(hào)。注:下標(biāo)從0開始,即第一個(gè)元素的下標(biāo)為0定義數(shù)組方式:1、定義整型數(shù)組,數(shù)組中存儲(chǔ)3個(gè)學(xué)生的年齡 int age3 = 18, 17, 20; 2、沒有賦初值的成員,系統(tǒng)自動(dòng)設(shè)置為0 int b5 = 4, 5, 6;3、int c5 = 0;4、根據(jù)初始化設(shè)置,推斷數(shù)組成員的數(shù)量 int d = 7, 8, 9, 10;錯(cuò)誤方式:1、指定的成員的數(shù)量 實(shí)際初始化的成員的數(shù)量 int e3 = 1,2,3,4;2、int f = 0; / 一個(gè)成員,值0如果定義數(shù)組后,沒有初始化,數(shù)組中是有值的,是隨機(jī)的垃圾數(shù),所以如果想要正確使用數(shù)組應(yīng)該要進(jìn)行初始化。求數(shù)組所占的存儲(chǔ)
18、空間:元素個(gè)數(shù) * 每個(gè)元素所占的字節(jié)數(shù)。數(shù)組的存儲(chǔ)空間是連續(xù)的。訪問數(shù)組元素 1、不能通過數(shù)組名依次性訪問所有的數(shù)組元素 2、訪問數(shù)組元素:通過數(shù)組名下標(biāo)訪問某個(gè)數(shù)組元素 3、下標(biāo)可以使用常量或變量讀取數(shù)組元素的值/ int age5 = 12, 15, 20, 26;/ printf(%dn, age0); / 讀取第一個(gè)元素中的值/ printf(%dn, age3); / 讀取第四個(gè)元素中的值遍歷數(shù)組: 按照順序,從第一個(gè)元素開始訪問到最后一個(gè)元素結(jié)束。使用for循環(huán)實(shí)現(xiàn)遍歷數(shù)組for (int i = 0; i = 0; i-) printf(%dn, agei);修改數(shù)組元素的值i
19、nt a = 1, 2, 3, 4, 5;a0 = 19;a4 = 100;for (int i = 0; i 5; i+) printf(%dn, ai);數(shù)組越界 使用數(shù)組下標(biāo)時(shí),超出下標(biāo)范圍 int a10 = 0; 下標(biāo)范圍 09 a10 越界了 編譯器不會(huì)檢測下標(biāo)是否越界注意事項(xiàng) 1、區(qū)分 定義數(shù)組 和 數(shù)組元素二者區(qū)別:定義數(shù)組 數(shù)組名前有類型修飾符。數(shù)組元素,不帶類型修飾符。 2、數(shù)組作為一個(gè)整體,不能直接參與運(yùn)算。通常用到數(shù)組的地方都會(huì)用到循環(huán)。int m = 1, 2, 3;int n = m; 錯(cuò)誤的,數(shù)組名是一個(gè)符號(hào)常量,表示數(shù)組首元素的地址,int n = m; 對的排
20、序 1、排序的規(guī)律:升序、降序 2、冒泡排序的基本思路:每次將相鄰的兩個(gè)數(shù)進(jìn)行比較,按照升序或降序的順序進(jìn)行交換,直到所有數(shù)字的順序全部正確 3、冒泡排序需要兩層循環(huán)實(shí)現(xiàn) (1)外層循環(huán) 控制排序的趟數(shù) (2)內(nèi)層循環(huán) 控制每趟排序中,比較的次數(shù)eg:/冒泡排序 升序int a5 = 5, 4, 3, 2, 1;/ 外層循環(huán)控制趟數(shù)for (int i = 0; i 5 - 1; i+) / 5 是元素的個(gè)數(shù)/ 內(nèi)層循環(huán) 控制每趟中比較的次數(shù) for (int j = 0; j aj+1) int temp = aj; aj = aj+1; aj+1 = temp; / 遍歷數(shù)組for (in
21、t k = 0; k 5; k+) printf(%d , ak);/ 練習(xí):隨機(jī)產(chǎn)生10個(gè)【2040】之間的隨機(jī)數(shù)存儲(chǔ)在整型數(shù)組中,并對數(shù)組進(jìn)行升序排列int a10 = 0;for (int i = 0; i 10; i+) ai = arc4random() % 21 + 20; printf(%d , ai);for (int j = 0; j 10-1; j+) for (int k = 0; k ak+1) int temp = ak; ak = ak+1; ak+1 = temp; printf(n);for (int i = 0; i 10; i+) printf(%d , a
22、i);/ 練習(xí):定義一個(gè)整型數(shù)組,5個(gè)元素,獲得最大值 int b5 = 1, 3, 5, 45, 64; int max = b0;/ int max = 0; 如果用這個(gè) 數(shù)組中元素必須全部大于0 for (int i = 0; i 5; i+) if (max bi) max = bi; printf(%dn, max);字符數(shù)組char a5 = h, e, l, l, o;char b10 = i, P, h, o, n, e; /未設(shè)置初始值的元素,默認(rèn)設(shè)置為0. 0是空操作符,不能顯示/ 訪問字符數(shù)組/ 讀取數(shù)組a中的第一個(gè)元素printf(%cn, a0);/ 遍歷數(shù)組bfor
23、 (int i = 0; i = 字符數(shù)組2的存儲(chǔ)空間strcpy(a, b);printf(%sn, a);/練習(xí):計(jì)算一個(gè)字符串的長度char a = ai hg oih g;int count = 0;while (acount != 0) count+;printf(count = %dn, count);查找字符串中的空格數(shù)char a = ai hg oih g;int count = 0;int i = 0;/下標(biāo)while (ai != 0) if (ai = ) /訪問的字符是空格,記一次數(shù) count+; i+;printf(空格數(shù)為%dn, count);將字符串 倒轉(zhuǎn):
24、例如:“afjnpue”轉(zhuǎn)變 成字符串“eupnjfa”(注:是改變 字符串本身,不是 反向輸出) char str = afjnpue;/ (類型)數(shù)據(jù) 強(qiáng)制類型轉(zhuǎn)換/ 理論上:從 存儲(chǔ)空間小的類型向存儲(chǔ)空間大的類型轉(zhuǎn)換/ 實(shí)際上:只要不會(huì)出現(xiàn)數(shù)據(jù)溢出,可以從存儲(chǔ)空間大的類型向存儲(chǔ)空間小的類型轉(zhuǎn)換int lengh = (int)strlen(str);/ 只需要循環(huán)一半for (int i = 0; i 字符串2,strcmp返回結(jié)果大于0字符串1 字符串2,strcmp返回結(jié)果小于0練習(xí):實(shí)現(xiàn)字符串拼接char a30 = hello;char b = world;int i = 0;/
25、 i是數(shù)組b的下標(biāo)int length = (int)strlen(a);/a中字符串的實(shí)際長度while (bi != 0) / 將數(shù)組b中的字符,拼接到數(shù)組a的0位置 alength+i = bi; i+;/ 數(shù)組b中的非0字符拼接完成后,手動(dòng)添加0位置alength+i = 0;printf(%sn, a);第五堂 二維數(shù)組、字符串?dāng)?shù)組、多維數(shù)組二維數(shù)組 1、二維數(shù)組的本質(zhì):數(shù)組中的元素 還是數(shù)組 統(tǒng)計(jì)一個(gè)班的5個(gè)學(xué)生的年齡,使用一維數(shù)組 11, 12, 13, 14, 15 統(tǒng)計(jì)三個(gè)班的,每個(gè)班都是5個(gè)學(xué)生,使用二維數(shù)組 11, 12, 13, 14, 15, 21, 22, 23,
26、24, 25, 31, 32, 33, 34, 35 2、為了形象化的表示二維數(shù)組中的數(shù)據(jù),使用行和列的排列方式 11 12 13 14 15 21 22 23 24 25 31 32 33 34 35 3、二維數(shù)組通常稱為:m * n 數(shù)組 m行n列的數(shù)組 m 表示二維數(shù)組中,包含m個(gè)一維數(shù)組 n 表示一維數(shù)組中,包含n個(gè)元素定義二維數(shù)組方式1 類型修飾符 數(shù)組名行數(shù)列數(shù) = 值 int ages35 = 11, 12, 13, 14, 15, 21, 22, 23, 24, 25, 31, 32, 33, 34, 35;定義二維數(shù)組的方式2 定義一個(gè)4*4的二維數(shù)組 int b44 = 1
27、, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12;定義二維數(shù)組的方式3 行數(shù)可以省略不寫 但后面要具體 定義一個(gè)2*4的二維數(shù)組 int c4 = 1, 2, 3, 4, 5, 6;一維數(shù)組 1 3 5 7 9 訪問:數(shù)組名下標(biāo)二維數(shù)組 1 3 5 7 92 4 6 8 10 訪問:數(shù)組名行下標(biāo)列下標(biāo)遍歷二維數(shù)組/控制行for (int i = 0; i 3; i+) / 控制列 for (int j = 0; j 4; j+) printf(%d , arrayij); printf(n); / 不推薦定義二維數(shù)組方式 /2*4int a4 = 1, 2, 3, 4,
28、 5, 6, 7, 8;字符串?dāng)?shù)組: 數(shù)組中的元素是 字符串字符串?dāng)?shù)組的本質(zhì):二維數(shù)組 因?yàn)樽址旧砭褪亲址麛?shù)組/ 定義字符串?dāng)?shù)組,存儲(chǔ)3個(gè)人的姓名的拼音。char names320 = songyingtao, yangyi, xiaobowen;/ 訪問字符串?dāng)?shù)組中的字符/ 打印第二行第四列的元素printf(%cn, names13);/ 打印第三行第20列的元素printf(%cn, names219);/ 遍歷數(shù)組 打印所有的字符for (int i = 0; i 3; i+) for (int j =0; j 20; j+) printf(%c , namesij); print
29、f(n);訪問字符串?dāng)?shù)組中的 字符串/ 數(shù)組名第一維下標(biāo) 數(shù)組名行printf(%sn, names0);/ 遍歷字符串?dāng)?shù)組,打印所有的字符串for (int i = 0; i 3; i+) printf(%sn, namesi);1、如果訪問字符串?dāng)?shù)組中的字符,使用兩個(gè)下標(biāo)2、如果訪問字符串?dāng)?shù)組中的字符串,使用一個(gè)下標(biāo)3、字符串?dāng)?shù)組本質(zhì)是二維數(shù)組,但是在操作字符串時(shí)可以看成一維數(shù)組使用字符串輸入/ 從控制臺(tái)輸入一個(gè)字符串char a30 = 0;/ 第一種 使用scanf 不能輸出空白字符 比如空格/當(dāng)使用%s轉(zhuǎn)換符時(shí)當(dāng)輸入空白字符(空格、Tab、回車),字符串讀取結(jié)束,并且空白字符及其后面
30、的字符會(huì)留存在緩沖區(qū)printf(請輸入字符串:);scanf(%s, a); / 如果輸入的是字符串,直接填寫數(shù)組名,不用加去地址符&printf(%sn, a);第二種 使用scanf 回車結(jié)束scanf輸入,n 會(huì)被留存在緩沖區(qū)/ % 字符集 %n 除了n字符不接收,剩余的字符都被讀取char a30 = 0;printf(請輸入字符串:);scanf(%n, a);printf(%sn, a);從控制臺(tái)輸入多個(gè)字符串,存儲(chǔ)在字符串?dāng)?shù)組中char str430 = 0;for (int i = 0; i 4; i+) / str行下標(biāo) 訪問字符串的位置 scanf(%s, stri);
31、getchar(); /從控制臺(tái)讀取一個(gè)字符。 讀取留存在緩沖區(qū)的n/ 遍歷輸出所有的字符串for (int i = 0; i 4; i+) printf(%s , stri);代碼安全 / 從后臺(tái)服務(wù)器獲取數(shù)據(jù) 一組 / OC數(shù)組越界會(huì)崩潰訪問三維數(shù)組的元素 使用三個(gè)下標(biāo)/ 打印 第二層 第二行 第一列的元素printf(%dn, a110);/ 遍歷三維數(shù)組的元素需要三個(gè)循環(huán)for (int i = 0; i 2; i+) for (int j = 0; j 4; j+) for (int k = 0; k 3; k+) printf(%d , aijk); printf(n); prin
32、tf(n); 1、多維數(shù)組的訪問 數(shù)組名. n維數(shù)組使用n個(gè)下標(biāo) 2、多維數(shù)組的元素個(gè)數(shù) = 各個(gè)維數(shù)個(gè)數(shù)的 乘積 int a234 2 * 4 * 3 3、多維數(shù)組占用的內(nèi)存 = 元素個(gè)數(shù) * 單個(gè)元素占用的空間第六堂 函數(shù)函數(shù)是具有特定功能的代碼段 函數(shù)的使用可以省去重復(fù)代碼的編寫,提高效率函數(shù)從定義上分為:庫函數(shù)(系統(tǒng)提供好的函數(shù))、自定義函數(shù)(開發(fā)者自己寫的)定義函數(shù)包含: 返回值類型 函數(shù)名(參數(shù)列表) 函數(shù)體(實(shí)現(xiàn)函數(shù)功能的代碼) 一個(gè)函數(shù)只能有一個(gè)返回值函數(shù)調(diào)用 函數(shù)名() 如果沒有參數(shù):必須寫() 如果有參數(shù):函數(shù)需要幾個(gè)參數(shù),必須傳入幾個(gè)參數(shù) 傳入的值必須與提示的類型相同函數(shù)
33、名稱就是一個(gè)標(biāo)識(shí)符標(biāo)示符命名規(guī)范:1、由字母、數(shù)字、下劃線以及美元符號(hào)組成 2、不能和系統(tǒng)保留字重名 3、不能以數(shù)字開頭 4、嚴(yán)格區(qū)分大小寫/ 無返回值 無參數(shù) / 定義函數(shù),功能:輸出自己的姓名void sayHi() / return 功能:結(jié)束函數(shù)運(yùn)行 / return 數(shù)值 功能:結(jié)束函數(shù)運(yùn)行,返回結(jié)果 / return 語句后面的代碼不執(zhí)行 / return; printf(陳浩男n);/ 無返回值 有參數(shù) / 定義函數(shù),功能:傳入兩個(gè)整數(shù),打印兩個(gè)數(shù)的和void printSum(int n1, int n2) printf(%dn, n1+n2);/ 有返回值 有參數(shù) / 定義函
34、數(shù),功能:傳入兩個(gè)整數(shù),返回兩個(gè)數(shù)的和int sumValue(int x, int y) / return 后面的數(shù)值類型必須和返回值類型相同 return x + y; / 將數(shù)值返回到調(diào)用函數(shù)的地方/ 有返回值 無參數(shù) / 定義函數(shù),功能:返回2040之間的隨機(jī)數(shù)int randomFrom20To40() return arc4random() % 21 + 20;如果函數(shù)有返回值 1、只調(diào)用,不接收返回值 2、調(diào)用函數(shù),返回值參與運(yùn)算、作為其他函數(shù)的參數(shù)3、調(diào)用函數(shù),使用變量接收返回值函數(shù)調(diào)用的過程: 1、使用函數(shù)名調(diào)用函數(shù) 2、進(jìn)入到被調(diào)用函數(shù)的函數(shù)體內(nèi)運(yùn)行代碼 3、函數(shù)運(yùn)行結(jié)束后,返回調(diào)用函數(shù)的位置主調(diào)函數(shù):main函數(shù)被調(diào)函數(shù):sumValue函數(shù).形參 形式參數(shù) 出現(xiàn)在函數(shù)定義中,存儲(chǔ)傳入函數(shù)中的值實(shí)參 實(shí)際參數(shù) 出現(xiàn)在函數(shù)調(diào)用時(shí),給函數(shù)提供值3和5是調(diào)用sumValue時(shí)的實(shí)參,是提供給函數(shù)的值printf(sum = %dn, sumValue(3, 5);/ 調(diào)用函數(shù)的時(shí)候?qū)崿F(xiàn)傳值,實(shí)參向形參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游會(huì)展行業(yè)發(fā)展趨勢考核試卷
- 醫(yī)療器械技術(shù)人才培養(yǎng)考核試卷
- 收養(yǎng)家庭育兒指導(dǎo)手冊編制考核試卷
- 化學(xué)纖維在餐飲美食等行業(yè)的應(yīng)用考核試卷
- 出租車行業(yè)聯(lián)盟與合作模式探索考核試卷
- 企業(yè)人力資源戰(zhàn)略規(guī)劃考核試卷
- 建筑物清潔服務(wù)心理素質(zhì)培養(yǎng)考核試卷
- 收納培訓(xùn)課件模板
- 汽車按揭合同抵押合同范本
- 廠房抵押合同范本簡短
- 智能交通概論全套教學(xué)課件
- 生物醫(yī)學(xué)工程倫理 課件全套 第1-10章 生物醫(yī)學(xué)工程與倫理-醫(yī)學(xué)技術(shù)選擇與應(yīng)用的倫理問題
- 燒結(jié)機(jī)安裝使用說明書
- 新戰(zhàn)略營銷課件
- (完整版)部編一年級(jí)下冊語文《春夏秋冬》ppt
- 人文地理學(xué)考試名詞解釋全套
- 新華書店業(yè)務(wù)崗位職責(zé)共3篇
- 統(tǒng)編版五年級(jí)下冊第五單元 習(xí)作:形形色色的人 課件 (共16張PPT)
- 大數(shù)據(jù)介紹課件
- 幼兒園多媒體PPT課件制作PPT完整全套教學(xué)課件
- 2023離婚協(xié)議模板下載
評論
0/150
提交評論