




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言課件教程1C語(yǔ)言的結(jié)構(gòu)1、main()
{函數(shù)體}2、數(shù)據(jù)類(lèi)型整型:int%d實(shí)型:float%f字符型:char%c3、變量的定義:先定義后使用結(jié)構(gòu):數(shù)據(jù)類(lèi)型變量名1,變量名2······;24、輸出函數(shù)(printf)結(jié)構(gòu)1:printf
(“常量”);功能:原樣輸出常量的內(nèi)容結(jié)構(gòu)2、printf(“格式符”,變量名);功能:輸出變量的值5、輸入函數(shù)(scanf)結(jié)構(gòu):scanf(“格式符表列”,地址列表);功能:從鍵盤(pán)輸入變量的值6、c語(yǔ)言編程的基本結(jié)構(gòu):(1)main()(2)定義變量(3)賦值(4)處理(5)輸出3一、字符集1、小寫(xiě)字母:a~z97~1222、大寫(xiě)字母:A~Z65~903、數(shù)字與數(shù)字字符數(shù)字字符‘0’~數(shù)字字符‘9’:48~57數(shù)字0~數(shù)字9:0~94大小寫(xiě)的轉(zhuǎn)化大寫(xiě)=小寫(xiě)-32大寫(xiě)=小寫(xiě)+‘A’-‘a(chǎn)’
小寫(xiě)=大寫(xiě)+32小寫(xiě)=大寫(xiě)-‘A‘+’a’數(shù)字與數(shù)字字符間的轉(zhuǎn)換數(shù)字=數(shù)字字符-48數(shù)字字符=數(shù)字+48字符集:(1)大小寫(xiě)英文字母52個(gè)(2)數(shù)字(0~9)(3)鍵盤(pán)符號(hào)(33個(gè))
5轉(zhuǎn)義字符(重點(diǎn))定義:是由反斜杠\開(kāi)頭的后跟一個(gè)或若干個(gè)字符組成常用的轉(zhuǎn)義字符:\n回車(chē)換行符\a響鈴符\r回車(chē)不換行\(zhòng)o17八進(jìn)制數(shù)\t制表符\x12,\xac
\b左退一格符合法的16進(jìn)制數(shù)\\反斜杠\’單引號(hào)\’’雙引號(hào)\0字符串結(jié)束標(biāo)志6轉(zhuǎn)義字符例題:
1、printf(”\“abc\””);輸出”abc“2、printf(”d:\\turboc2\\tc”);輸出d:\turboc2\tc3、main(){printf(“abc\nde\r123\b**”);}輸出結(jié)果:abc12**7
Auto自動(dòng)Extern外部Sizeof計(jì)算字節(jié)數(shù)
Break中止Float浮點(diǎn)Static靜態(tài)Case情況For對(duì)于Struct
結(jié)構(gòu)Char字符Goto
轉(zhuǎn)向Switch開(kāi)關(guān)Continue繼續(xù)Int
整型Typedef
類(lèi)型定義Const常量If如果Union共用Default缺省Long長(zhǎng)整型Unsigned無(wú)符號(hào)Do做Register寄存器Void空Double雙精度Return返回Volatile可變的Else否則Short短While當(dāng)Enum
枚舉Signed帶符號(hào)C語(yǔ)言中的關(guān)鍵字(也稱保留字)8標(biāo)識(shí)符定義:c語(yǔ)言規(guī)定標(biāo)識(shí)符是由字母或下劃線開(kāi)頭的字母、數(shù)字、下劃線組成的一串字符。注意事項(xiàng):(1)c語(yǔ)言有大小寫(xiě)的區(qū)別(2)c語(yǔ)言規(guī)定關(guān)鍵字不允許做標(biāo)識(shí)符清屏語(yǔ)句:clrscr
注意事項(xiàng):(1)c程序由函數(shù)組成:至少包含一個(gè)主函數(shù)main()和若干個(gè)子函數(shù)(2)一個(gè)函數(shù)由函數(shù)說(shuō)明和函數(shù)體構(gòu)成(3);分號(hào)是語(yǔ)句結(jié)束標(biāo)志(4)一行可以寫(xiě)多條語(yǔ)句也可以將一條語(yǔ)句寫(xiě)在多行9(5)/*``````*/稱為注釋行,注釋可出現(xiàn)在程序的任何位置,注釋不參加編譯也不出現(xiàn)在目標(biāo)程序里(6)c語(yǔ)言本事沒(méi)有輸入輸出語(yǔ)句,輸入輸出操作由庫(kù)函數(shù)scanf和printf完成(7)程序的執(zhí)行總是從主函數(shù)開(kāi)始并在主函數(shù)中結(jié)束,主函數(shù)的位置是任意的C語(yǔ)言的基本單位是函數(shù)Scanf
可輸入多種值,運(yùn)行一次可輸入一組值,而’=’只有一個(gè)固定的輸出值10練習(xí):(1)輸入三個(gè)數(shù)求這三個(gè)數(shù)的平均值(2)在屏幕上顯示*****************
verygood!*****************(3)用*組成‘大’
提示:整數(shù)除整數(shù)還為整數(shù),除數(shù)和被除數(shù)中至少有一個(gè)為小數(shù)時(shí)其結(jié)果為小數(shù)11第二章數(shù)據(jù)類(lèi)型和運(yùn)算符12C語(yǔ)言的數(shù)據(jù)類(lèi)型數(shù)據(jù)是操作的對(duì)象,類(lèi)型是數(shù)據(jù)的內(nèi)在表現(xiàn)形式C的數(shù)據(jù)類(lèi)型如下:數(shù)據(jù)類(lèi)型指針類(lèi)型構(gòu)造類(lèi)型基本類(lèi)型空類(lèi)型void整型int(含枚舉類(lèi)型)實(shí)型(浮點(diǎn)型)字符型char數(shù)組結(jié)構(gòu)體共用體單精度f(wàn)loat雙精度double13常量1、整型常量(-32768~+32767)十進(jìn)制常量%d0~9八進(jìn)制常量%o0~7十六進(jìn)制常量%x0~9a~f注:(1)一般的整型常量數(shù)值范圍是-32768~+32767
長(zhǎng)整型是-2147483648~+2147483647(2)長(zhǎng)整型的標(biāo)志:‘l’或‘L’例如:10和10L是不同的整型常量142實(shí)型常量1)一般形式的實(shí)數(shù):是由整數(shù),小數(shù)點(diǎn),小數(shù)三部分組成其中整數(shù)部分或小數(shù)部分可以省略例:112.354-1.234565-.12345.2)指數(shù)形式的實(shí)數(shù):是由尾數(shù),小寫(xiě)字母或大寫(xiě)字母,指數(shù)三部分組成。尾數(shù)部分看可以是十進(jìn)制的整數(shù)或一般形式的實(shí)數(shù)。指數(shù)部分是十進(jìn)制的整數(shù)常量。例:12.34e-2-1.2345e3=-1.2345e+3注:(1)實(shí)型常量只使用十進(jìn)制數(shù)(2)e的前后不可省略153、字符常量定義:是用兩個(gè)單引號(hào)前后括住的單個(gè)字符來(lái)表示例:‘a(chǎn)’‘,’‘%’‘s’都是單個(gè)字符‘\o17’是合法的注:(1)單個(gè)字符只占用一個(gè)字節(jié)(2)轉(zhuǎn)義字符只占用一個(gè)字節(jié)(3)字符常量的標(biāo)志是單引號(hào)(‘’)‘\o72’只占用一個(gè)字節(jié)164、字符串常量1)定義:字符串就是用雙引號(hào)前后括住若干個(gè)字符例:”abc“”123456“”aAg“注:
(1)雙引號(hào)是字符串的標(biāo)志(2)在字符串中轉(zhuǎn)義字符只占用一個(gè)字節(jié)(3)字符串中默認(rèn)有一個(gè)結(jié)束標(biāo)志(”\0“)只要是字符串系統(tǒng)就會(huì)在其末尾加一個(gè)結(jié)束標(biāo)志2)字符串中的兩個(gè)概念長(zhǎng)度:雙引號(hào)中有效字符的個(gè)數(shù)字節(jié):字符串在計(jì)算機(jī)中所占的字節(jié)數(shù)(字節(jié)=長(zhǎng)度+1)注意:字節(jié)數(shù)中包括字符串的結(jié)束標(biāo)志17基本數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型符所占字節(jié)數(shù)格式符所表示的范圍整型Int2%d-32768~+32767短整型Short2%d-32768~+32767長(zhǎng)整型Long4%Ld-2147483648~+2147483647單精度Float4%f雙精度Double8%Lf字符型Char1%c-128~+12718變量定義的結(jié)構(gòu)存儲(chǔ)類(lèi)型數(shù)據(jù)類(lèi)型變量名1,變量名2·····;
自動(dòng)型auto靜態(tài)型Static寄存器型Register外部型extern常用數(shù)據(jù)存儲(chǔ)類(lèi)型:191、自動(dòng)型:若省略了變量的存儲(chǔ)類(lèi)型符,系統(tǒng)將默認(rèn)為自動(dòng)型,若不給變量賦初值,系統(tǒng)將默認(rèn)為隨機(jī)數(shù)2、靜態(tài)型:若不給變量賦初值系統(tǒng)將默認(rèn)初值為0、變量的賦值和初始化中:變量的初始化中不能連等20基本運(yùn)算符1、取整取余運(yùn)算符
a/b:(1)取整運(yùn)算符:a、b都為整數(shù)
(2)除號(hào):只要有一邊為實(shí)型即變?yōu)槌?/p>
a%b:取余運(yùn)算符:a與b都必須是整數(shù)2、自增自減運(yùn)算符1、自增運(yùn)算符(++)i++:表示先使用后自增++i:表示先自增后使用例:1、inti=8,j;j=i++;
2、inti=8,j;j=++i;
3、inti=8,j;j=++i,j=i++;21自減運(yùn)算符(--)i--:先使用后自減--i:先自減后使用例:1、inti=8,j;j=i--;
2、inti=8,j;j=--i;
3、inti=8,j;j=--i,j=i--;3、關(guān)系運(yùn)算符關(guān)系運(yùn)算符包括:關(guān)系運(yùn)算只有真和假,真1,假0>:a>b<:a<b練習(xí):輸入兩個(gè)數(shù)求最小值22(1)大小寫(xiě)條件:大寫(xiě)字母的判斷條件(A~Z):
if(x>=‘A’&&x<=‘z’)if(x>=65&&x<=90)小寫(xiě)字母的判斷條件(a~z):
if(x>=‘a(chǎn)’&&x<=‘z’)if(x>=97&&x<=122)(2)數(shù)字字符和數(shù)字的判斷條件數(shù)字字符的判斷條件:
if(x>=‘0’&&x<=‘9’)if(x>=48&&x<=57)數(shù)字的判斷條件:
if(x>=0&&x<=9)數(shù)字字符和數(shù)字的轉(zhuǎn)換:數(shù)字字符=數(shù)字+‘0’數(shù)字=數(shù)字字符-‘0’(3)閏年條件:
if(x%4==0&&x%100!==0||x%400)
23作業(yè):
1、輸入兩個(gè)數(shù)求最大值2、輸入一個(gè)字符若是大寫(xiě)則將其轉(zhuǎn)化成小寫(xiě)3、輸入一個(gè)數(shù)判斷是否是偶數(shù)若是則輸出‘Y’否則輸出’N’4、輸入一個(gè)數(shù)若是5或者9的倍數(shù)則輸出24邏輯運(yùn)算符
邏輯運(yùn)算只有真和假,真:1,假:0
非0就是真,0就是假
ab!a!ba&&ba||b001100011001100101110011注意事項(xiàng):1、對(duì)于邏輯與來(lái)說(shuō),若第一個(gè)表達(dá)式為0,則第二個(gè)表達(dá)式不參加運(yùn)算。2、對(duì)于邏輯或來(lái)說(shuō),若第一個(gè)表達(dá)式為1,則第二個(gè)表達(dá)式不參加運(yùn)算25賦值運(yùn)算符(=)格式:(1)變量名=常量(2)變量名=表達(dá)式(3)變量名=變量名自反賦值運(yùn)算符1、自反賦值運(yùn)算符包括:+=:a+=ba=a+b-=:a-=ba=a-b*=:a*=ba=a*b/=:a/=ba=a/b%=:a%=ba=a%b例1a=5;a+=a-=a*a;例2a=5;a+=a-=a;例3a=6;a+=a*=a-=3例4a-=b+c26逗號(hào)表達(dá)式1、格式:表達(dá)式1,表達(dá)式2,表達(dá)式3········2、規(guī)則:結(jié)合方向從左向右,結(jié)果由最后一個(gè)表達(dá)式?jīng)Q定例1:a=3,a*6,a+5結(jié)果a=?表達(dá)式=?例2:a=4,b=a*2,b*5,e=b+2,f=b
結(jié)果a=?b=?e=?f=?條件運(yùn)算符1、結(jié)構(gòu):e1?e2:e32、功能:判斷e1的值,若為真則結(jié)果為e2若為假則結(jié)果為e3例:c=3>4?3:6>5?1:0
結(jié)果?27長(zhǎng)度測(cè)試運(yùn)算符1、結(jié)構(gòu):sizeof
(變量名或數(shù)據(jù)類(lèi)型)2、功能:測(cè)試變量或數(shù)據(jù)類(lèi)型所占的字節(jié)數(shù)例:intx;
printf(“%d”,sizeof(x));
printf(“%d”,sizeof(int));結(jié)果為?位運(yùn)算符1、包括:位與&:只有兩個(gè)數(shù)都為1時(shí)其結(jié)果才為1
位或|:只要有一個(gè)為1其結(jié)果就為1
位非~:~0=1,~1=0
位加^:相同為0,不同為1注意:位運(yùn)算是針對(duì)二進(jìn)制的運(yùn)算符例:3&4?3|4?3^4?28位移運(yùn)算符包括:左移:<<a<<b:a向左移b位(左移一位擴(kuò)大2倍)右移:>>a>>b:a向右移b位(右移一位和取整)例:(1)a=3;a<<1;(2)a=3;a>>1;(3)a=2;a<<1;(4)a=2;a>>1運(yùn)算符的優(yōu)先級(jí)別強(qiáng)制:()算術(shù):+,-,*,/,%下標(biāo):[]位運(yùn)算:>>,<<成員:,.關(guān)系:>=,<=,<,>,==,!=邏輯:!位邏輯:&,|,^位非:~邏輯:&&,||自增自減:++,--條件:?:指針:&,*賦值:=取正負(fù):+,-自反賦值:+=,-=,%=,/=······長(zhǎng)度測(cè)試:sizeof
逗號(hào):,
29第三章結(jié)構(gòu)化程序設(shè)計(jì)30一、順序結(jié)構(gòu)1、格式化輸入函數(shù)(1)格式化輸入函數(shù)(scanf)結(jié)構(gòu):scanf(“格式符”,地址表列);功能:從鍵盤(pán)對(duì)變量賦值。注意事項(xiàng):1、scanf后一定為地址
2、輸入的形式和輸入的格式要一一對(duì)應(yīng)
3、scanf的格式符中不可出現(xiàn)小數(shù)(2)輸入寬度的限制格式:scanf(“%md”,&a);功能:代表接受的寬度說(shuō)明:若實(shí)際寬度>m則只接收m位,若不足m位,則全部接收312、格式化輸出函數(shù)(1)格式化輸出函數(shù)(printf)結(jié)構(gòu)1:printf(“格式符”,變量名);功能:輸出變量所對(duì)應(yīng)的值結(jié)構(gòu)2:printf(“常量”);功能:原樣輸出常量的值(2)輸出寬度的限制格式1:printf(“%-md”,a);說(shuō)明:1、若實(shí)際寬度大于m,則原樣輸出
2、若實(shí)際寬度小于m,有-左對(duì)齊,右補(bǔ)空格無(wú)-右對(duì)齊,左補(bǔ)空格32格式2:printf(“%-m.nf”,a);說(shuō)明:1、m代表總寬度
2、n代表小數(shù)位數(shù)練習(xí):1、輸入3個(gè)數(shù)求最大值2、編寫(xiě)程序,功能是:四舍五入并保留兩位小數(shù)3、當(dāng)a=45,b=12,執(zhí)行c=51424、輸入一個(gè)字母,若是大寫(xiě)字母則變?yōu)樾?xiě)輸出,若是小寫(xiě)則變?yōu)榇髮?xiě)輸出33單個(gè)字符的輸入輸出函數(shù)單個(gè)字符的輸入輸出函數(shù)在使用時(shí)必須加頭函數(shù)#include“stdio.h”1、單個(gè)字符的輸入函數(shù)(getchar)格式:變量名=getchar();功能:從鍵盤(pán)輸入單個(gè)字符賦于變量說(shuō)明:a.只可接受單個(gè)字符
b.只適合于字符型變量
c.若要對(duì)多個(gè)變量賦值,必須多次調(diào)用函數(shù)342、單個(gè)字符的輸出函數(shù)(putchar)格式:putchar(變量名);功能:輸出變量所對(duì)應(yīng)的字符
putchar(‘字符’);功能:原樣輸出單引號(hào)中的字符說(shuō)明:a.只可輸出單個(gè)字符
b.輸出常量時(shí)必須帶單引號(hào)35二、選擇結(jié)構(gòu)單分支選擇結(jié)構(gòu)(if)雙分支選擇結(jié)構(gòu)(if···else)多分支選擇結(jié)構(gòu)(switch)
1、單分支選擇結(jié)構(gòu)(if語(yǔ)句)結(jié)構(gòu):if(表達(dá)式)語(yǔ)句1;功能:判斷表達(dá)式的真與假,如果為真則執(zhí)行語(yǔ)句1,再順序執(zhí)行其后的語(yǔ)句,否則跳過(guò)語(yǔ)句1去執(zhí)行其后的語(yǔ)句注意事項(xiàng):a.if后的表達(dá)式要用括號(hào)括起來(lái)
b.if只默認(rèn)控制其后的第一個(gè);語(yǔ)句,如果要控制多條語(yǔ)句必須用{}括起來(lái)36例:#include“stdio.h”main(){chara;a=getchar();
if(a>=65&&a<=90)printf(“%d”,a+32);
if(a>=97&&a<=122)printf(“%d”,a-32);}if語(yǔ)句的使用:1、并列結(jié)構(gòu):一條一條順序的執(zhí)行,if();if();2、嵌套結(jié)構(gòu):大小層次執(zhí)行,if()if();372、雙分支選擇結(jié)構(gòu)格式:if(表達(dá)式)語(yǔ)句1;
else語(yǔ)句2;功能:判斷表達(dá)式的真與假,如果為真則執(zhí)行語(yǔ)句1,否則執(zhí)行語(yǔ)句2.說(shuō)明:a.If與else的配對(duì)原則采取就近原則
b.If與else默認(rèn)只控制其后一條語(yǔ)句,如果控制多條要用{}括起來(lái)
c.else子句(可選)是if語(yǔ)句的一部分,必須與if配對(duì)使用,不能單獨(dú)使用if()~else語(yǔ)句的使用1、并列結(jié)構(gòu):一條一條順序的執(zhí)行
if();else;if();else;··382、嵌套結(jié)構(gòu):大小層次的執(zhí)行
if()if();
if();elseelse;if();
else;練習(xí):1、編寫(xiě)程序求y值2、輸入3個(gè)數(shù)從小到大排序3、輸入兩個(gè)數(shù),逆序存儲(chǔ)4、輸入一個(gè)三位是分別輸出個(gè)位,十位,百位5、輸入一個(gè)不超過(guò)四位的數(shù),判斷是幾位數(shù)393、多分支選擇結(jié)構(gòu)結(jié)構(gòu):switch(表達(dá)式)
{case常量表達(dá)式1:語(yǔ)句1;break;
case常量表達(dá)式2:語(yǔ)句2;break;
······················case常量表達(dá)式n:語(yǔ)句n;break;
default:語(yǔ)句n+1;
}功能:先計(jì)算switch表達(dá)式的值,若和某個(gè)case的值相同,則計(jì)算其后的語(yǔ)句,若和所有的case的值都不相同,則執(zhí)行default其后的語(yǔ)句。注意事項(xiàng):1、switch后沒(méi)有;2、case不可出現(xiàn)變量和實(shí)型表達(dá)式3、case后用:404、若case后有break則執(zhí)行完相應(yīng)的case語(yǔ)句后結(jié)束switch語(yǔ)句,若某個(gè)case后無(wú)break語(yǔ)句,則執(zhí)行完相應(yīng)的case語(yǔ)句后順序無(wú)條件的執(zhí)行其后的case語(yǔ)句,直到下一個(gè)break或switch語(yǔ)句的結(jié)束5、switch后可有無(wú)數(shù)個(gè)case,但case后的常量不可重復(fù),若干case之間無(wú)先后順序例1:
main()
{floatx,y;
switch(x>=0){case1:y=102+2*x;break;case0:y=3.0+3*x;}
printf(“%f”,y);
}41例2:
main(){floata,b,y;charc;
scanf(“%f%c%f”,&a,&c,&b);
switch(c){case‘+’:y=a+b;break;case‘-’:y=a-b;break;case‘*’:y=a*b;break;case‘/’:y=a/b;break;}
printf(“%f”,y);}42練習(xí):1、輸入月份輸出每個(gè)月份的天數(shù)(大月31天,小月30天,閏年2月29天,平年28天)要求用三種方法:if,if···else,switch2、a的取值范圍0~100a<60m=160<=a<70m=270<=a<80m=380<=a<90m=490<=a<100m=5
43三、循環(huán)結(jié)構(gòu)1、while語(yǔ)句結(jié)構(gòu):while(表達(dá)式)
{循環(huán)體}功能:判斷表達(dá)式的真與假,如果為真則執(zhí)行循環(huán)體,執(zhí)行完再判斷表達(dá)式的真與假,直到表達(dá)式的值為假時(shí)結(jié)束循環(huán)說(shuō)明:a.while語(yǔ)句先判斷后執(zhí)行,如果第一次就不成立則不執(zhí)行循環(huán)體。
b.while語(yǔ)句默認(rèn)只控制其后的第一個(gè);語(yǔ)句,若控制多條必須帶{},若只有一條循環(huán)語(yǔ)句,也可省略{}c.while的表達(dá)式后不帶;44例1:求1~10之間的和
main()
{inti=1,sum=0;
while(i<=10)
{sum=sum+i;i++}
printf(“%d”,sum);
}例2:求1~100之間偶數(shù)之和
main(){inti=2,sum=0;while(i<=100){sum=sum+i;i=i+2;}
printf(“%d”,sum);}45(1)1+2+·····+nsum=sum+i(2)1+1/2+1/3+``````+1/nsum=sum+1.0/i(3)1/2+2/3+3/4+```````+n/n+1sum=sum+i/(i+1)(4)2/3+4/5+6/7+``````(a=2,b=3,a=a+2,b=b+2)sum=sum+a/b(5)s=1+(1+2)+(1+2+3)+```````t=t+i,s=s+t462、do-while語(yǔ)句結(jié)構(gòu):do{循環(huán)體}while(表達(dá)式);功能:先執(zhí)行循環(huán)體在判斷表達(dá)式的真與假,如果為真則繼續(xù)執(zhí)行循環(huán)體,直到表達(dá)式的值為假時(shí)結(jié)束循環(huán)。While與do-while的區(qū)別:
a.while先判斷后執(zhí)行
b.do–while先執(zhí)行后判斷
c.do–while的while后要帶;,while語(yǔ)句的while后不帶;3、for語(yǔ)句結(jié)構(gòu):for(語(yǔ)句1;語(yǔ)句2;語(yǔ)句3)
{循環(huán)體}47說(shuō)明:語(yǔ)句1:用來(lái)對(duì)循環(huán)變量賦初值語(yǔ)句2:用來(lái)表示循環(huán)判斷條件語(yǔ)句3:用來(lái)指定循環(huán)變量的自增自減功能:先執(zhí)行1,再判斷2,如果為真則執(zhí)行循環(huán)體再執(zhí)行3,再次判斷2直到條件為假時(shí)結(jié)束循環(huán)注意事項(xiàng):
a。在for語(yǔ)句中各表達(dá)式之間必須用;隔開(kāi),第三個(gè)語(yǔ)句后無(wú)b。如果省略語(yǔ)句1,再循環(huán)前必須要給循環(huán)變量賦初值,但其后的;不可省略c。如果省略語(yǔ)句2,默認(rèn)循環(huán)條件永遠(yuǎn)為真(即死循環(huán))d。如果省略語(yǔ)句3,必須在循環(huán)體內(nèi)出現(xiàn)循環(huán)變量的自增自減e。For語(yǔ)句默認(rèn)控制其后的一個(gè);語(yǔ)句,如控制多條必須用{}break:結(jié)束本層循環(huán)
continue:結(jié)束本次循環(huán)48例:循環(huán)的嵌套與并列1、并列結(jié)構(gòu):for();
for();2、循環(huán)結(jié)構(gòu)(大的走一次,小的走一圈):
for()
for();例1:輸入一個(gè)數(shù)判斷是否是素?cái)?shù)
例2:判斷100~200之間的素?cái)?shù)49數(shù)組501、一維數(shù)組的定義格式:數(shù)據(jù)類(lèi)型數(shù)組名[常量表達(dá)式]例:inta[10];floata[10];功能:定義一個(gè)a數(shù)組,數(shù)組中含有10個(gè)元素注意事項(xiàng):
a.數(shù)字長(zhǎng)度一般為一個(gè)整型常量,不可為變量
b.引用數(shù)字時(shí),其元素默認(rèn)是從a[0]到a[n-1]c.數(shù)組名后面必須使用[]2、一維數(shù)組的初始化方式(1)對(duì)全部元素賦初值,如:inta[5]={1,2,3,4,5};(2)只對(duì)部分元素賦初值,此時(shí)默認(rèn)其余元素為0
如:inta[5]={1,2,3};(3)當(dāng)對(duì)全部元素賦初值,可以省略數(shù)字長(zhǎng)度如:inta[]={1,2,3,4,5};51注意:引用數(shù)組元素時(shí),下標(biāo)即可為常量也可為變量,還可為表達(dá)式如:x=3,a[3]=a[1+2]=a[x]1、一維數(shù)組的輸入如:inta[10],i;
for(i=0;i<10;i++)
scanf(“%d”,&a[i]);2、一維數(shù)組的輸出如:inta[10],i;
for(i=0;i<10;i++)
printf(“%d”,a[i]);3、一維數(shù)組的存儲(chǔ)一維數(shù)組的存儲(chǔ)為順序存儲(chǔ)52例:將a數(shù)組中小于平均值的數(shù)賦給b數(shù)組
main(){inta[9]={10,20,30,40,50,60,70,80,90},b[9],i,j=0;floatsum=0,ave;
for(i=0;i<9;i++)sum=sum+a[i];
ave=sum/9;
for(i=0;i<9;i++)
if(a[i]<ave)b[j++]=a[i];
for(i=0;i<j;i++)
printf(“%d”,b[i]);}
53例:求出1到1000之內(nèi)能被7或11整除,但不能同時(shí)被7和11整除的所有整數(shù)并將其放在a數(shù)組中
main(){inta[1000],i,j=0;
for(i=1;i<=1000;i++)if((i%7==0||i%11==0)&&i%77!=0)
a[j++]=i;
for(i=0;i<j;i++)printf(“%d”,a[i]);}54例:將大于整數(shù)m且緊靠m的k個(gè)素?cái)?shù)放入xx數(shù)組中,若輸入17,5則結(jié)果為19,23,29,31,37main(){intm,k,a[50],i,j=0,x;
scanf(“%d,%d”,&m,&k);
for(x=m+1;;x++){for(i=2;i<x;i++)
if(x%i==0)break;
if(x==i){a[j++]=x;if(j==k)break;}}
for(i=0;i<j;i++)
printf(“%d”,a[i]);}55作業(yè):1、輸入一個(gè)整數(shù),求出小于或等于這個(gè)整數(shù)的所有素?cái)?shù)并放在aa數(shù)組中。2、求出1到m之內(nèi)(包括m)能被7或11整除的所有整數(shù)放在aa數(shù)組中3、將所有大于1小于整數(shù)m的非素?cái)?shù)放入xx數(shù)組中4、計(jì)算并輸出給定整數(shù)n的所有因子(不包括1和自身)之和,要求n的值不大于10005、計(jì)算并輸出3到n之間所有素?cái)?shù)的平方根之和如:輸入n=100時(shí),結(jié)果為sum=148.87427056二維數(shù)組1、二維數(shù)組的定義結(jié)構(gòu):數(shù)據(jù)類(lèi)型數(shù)組名[長(zhǎng)度1][長(zhǎng)度2];如:inta[3][4];3表示行數(shù),4表示列數(shù)注意:(1)在二維數(shù)組的定義中要先寫(xiě)行再寫(xiě)列(2)數(shù)組長(zhǎng)度都不可采用變量或表達(dá)式,只可用整型常量(3)數(shù)組的引用,下標(biāo)都從0開(kāi)始,不可超過(guò)數(shù)組長(zhǎng)度2、數(shù)組的引用:數(shù)組名[行下標(biāo)][列下標(biāo)]3、二維數(shù)組的存儲(chǔ):按行存儲(chǔ)57二維數(shù)組的初始化1、直接對(duì)所有元素賦值如:inta[2][3]={1,2,3,4,5,6};2、按行賦值
如:inta[2][3]={{1,2,3},{4,5,6}};3、對(duì)部分元素賦值,其余元素默認(rèn)為0
如:inta[2][3]={{1},{4}};
inta[2][3]={1,2,3};4、對(duì)全部元素賦值時(shí),可省略第一維的大小,但不可省略第二維的大小如:inta[][3]={1,2,3,4,5,6};581、二維數(shù)組的輸入如:inta[2][3],i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf(“%d”,&a[i][j]);2、二維數(shù)組的輸出如:inta[2][3],i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
printf(“%d”,a[i][j]);
printf(“\n”);以4行4列的二維數(shù)組為例,周邊元素的條件:
if(i==0||i==3||j==0||j==3)59中間元素的條件:if(i==0||i==3||j==0||j==3);
else正對(duì)角線的條件:i==j左下半角三角形:for(i=0;i<3;i++)
for(j=0;j<=i;j++)右上半角三角形:for(i=0;i<3;i++)
for(j=i;j<=2;j++)反對(duì)角線條件:i+j=最大下標(biāo)左上半角三角形:for(i=0;i<3;i++)
for(j=0;j<=2-i;j++)右下半角三角形:for(i=0;i<3;i++)
for(j=2-i;j<=2;j++)60例:定義一個(gè)n*n的二維數(shù)組,使數(shù)組左下半角元素的值全部置為0main(){inta[3][3]={1,9,7,2,3,8,4,5,6},i,j;
for(i=0;i<3;i++)
for(j=0;j<=i;j++)
a[i][j]=0;
for(i=0;i<3;i++){for(j=0;j<3;j++)
printf(“%d”,&a[i][j]);
printf(“\n”);}}
61例:定義一個(gè)n*n的二維數(shù)組,求出數(shù)組周邊元素的平均值
main(){inta[5][5],i,j,t=0;floatsum=0,ave;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf(“%d”,&a[i][j]);
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(i==0||i==4||j==0||j==4){sum=sum+a[i][j];t++;}
ave=sum/t;
printf(“%f”,ave);}62例:實(shí)現(xiàn)矩陣(3行列)的轉(zhuǎn)置
main(){inta[3][3]={100,200,300,400,500,600,700,800,900},i,j,b[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j][i]=a[i][j];
for(i=0;i<3;i++){for(j=0;j<3;j++)
printf(“%d”,&a[i][j]);
printf(“\n”);}}
63作業(yè):1、有一個(gè)4行5列的二維數(shù)組,求出其周邊元素之和2、定義一個(gè)n*n的二維數(shù)組,使數(shù)組右上半角元素中的值都乘以m3、實(shí)現(xiàn)B=A+A’(即把矩陣A加上A的轉(zhuǎn)置,存放到矩陣B中)4、將M行N列的二維數(shù)組中的數(shù)據(jù),按行的順序依次存放到一維數(shù)組中5、將M行N列的二維數(shù)組中的數(shù)據(jù),按列的順序依次存放到一維數(shù)組中6、定義一個(gè)n*n的二維數(shù)組,使數(shù)組左下半角元素中的值都乘以n64字符數(shù)組與字符串?dāng)?shù)組1、字符數(shù)組的定義結(jié)構(gòu):數(shù)據(jù)類(lèi)型數(shù)組名[數(shù)組長(zhǎng)度];如:chara[10];2、字符數(shù)組的初始化(1)逐個(gè)元素賦值如:
chara[5]={‘a(chǎn)’,’b’,’c’,’d’,’e’};注意:字符數(shù)組賦值時(shí),各元素必須用單引號(hào)(2)對(duì)部分元素賦值時(shí),其余元素默認(rèn)為空(’\0’)
如:chara[5]={‘a(chǎn)’,’b’,’c’};(3)對(duì)全部元素賦值時(shí),可以省略數(shù)組的長(zhǎng)度如:chara[]={‘a(chǎn)’,’b’,’c’};651、字符串?dāng)?shù)組的賦值(1)按單個(gè)字符的方式賦初值如:chara[5]={‘a(chǎn)’,’b’,’c’,’d’};chara[5]={‘a(chǎn)’,’b’,’c’,’\0’};注意:必須留有一個(gè)字符的空間,作為字符串的結(jié)束標(biāo)志(2)直接賦字符串如:chara[50]={“abcd”};chara[50]=“abcd”;注意:只要數(shù)組中有‘\0’,即為字符串?dāng)?shù)組1、對(duì)于字符串可用%s整體輸入格式:scanf(“%s”,數(shù)組名);如:chara[80];scanf(“%s”,a);注意:用%s輸入時(shí),將空格和回車(chē)都視為結(jié)束標(biāo)志如:123454568回車(chē)結(jié)果為:1234512345回車(chē)結(jié)果為:12345
662、格式化輸出格式:printf(“%s”,數(shù)組名);例:chara[80]=“abcd”;
printf(“%s”,a);結(jié)果為:abcdchara[80]={‘a(chǎn)’,’b’,’\0’,’c’};
printf(“%s”,a);結(jié)果為:ab注意:%s輸出時(shí),只輸出到第一個(gè)’\0’處所有字符串處理函數(shù),都必須掛頭函數(shù)
#include“string.h”1、字符串的輸入函數(shù)(gets)結(jié)構(gòu):gets(數(shù)組名);如:chara[80];gets(a);說(shuō)明:gets輸入字符串時(shí),允許包括空格,而scanf函數(shù)不允許接受空格672、字符串的輸出函數(shù)(puts)結(jié)構(gòu):puts(數(shù)組名);如:chara[80]=“abcd”;puts(a);說(shuō)明:(1)只輸出到第一個(gè)‘\0’處(字符串的結(jié)束標(biāo)志)(2)輸出多個(gè)字符串時(shí),可自動(dòng)換行,不要求另加換行符Strcmp
字符串比較大小函數(shù)假設(shè)a,b都為數(shù)組格式:strcmp(a,b);功能:比較兩個(gè)字符串的大小如果a=b,函數(shù)返回值為0a<b,函數(shù)返回值為負(fù)整數(shù)
a>b,函數(shù)返回值為正整數(shù)68比較數(shù)組a和數(shù)組b#include“string.h”main(){chara[80],b[80],i;
gets(a);gets(b);
for(i=0;a[i]==b[i];i++);
if(a[i]>b[i])puts(a);elseputs(b);}69Strcpy字符串拷貝函數(shù)假設(shè)a和b都為數(shù)組格式:strcpy(a,b);功能:將b拷貝到a中,同時(shí)將’\0’一起拷貝說(shuō)明:(1)a數(shù)組必須定義的足夠大,至少大于等于b數(shù)組的長(zhǎng)度(2)復(fù)制時(shí),連同結(jié)束標(biāo)志’\0’一起復(fù)制(3)不能用賦值運(yùn)算符”=“將一個(gè)字符串直接賦值給一個(gè)字符數(shù)組,只能用strcpy()函數(shù)處理可能出現(xiàn)亂碼的原因:字符數(shù)組中沒(méi)有’\0’例:將b數(shù)組中的值賦給a數(shù)組
main(){chara[80],b[80],i,j=0;for(i=0;b[i]!=0;i++)
gets(b);a[j++]=b[i];a[j]=0;puts(a);}70Strcat字符串連接函數(shù)假設(shè)a,b都為數(shù)組格式:strcat(a,b);功能:將b數(shù)組連接到a數(shù)組的最后說(shuō)明:(1)a數(shù)組的長(zhǎng)度要求足夠大,至少為a+b的和(2)刪除a數(shù)組原來(lái)的’\0’并在連接的最后賦一個(gè)’\0’(3)a數(shù)組不可為空例:將b數(shù)組連接到a數(shù)組中
main(){chara[80],b[80],i,j;a[i++]=b[j];
gets(a);gets(b);a[i]=0;
for(i=0;a[i]!=0;i++);puts(a);}
for(j=0;b[j]!=0;j++)71測(cè)試字符串長(zhǎng)度---strlen()(功能:返回字符串中的實(shí)際長(zhǎng)度等于’\0’的下標(biāo)。(’\0‘的下標(biāo)就是字符串的長(zhǎng)度)將字符串中大寫(xiě)轉(zhuǎn)換成小寫(xiě)-----strlwr()函數(shù)將字符串中小寫(xiě)轉(zhuǎn)換成大寫(xiě)-----strupr()函數(shù)例:比較兩個(gè)字符串的長(zhǎng)度
main(){chara[80],b[80],i,j;
gets(a);gets(b);
for(i=0;a[i]!=0;i++);
for(j=0;b[j]!=0;j++);
if(i>j)puts(a);elseputs(b);}72字符串的循環(huán)(1)for(i=0;a[i];i++)(2)for(i=0;a[i]!=0;i++)(3)for(i=0;a[i]!=’\0‘;i++)(4)for(i=0;i<strlen(a);i++)練習(xí):1、刪除字符串a(chǎn)數(shù)組中指定的字符,將剩余字符串存放到b數(shù)組中,要求:輸入指定字符的下標(biāo)2、從字符串中刪除指定的字符,同一字母的大小寫(xiě),按不同字符處理,若輸入的字符在字符串中不存在,則原樣輸出73作業(yè):1、將a數(shù)組中字符串中除了下標(biāo)為偶數(shù),同時(shí)asc碼也為偶數(shù)的字符外,其余全部刪除,剩余的字符串存入一個(gè)新的b數(shù)組中2、定義一個(gè)字符串,將字符串中所有的空格刪除3、求出ss所指的字符串中指定字符的個(gè)數(shù),如輸入字符串為:123412132,指定字符為1,則結(jié)果為34、將a數(shù)組中字符串中除了下標(biāo)為偶數(shù),同時(shí)asc碼也為奇數(shù)的字符刪除,剩余的字符串存入一個(gè)新的b數(shù)組中74函數(shù)751、函數(shù)的定義函數(shù)定義的3種方式(1)無(wú)參函數(shù)的定義形式結(jié)構(gòu):函數(shù)類(lèi)型函數(shù)名()
{函數(shù)體}如:p1(){printf(“******”);}(2)有參函數(shù)的定義結(jié)構(gòu)1:函數(shù)類(lèi)型函數(shù)名(形式參數(shù)說(shuō)明表列){函數(shù)體}如:int
max(int
x,inty){if(x>y)returnx;elsereturny;}76結(jié)構(gòu)2:函數(shù)類(lèi)型函數(shù)名(形式表列)形參說(shuō)明;
{函數(shù)體}如:int
max(x,y)
int
x,y;{if(x<y)returnx;elsereturny;}注意事項(xiàng):1、在定義函數(shù)時(shí),若省略函數(shù)的數(shù)據(jù)類(lèi)型默認(rèn)為整型,與返回值的類(lèi)型無(wú)關(guān)2、形參的數(shù)據(jù)類(lèi)型必須分開(kāi)定義3、函數(shù)名后不可帶;4、各參數(shù)之間必須用,隔開(kāi)77(3)空函數(shù)的定義結(jié)構(gòu):函數(shù)類(lèi)型函數(shù)名()
{}如:voidmain()
{}注意:void代表無(wú)返回值78函數(shù)的聲明函數(shù)必須要先定義后調(diào)用,除(整型和字符型),其余函數(shù)如果定義在主函數(shù)的后面都必須聲明聲明的常用格式為:1、doublefun(double,double);2、doublefun(doublex,doubley);3、doublefun();函數(shù)聲明的位置:主函數(shù)的上面或函數(shù)體內(nèi),定義變量的前面函數(shù)參數(shù)與函數(shù)的值形參:定義函數(shù)時(shí)函數(shù)后面括號(hào)中的變量稱為形參實(shí)參:在主函數(shù)中調(diào)用函數(shù)時(shí),函數(shù)名括號(hào)中的參數(shù)為實(shí)參79返回值:通過(guò)return完成1、return;(無(wú)返回值)2、return3;(返回3)3、return(3);(返回3)4、return表達(dá)式;(返回表達(dá)式的最終結(jié)果)5、return變量名;(返回變量的值)注意:函數(shù)返回值的類(lèi)型由函數(shù)類(lèi)型決定80函數(shù)的調(diào)用1、函數(shù)調(diào)用的一般形式:函數(shù)名(實(shí)參表);2、調(diào)用方式:(1)函數(shù)語(yǔ)句調(diào)用如:p1();注意:此時(shí)不要求函數(shù)帶有返回值,只要求完成一定的功能(2)函數(shù)表達(dá)式調(diào)用
c=2*max(a,b);注意:要求必須有返回值(3)函數(shù)參數(shù)調(diào)用
m=max(a,max(b,c));注意:要求必須有返回值811、數(shù)組名做函數(shù)參數(shù)函數(shù)說(shuō)明的常用結(jié)構(gòu):(1)intsort(inta[10])(2)intsort(inta[])(3)intsort(inta[10],intn)2、數(shù)組名做函數(shù)參數(shù)的調(diào)用方式結(jié)構(gòu):函數(shù)名(數(shù)組名);注意事項(xiàng):(1)要求實(shí)參與形參都必須是數(shù)組.(2)數(shù)組傳遞屬于雙向傳遞,無(wú)返回值3、用多維數(shù)組做函數(shù)參數(shù)(二維數(shù)組)定義格式:函數(shù)類(lèi)型函數(shù)名(inta[2][3])
(inta[][3])注意:可省略數(shù)組的第一維大小,不可省略第二維824、函數(shù)的遞歸調(diào)用定義:在調(diào)用一個(gè)函數(shù)時(shí),又出現(xiàn)直接或間接的調(diào)用該函數(shù)本身,稱為函數(shù)的遞歸調(diào)用特點(diǎn):先進(jìn)后出例:求n的階乘
main(){printf(“%d”,fun(5));}
fun(intn){ints;
if(n==0||n==1)s=1;elses=fun(n-1)*n;returns;}83例:斐波那契數(shù)列,函數(shù)的遞歸調(diào)用
fun(intn){ints;
if(n==0)s=0;elseif(n==1)s=1;elses=fun(n-1)+fun(n-2);returns;}main(){printf(“%d”,fun(7));}845、函數(shù)的嵌套調(diào)用定義:調(diào)用一個(gè)函數(shù)時(shí),又調(diào)用其他函數(shù),稱為函數(shù)的嵌套調(diào)用注意:函數(shù)只可嵌套調(diào)用,不可嵌套定義函數(shù)調(diào)用中的數(shù)據(jù)傳遞方法1、常用的數(shù)據(jù)傳遞值傳遞方式(單向)地址傳遞方式(雙向)返回值方式全局變量傳遞方式(1)值傳遞方式:是一種實(shí)參與形參之間進(jìn)行數(shù)據(jù)傳遞的方式,一般變量,常量,表達(dá)式都采用這種傳遞方式特點(diǎn):參數(shù)值的單向傳遞由實(shí)參--》形參,但形參的結(jié)果并不返回到實(shí)參中(2)地址傳遞方式(雙向)定義:地址傳遞的為地址特點(diǎn):雙向的地址傳遞85(3)返回值方式定義:返回值方式不是實(shí)參與形參之間的傳遞數(shù)據(jù),而是通過(guò)return語(yǔ)句返回一個(gè)確切的值到主函數(shù)中注意:a.返回值的數(shù)據(jù)類(lèi)型由函數(shù)的數(shù)據(jù)類(lèi)型所決定
b.return一次只可返回一個(gè)結(jié)果
c.任意時(shí)刻執(zhí)行到return語(yǔ)句,即結(jié)束自定義函數(shù)的執(zhí)行(4)全局變量方式局部變量:在函數(shù)體內(nèi)部定義的變量叫局部變量有效范圍:本函數(shù)體內(nèi)形參屬于局部變量全局變量:在函數(shù)體外定義的變量叫全局變量有效范圍:從定義處到本源程序結(jié)束當(dāng)全局變量與局部變量重名時(shí),局部變量?jī)?yōu)先86變量的存儲(chǔ)類(lèi)型1、分類(lèi):
auto:1)不賦初值時(shí),系統(tǒng)默認(rèn)為隨即數(shù)
2)多次調(diào)用都從初值開(kāi)始重新運(yùn)算Static:1)不賦初值時(shí),系統(tǒng)默認(rèn)為02)多次調(diào)用都從上一次的結(jié)果開(kāi)始累加
register:已取消
extern:用于聲明外部變量,將變量寫(xiě)在主函數(shù)的下面的時(shí)候,必須用extern聲明例:main()
{p1();p1();p1();}p1()1)、{intx=0;x+=1;printf(“%d”,x);}2)、{staticintx=0;x+=1;printf(“%d”,x);}注意:省略變量的存儲(chǔ)類(lèi)型默認(rèn)為auto872、函數(shù)的存儲(chǔ)類(lèi)型:
static:內(nèi)部函數(shù)
extern:外部函數(shù)注意:若省略函數(shù)的存儲(chǔ)類(lèi)別默認(rèn)為extern88編譯預(yù)處理命令891、定義:以#開(kāi)頭的命令叫編譯預(yù)處理命令注意:編譯預(yù)處理命令只占用編譯時(shí)間,不占用運(yùn)行時(shí)間2、預(yù)處理包括:宏定義文件包含條件編譯1、宏定義:是以#開(kāi)頭的編譯預(yù)處理命令,分為無(wú)參宏和有參宏。無(wú)參宏的定義和引用格式:#define宏名一串字符說(shuō)明:(1)宏名通常是由大寫(xiě)字母組成的標(biāo)識(shí)符(2)一串符號(hào)是由任意字符組成的一串符號(hào)功能:定義宏名對(duì)應(yīng)于一串符號(hào)90注意:(1)編譯時(shí)先將宏名替換為一串符號(hào),然后運(yùn)算(2)宏名的前后應(yīng)有空格,以便準(zhǔn)確的辨認(rèn)宏名(3)在一串符號(hào)中如果出現(xiàn)運(yùn)算符,要在適當(dāng)?shù)奈恢眉永ㄌ?hào)如:#defineP(2+1.45)s=p*2*2;(4)宏定義也有定義域,它的定義域從定義處到文件尾或
#under(5)c語(yǔ)言規(guī)定,宏名出現(xiàn)在字符串中,將不作為宏名替換(6)在宏定義的過(guò)程中,可以出現(xiàn)另一個(gè)宏名,稱為嵌套的宏定義注意:宏定義屬于常量91帶參宏的定義和引用格式:#define宏名(形參表)一串符號(hào)說(shuō)明:形參使用逗號(hào)隔開(kāi)的若干個(gè)變量名文件包含中include“”范圍大于include<>宏運(yùn)算的規(guī)則:先替換后運(yùn)算92指針93指針變量:存放地址的變量叫指針變量指針的定義和初始化1、格式:數(shù)據(jù)類(lèi)型*指針變量名;如:int*p;float*p;char*p;2、功能:定義一個(gè)指針變量(說(shuō)明:*是指針標(biāo)志,p才是指針變量)3、說(shuō)明事項(xiàng):(1)指針變量的數(shù)據(jù)類(lèi)型和其指向變量的數(shù)據(jù)類(lèi)型必須一致,(2)指針變量必須先賦值(地址)才可使用94指針的兩個(gè)運(yùn)算符1、*:取值運(yùn)算符
&:取地址運(yùn)算符2、指針變量的賦初值和初始化(1)賦初值:int*p,a;p=&a;(2)初始化:int*p=&a,a;(錯(cuò))
inta,*p=&a;(對(duì))帶數(shù)據(jù)類(lèi)型時(shí),*是指針標(biāo)志例:(1)inta=30,*p;p=&a;a=?*p=?(2)inta=100,*p=&a;*p=200;a=300;a=?*p=?95指針作形參接收普通變量1、結(jié)構(gòu):數(shù)據(jù)類(lèi)型函數(shù)名(數(shù)據(jù)類(lèi)型*指針變量)
{函數(shù)體}2、功能:定義一個(gè)指針用來(lái)接收實(shí)參的地址。注意:1)指針只可接收變量的地址
2)指針做形參時(shí),實(shí)參必須傳遞地址
3)雙向?qū)儆趯?shí)參與形參的雙向傳遞,雙向地址傳遞實(shí)現(xiàn)兩數(shù)的交換1、普通變量交換:
int
fun(int
a,intb)scanf(“%d%d”,&a,&b);{intt;fun();t=a;a=b;b=t;}printf(“%d%d”,a,b);main()}{int
a,b;962、指針變量交換
fun(int*a,int*b){intt;
t=*a;*a=*b;*b=t;}main(){int
a,b;
scanf(“%d%d”,&a,&b);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TS 9546:2024 EN Guidelines for security framework of information systems of third-party payment services
- 二零二五年度汽車(chē)消費(fèi)貸款分款及還款計(jì)劃合同
- 2025年度材料運(yùn)輸車(chē)輛維護(hù)保養(yǎng)合同
- 2025年度智能倉(cāng)儲(chǔ)物流系統(tǒng)建設(shè)合同-@-3
- 城市供水保障措施計(jì)劃
- 急診醫(yī)療資源整合方案計(jì)劃
- 班主任指引學(xué)生逐夢(mèng)之路計(jì)劃
- 注重細(xì)節(jié)提升工作質(zhì)量計(jì)劃
- 借助故事提升小班情感認(rèn)知計(jì)劃
- 班級(jí)評(píng)比機(jī)制的創(chuàng)新計(jì)劃
- 2024年醫(yī)療器械經(jīng)營(yíng)質(zhì)量管理規(guī)范培訓(xùn)課件
- 中華人民共和國(guó)學(xué)前教育法-知識(shí)培訓(xùn)
- 2023年新高考(新課標(biāo))全國(guó)2卷數(shù)學(xué)試題真題(含答案解析)
- GB/T 19228.1-2024不銹鋼卡壓式管件組件第1部分:卡壓式管件
- 2024年計(jì)算機(jī)二級(jí)WPS考試題庫(kù)380題(含答案)
- 教科版三年級(jí)下冊(cè)科學(xué)全冊(cè)完整課件
- 軌道交通安全專(zhuān)題培訓(xùn)
- 物理化學(xué)完整版答案
- 白條豬的分割表
- 小直徑開(kāi)敞式TBM遇到軟弱破碎圍巖的施工技術(shù)
- 節(jié)流孔板孔徑計(jì)算
評(píng)論
0/150
提交評(píng)論