真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語(yǔ)言第八章函數(shù)講解視頻 C語(yǔ)言第七章

c語(yǔ)言程序設(shè)計(jì) 第八章 函數(shù)

#includestdio.h

成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,包括成都網(wǎng)站建設(shè)、做網(wǎng)站、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營(yíng)銷策劃推廣、電子商務(wù)、移動(dòng)互聯(lián)網(wǎng)營(yíng)銷等。成都創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,成都創(chuàng)新互聯(lián)核心團(tuán)隊(duì)十年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。

#define N 3

void convert(int array[3][3])

{

int i,j,t;

for(i=0;iN;i++)

for(j=i+1;jN;j++)

{

t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t;

}

}

void main()

{

int i,j,a[3][3];

for(i=0;iN;i++)

for(j=0;jN;j++)

scanf("%d",a[i][j]);

convert(a);

for(i=0;iN;i++)

{

for(j=0;jN;j++)

printf("%5d",a[i][j]);

printf("\n");

}

}

求C語(yǔ)言教程

我給你電子文檔筆記吧~~

復(fù)制來(lái)的....

第一章 概述

1. C語(yǔ)言的特點(diǎn)

①語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活。共有32個(gè)關(guān)鍵字,9種控制語(yǔ)句。

②運(yùn)算符豐富,公有34種運(yùn)算符。

③數(shù)據(jù)結(jié)構(gòu)豐富,數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組、指針、結(jié)構(gòu)體、共用體等。

④具有結(jié)構(gòu)化的控制語(yǔ)句(如if…else、while、do…while、switch、for)

⑤語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。

⑥允許直接訪問(wèn)物理地址,能進(jìn)行位(bit)操作,可以直接對(duì)硬件操作。

⑦生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。

⑧可移植性好。

2. C語(yǔ)言的用途

C雖不擅長(zhǎng)科學(xué)計(jì)算和管理領(lǐng)域,但對(duì)操作系統(tǒng)和系統(tǒng)實(shí)用程序以及對(duì)硬件進(jìn)行操作方面,C有明顯的優(yōu)勢(shì)。現(xiàn)在很多大型應(yīng)用軟件也用C編寫。

Top of Page

第二章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式

1. C的數(shù)據(jù)類型

C的數(shù)據(jù)類型包括:整型、字符型、實(shí)型或浮點(diǎn)型(單精度和雙精度)、枚舉類型、數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、指針類型和空類型。

2. 常量與變量

常量其值不可改變,符號(hào)常量名通常用大寫。變量其值可以改變,變量名只能由字母、數(shù)字和下劃線組成,且第一個(gè)字符必須為字母或下劃線。否則為不合法的變量名。變量在編譯時(shí)為其分配相應(yīng)存儲(chǔ)單元。

3. 整型數(shù)據(jù)

整型常量的表示方法:十進(jìn)制不用說(shuō)了,八進(jìn)制以0開頭,如0123,十六進(jìn)制以0x開頭,如0x1e。

整型變量分為:基本型(int)、短整型(short int)、長(zhǎng)整型(long int)和無(wú)符號(hào)型。不同機(jī)器上各類數(shù)據(jù)所占內(nèi)存字節(jié)數(shù)不同,一般int型為2個(gè)字節(jié),long型為4個(gè)字節(jié)。

4. 實(shí)型數(shù)據(jù)

實(shí)型常量表示形式:十進(jìn)制形式由數(shù)字和小數(shù)點(diǎn)組成(必須有小數(shù)點(diǎn)),如:0.12、.123、123

0.0等。指數(shù)形式如123e3代表123×10的三次方。

實(shí)型變量分為單精度(float)和雙精度(double)兩類。在一般系統(tǒng)中float型占4字節(jié),7位有效數(shù)字,double型占8字節(jié),15~16位有效數(shù)字。

5. 字符型數(shù)據(jù)

字符變量用單引號(hào)括起來(lái),如'a','b'等。還有一些是特殊的字符常量,如'\n','\t'等。分別代表?yè)Q行和橫向跳格。

字符變量以char 來(lái)定義,一個(gè)變量只能存放一個(gè)字符常量。

字符串常量是由雙引號(hào)括起來(lái)的字符序列。這里一定要注意'a'和"a"的不同,前者為字符常量,后者為字符串常量,c規(guī)定:每個(gè)字符串的結(jié)尾加一個(gè)結(jié)束標(biāo)志'',實(shí)際上"a"包含兩個(gè)字符:'a'和''。

6. 數(shù)值型數(shù)據(jù)間的混合運(yùn)算

整型、字符型、實(shí)型數(shù)據(jù)間可以混合運(yùn)算,運(yùn)算時(shí)不同類型數(shù)據(jù)要轉(zhuǎn)換成同一類型再運(yùn)算,轉(zhuǎn)換規(guī)則:

char,short - int - unsigned - long - double - float

7. 運(yùn)算符和表達(dá)式

c運(yùn)算符包括:

算數(shù)運(yùn)算符( + - * / % )

關(guān)系運(yùn)算符( == = = != )

邏輯運(yùn)算符( ! || )

位運(yùn)算符( ~ | ^ )

賦值運(yùn)算符( = )

條件運(yùn)算符( ? : )

逗號(hào)運(yùn)算符( , )

指針運(yùn)算符( * )

求字節(jié)數(shù)( sizeof )

強(qiáng)制類型轉(zhuǎn)換(類型)

分量運(yùn)算符( . - )

下標(biāo)運(yùn)算符( [ ] )

其它運(yùn)算符( 如函數(shù)調(diào)用運(yùn)算符( ) )

自增自減運(yùn)算符( ++ -- )注意:++i和i++的不同之處,++i使用i之前先使i加1,i++使用i之后,使i加1。

逗號(hào)表達(dá)式的求解過(guò)程:先求解表達(dá)式1,再求解表達(dá)式2,整個(gè)表達(dá)式的值是表達(dá)式2的值。

Top of Page

第三章 最簡(jiǎn)單的c程序設(shè)計(jì)

1.c的9種控制語(yǔ)句:

if() ~ else~

for()~

while()~

do~while()

continue

break

switch

goto

return

程序的三種基本結(jié)構(gòu):順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)

2.?dāng)?shù)據(jù)輸出

c語(yǔ)言不提供輸入輸出語(yǔ)句,輸入輸出操作是由c的庫(kù)函數(shù)完成。但要包含頭文件stdio.h。

putchar( ) 向終端輸出一個(gè)字符

printf( )的格式字符:

① d格式符 用來(lái)輸出十進(jìn)制整數(shù)

%d 按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出

%md 使輸出長(zhǎng)度為m,如果數(shù)據(jù)長(zhǎng)度小于m,則左補(bǔ)空格,如果大于m,則輸出實(shí)際長(zhǎng)度

%ld 輸出長(zhǎng)整型數(shù)據(jù)

② o格式符 以八進(jìn)制形式輸出整數(shù)

③ x格式符 以十六進(jìn)制形式輸出整數(shù)

④ u格式符 用來(lái)輸出unsigned型數(shù)據(jù),以十進(jìn)制形式輸出

⑤ c格式符 用來(lái)輸出一個(gè)字符

⑥ s格式符 輸出一個(gè)字符串

%s 輸出實(shí)際長(zhǎng)度字符串

%ms 輸出的串占m列,如果串長(zhǎng)度小于m,左補(bǔ)空格,如果大于m,實(shí)際輸出

%-ms輸出的串占m列,如果串長(zhǎng)度小于m,右補(bǔ)空格,

%m.ns 輸出占m列,但只取字符串中左端n個(gè)字符并靠右對(duì)齊

%-m.ns m、n含義同上,靠左對(duì)齊,如果nm,則m自動(dòng)取n值

⑦ f格式符 以小數(shù)形式輸出實(shí)數(shù)

%f 整數(shù)部分全部輸出,小數(shù)部分輸出6位

%m.nf 輸出數(shù)據(jù)共占m列,其中有n位小數(shù)。如果數(shù)值長(zhǎng)度小于m,左補(bǔ)空格

%-m.nf 同上,右補(bǔ)空格

⑧ e格式符 以指數(shù)形式輸出實(shí)數(shù)

%e 系統(tǒng)指定6位小數(shù),5位指數(shù)(e+002 )

⑨ g格式符 輸出實(shí)數(shù),根據(jù)數(shù)值大小,自動(dòng)選f格式或e格式

3.?dāng)?shù)據(jù)輸入

getchar( ) 從終端輸入一個(gè)字符

scanf( 格式控制,地址列表) 標(biāo)準(zhǔn)C scanf中不使用%u,對(duì)于unsigned型數(shù)據(jù),以%d或%o或%x輸入。%后的*,用來(lái)跳過(guò)它相應(yīng)的數(shù)據(jù)。輸入數(shù)據(jù)時(shí)不能規(guī)定精度如scanf( "%7.2f", a );是不合法的。

Top of Page

第四章 邏輯運(yùn)算和判斷選取控制

1. 關(guān)系運(yùn)算符:

c提供6種關(guān)系運(yùn)算符( = = == != )前四種優(yōu)先級(jí)高于后兩種。

2. If語(yǔ)句

C提供了三種形式的if語(yǔ)句

If(表達(dá)式) 語(yǔ)句

If(表達(dá)式) 語(yǔ)句1 else 語(yǔ)句2

If(表達(dá)式1) 語(yǔ)句1

Else if(表達(dá)式2) 語(yǔ)句2

else 語(yǔ)句n

3. 條件運(yùn)算符

(ab)?a:b 條件為真,表達(dá)式取值a,否則取值b

4. Switch語(yǔ)句

Switch(表達(dá)式)

{

case 常量表達(dá)式1:語(yǔ)句1; break;

case 常量表達(dá)式2:語(yǔ)句2; break;

case 常量表達(dá)式n:語(yǔ)句n; break;

default :語(yǔ)句n+1;

}

Top of Page

第五章 循環(huán)控制

1. 幾種循環(huán)語(yǔ)句

goto語(yǔ)句(現(xiàn)已很少使用)

while語(yǔ)句 先判斷表達(dá)式后執(zhí)行語(yǔ)句

do-while語(yǔ)句 先執(zhí)行語(yǔ)句后判斷表達(dá)式

for語(yǔ)句

2. Break語(yǔ)句和continue語(yǔ)句

Break語(yǔ)句用于跳出循環(huán),continue用于結(jié)束本次循環(huán)。

Top of Page

第六章 數(shù)組

1. 一維數(shù)組

c規(guī)定只有靜態(tài)存儲(chǔ)(static)和外部存儲(chǔ)(extern)數(shù)組才能初始化。給數(shù)組初始化時(shí)可以不指定數(shù)組長(zhǎng)度。

2. 二維數(shù)組

3. 字符數(shù)組

部分字符串處理函數(shù)

puts(字符數(shù)組) 將一個(gè)字符串輸出到終端。

gets(字符數(shù)組) 從終端輸入一個(gè)字符串到字符數(shù)組,并且得到一個(gè)函數(shù)值,為該字符數(shù)組的首地址

strcat(字符數(shù)組1,字符數(shù)組2) 連接兩個(gè)字符數(shù)組中的字符串,數(shù)組1必須足夠大。

Strcpy(字符數(shù)組1,字符串2) 將字符串2拷貝到字符數(shù)組1中。

Strcmp(字符串1,字符串2) 比較字符串,相等返回0,字符串1字符串2,返回正數(shù),小于返回負(fù)數(shù)。

Strlen(字符數(shù)組) 求字符串長(zhǎng)度。

Strlwr( 字符串) 將字符串中的大寫字母轉(zhuǎn)換成小寫

Strupr( 字符串) 將字符串中的小寫字母轉(zhuǎn)換成大寫

以上是一些比較常用的字符串處理函數(shù)。

Top of Page

第七章 函數(shù)

1. 關(guān)于形參和實(shí)參的說(shuō)明

① 在函數(shù)被調(diào)用之前,形參不占內(nèi)存

② 實(shí)參可以是常量、變量或表達(dá)式

③ 必須指定形參的類型

④ 實(shí)參與形參類型應(yīng)一致

⑤ 實(shí)參對(duì)形參的數(shù)據(jù)傳遞是"值傳遞",即單向傳遞

2. 函數(shù)返回值

如果想讓函數(shù)返回一個(gè)值,在函數(shù)中就要用return語(yǔ)句來(lái)獲得,在定義函數(shù)時(shí)也要對(duì)函數(shù)值指定類型,如果不指定,默認(rèn)返回整型。

3. 函數(shù)調(diào)用

1)注意在函數(shù)調(diào)用時(shí)實(shí)參和形參的個(gè)數(shù)、類型應(yīng)一一對(duì)應(yīng)。對(duì)實(shí)參表求值的順序是不確定的,有的系統(tǒng)按自左至右,有的系統(tǒng)則按自右至左的順序。這一點(diǎn)要注意。

2)函數(shù)調(diào)用的方式:函數(shù)語(yǔ)句,函數(shù)表達(dá)式,函數(shù)參數(shù)

3)如果主調(diào)函數(shù)和被調(diào)函數(shù)在同一文件中,并且主調(diào)函數(shù)在前,那么一般要在主調(diào)函數(shù)中對(duì)被調(diào)函數(shù)進(jìn)行說(shuō)明。除非:(1)被調(diào)函數(shù)的返回值類型為整型或字符型(2)被調(diào)函數(shù)出現(xiàn)在主調(diào)函數(shù)之前。

4)對(duì)函數(shù)的說(shuō)明和定義是不同的,定義是指對(duì)函數(shù)功能的確立,包括指定函數(shù)名,函數(shù)值類型,形參及其類型、函數(shù)體等。說(shuō)明則只是對(duì)已定義的函數(shù)返回值類型進(jìn)行說(shuō)明,只包括函數(shù)名、函數(shù)類型以及一個(gè)空的括弧,不包括形參和函數(shù)體。

5)c語(yǔ)言允許函數(shù)的遞歸調(diào)用(在調(diào)用一個(gè)函數(shù)的過(guò)程中又出現(xiàn)直接或間接的調(diào)用該函數(shù)本身)。

4. 數(shù)組作為函數(shù)參數(shù)

1)數(shù)組元素作為函數(shù)參數(shù) 和一般變量相同

2)數(shù)組名作參數(shù)應(yīng)該在主調(diào)和被調(diào)函數(shù)分別定義數(shù)組,形參數(shù)組的大小可以不定義。注意:數(shù)組名作參數(shù),不是單向傳遞。

3)多維數(shù)組作參數(shù),在被調(diào)函數(shù)中對(duì)形參數(shù)組定義時(shí)可以省略第一維的大小說(shuō)明,但不能省略第二維或更高維的說(shuō)明。

5. 局部變量和全局變量

從變量作用域角度分,變量可分為局部變量和全局變量。

1)內(nèi)部變量(局部變量)

在一個(gè)函數(shù)內(nèi)定義,只在函數(shù)范圍內(nèi)有效的變量。

2)外部變量(全局變量)

在函數(shù)外定義,可以為本文件其它函數(shù)所共用,有效范圍從定義變量的位置開始

到本文件結(jié)束。建議盡量少使用全局變量,因?yàn)樗诔绦蛉繄?zhí)行過(guò)程中都占用

資源,而且使函數(shù)的通用性降低了。如果在定義外部變量之前的函數(shù)要想使用該

外部變量,則應(yīng)在該函數(shù)中用extern作外部變量說(shuō)明。

6. 動(dòng)態(tài)存儲(chǔ)變量與靜態(tài)存儲(chǔ)變量

從變量值存在的時(shí)間(生存期)角度來(lái)分,可分為靜態(tài)存儲(chǔ)變量和動(dòng)態(tài)存儲(chǔ)變量。靜態(tài)存儲(chǔ)指在程序運(yùn)行期間給變量分配固定的存儲(chǔ)空間,動(dòng)態(tài)存儲(chǔ)指程序運(yùn)行期間根據(jù)需要?jiǎng)討B(tài)的給變量分配存儲(chǔ)空間。

C語(yǔ)言中,變量的存儲(chǔ)方法分為兩大類:靜態(tài)存儲(chǔ)類和動(dòng)態(tài)存儲(chǔ)類,具體包括:自動(dòng)的(auto),靜態(tài)的(static),寄存器的(register),外部的(extern)。

1) 局部變量的存儲(chǔ)方式

函數(shù)中的局部變量如不作專門說(shuō)明,都之a(chǎn)uto的,即動(dòng)態(tài)存儲(chǔ)的,auto可以省略。局部變量也可以定義為static的,這時(shí)它在函數(shù)內(nèi)值是不變的。靜態(tài)局部變量如不賦初值,編譯時(shí)系統(tǒng)自動(dòng)賦值為0,動(dòng)態(tài)局部變量如不賦初值,則它的值是個(gè)不確定的值。C規(guī)定,只有在定義全局變量和局部靜態(tài)變量時(shí)才能對(duì)數(shù)組賦初值。為提高執(zhí)行效率,c允許將局部變量值放在寄存器中,這種變量叫register變量,要用register說(shuō)明。但只有局部動(dòng)態(tài)變量和形式參數(shù)可以作為register變量,其它不行。

2) 全局變量的存儲(chǔ)方式

全局變量在函數(shù)外部定義,編譯時(shí)分配在靜態(tài)存儲(chǔ)區(qū),可以在程序中各個(gè)函數(shù)所引用。多個(gè)文件的情況如何引用全局變量呢?假如在一個(gè)文件定義全局變量,在別的文件引用,就要在此文件中用extern對(duì)全局變量說(shuō)明,但如果全局變量定義時(shí)用static的話,此全局變量就只能在本文件中引用了,而不能被其它文件引用。

3) 存儲(chǔ)類別小結(jié)

從作用域角度分,有局部變量和全局變量

局部變量:自動(dòng)變量,即動(dòng)態(tài)局部變量(離開函數(shù),值就消失)

靜態(tài)局部變量(離開函數(shù),值仍保留)

寄存器變量(離開函數(shù),值就消失)

(形參可定義為自動(dòng)變量和寄存器變量)

全局變量:靜態(tài)全局變量(只限本文件引用)

全局變量(允許其它文件引用)

從存在的時(shí)間分,有靜態(tài)存儲(chǔ)和動(dòng)態(tài)存儲(chǔ)

動(dòng)態(tài)存儲(chǔ):自動(dòng)變量(本函數(shù)內(nèi)有效)

寄存器變量(本函數(shù)內(nèi)有效)

形參

靜態(tài)存儲(chǔ):靜態(tài)局部變量(函數(shù)內(nèi)有效)

靜態(tài)全局變量(本文件內(nèi)有效)

全局變量(其它文件可引用)

從變量值存放的位置分

靜態(tài)存儲(chǔ)區(qū):靜態(tài)局部變量

靜態(tài)全局變量

全局變量

動(dòng)態(tài)存儲(chǔ)區(qū):自動(dòng)變量和形參

寄存器內(nèi):寄存器變量

7. 內(nèi)部函數(shù)和外部函數(shù)

內(nèi)部函數(shù):只能被本文件中的其它函數(shù)調(diào)用,定義時(shí)前加static,內(nèi)部函數(shù)又稱靜態(tài)函數(shù)。

外部函數(shù):可以被其它文件調(diào)用,定義時(shí)前加extern,如果省略,則隱含為外部函數(shù),在需要調(diào)用此函數(shù)的文件中,一般要用extern說(shuō)明。

Top of Page

第八章 預(yù)編譯處理

c編譯系統(tǒng)在對(duì)程序進(jìn)行通常的編譯之前,先進(jìn)行預(yù)處理。c提供的預(yù)處理功能主要有以下三種:1)宏定義 2)文件包含 3)條件編譯

1. 宏定義

不帶參數(shù)的宏定義

用一個(gè)指定的標(biāo)識(shí)符來(lái)代表一個(gè)字符串,形式:#define 標(biāo)識(shí)符 字符串

幾點(diǎn)說(shuō)明:

1) 宏名一般用大寫

2) 宏定義不作語(yǔ)法檢查,只有在編譯被宏展開后的源程序時(shí)才會(huì)報(bào)錯(cuò)

3) 宏定義不是c語(yǔ)句,不在行末加分號(hào)

4) 宏名有效范圍為定義到本源文件結(jié)束

5) 可以用#undef命令終止宏定義的作用域

6) 在宏定義時(shí),可以引用已定義的宏名

帶參數(shù)的宏定義

定義形式:#define 宏名(參數(shù)表) 字符串

這和函數(shù)有些類似,但他們是不同的:

1) 函數(shù)調(diào)用時(shí),先求實(shí)參表達(dá)式值,再代入形參,而宏只是簡(jiǎn)單替換,并不求值

2) 函數(shù)調(diào)用是在程序運(yùn)行時(shí)分配內(nèi)存的,而宏展開時(shí)并不分配內(nèi)存,也沒(méi)有返回值的概念

3) 對(duì)函數(shù)中的實(shí)參和形參都要定義類型,而且要求一致,宏名無(wú)類型,其參數(shù)也沒(méi)有類型。

4) 函數(shù)只有一個(gè)返回值,而宏可以得到幾個(gè)結(jié)果

5) 宏替換不占運(yùn)行時(shí)間,只占編譯時(shí)間,而函數(shù)調(diào)用占運(yùn)行時(shí)間

2. 文件包含處理

#include "文件1" 就是將文件1的全部?jī)?nèi)容復(fù)制插入到#include位置,作為一個(gè)源文件進(jìn)行編譯。

在#include命令中,文件名可以用" "也可以用 ,假如現(xiàn)在file1.c中包含file2.h文件," "表示系統(tǒng)先在file1.c所在目錄中找file2.h,如果找不到,再按系統(tǒng)指定的標(biāo)準(zhǔn)方式檢索目錄, 表示系統(tǒng)直接按指定的標(biāo)準(zhǔn)方式檢索目錄。所以用" "保險(xiǎn)一點(diǎn)。

3. 條件編譯

條件編譯指不對(duì)整個(gè)程序都編譯,而是編譯滿足條件的那部分。條件編譯有以下幾種形式:

1)#ifdef 標(biāo)識(shí)符

程序段1

#else

程序段2

#endif

它的作用:當(dāng)標(biāo)識(shí)符在前面已經(jīng)被定義過(guò)(一般用#define),則對(duì)程序段1編譯,否則對(duì)程序段2編譯。

2)#ifndef 標(biāo)識(shí)符

程序段1

#else

程序段2

#endif

它的作用和#ifdef相反,當(dāng)標(biāo)識(shí)符沒(méi)被定義過(guò),對(duì)程序段1編譯,否則對(duì)程序段2編譯。

3)#if 表達(dá)式

程序段1

#else

程序段2

#endif

它的作用:當(dāng)表達(dá)式值為真(非0)時(shí),對(duì)程序段1編譯,否則對(duì)程序段2編譯。

Top of Page

第九章 指針

指針說(shuō)白了就是地址。指針變量就是用來(lái)存放指針(地址)的變量。

1. 變量的指針和指向變量的指針變量

讀起來(lái)很拗口,說(shuō)白了就是變量的地址和用來(lái)存放變量地址的地址變量。因?yàn)橐粋€(gè)變量在編譯的時(shí)候系統(tǒng)要為它分配一個(gè)地址,假如再用一個(gè)變量來(lái)存放這個(gè)地址,那么這個(gè)變量就叫做指向變量的指針變量,也就是用來(lái)存放變量地址的這么一個(gè)變量。所謂"指向"就是指存放××的地址,如指向變量的指針變量,"指向"就是指用來(lái)存放變量的地址,再如指向數(shù)組的指針變量,"指向"就是指存放數(shù)組的地址。只要理解了這個(gè),指針也就不難了。另外,還有指向字符串的指針變量,指向函數(shù)的指針變量,指向指針的指針變量等。

1) 指針變量的定義

形式:類型標(biāo)識(shí)符 *標(biāo)識(shí)符 如:int *pointer;

要注意兩點(diǎn):*表示pointer是個(gè)指針變量,在用這個(gè)變量的時(shí)候不能寫成*pointer, *pointer是pointer指向的變量。一個(gè)指針變量只能指向同一個(gè)類型的變量。如上面

pointer只能指向int型變量。

2)指針變量的引用

兩個(gè)有關(guān)的運(yùn)算符:

取地址運(yùn)算符 a 就代表變量a的地址

* 指針運(yùn)算符 *a 就代表變量a的值

2. 數(shù)組的指針和指向數(shù)組的指針變量

數(shù)組的指針指數(shù)組的起始地址,數(shù)組元素的指針指數(shù)組元素的地址。

1)指向數(shù)組元素的指針變量的定義與賦值

定義和指向變量的指針變量定義相同,c規(guī)定數(shù)組名代表數(shù)組的首地址,即第一個(gè)數(shù)組元素地址。

2)通過(guò)指針引用數(shù)組元素

我們通常引用數(shù)組元素的形式是a[i],如果用指針可以這樣引用,*(a+i),或定義一個(gè)指針變量p,將數(shù)組a的首地址賦給p,p=a;然后用*(p+i)引用。

注意:指針變量p指向數(shù)組a首地址,則p++指向數(shù)組a的下一元素地址,即a[1]的地址。

3)數(shù)組名作函數(shù)參數(shù)

形參數(shù)組和實(shí)參數(shù)組之間并不是值傳遞,而是共用同一段地址,所以在函數(shù)調(diào)用過(guò)程中如果形參的值發(fā)生變化,則實(shí)參的值也跟著變化。

4)指向多維數(shù)組的指針和指針變量

以二維數(shù)組為居多。假設(shè)定義了一個(gè)二維數(shù)組a[3][4],那么

a代表整個(gè)二維數(shù)組的首地址,也代表第0行的首地址,同時(shí)也是第0行第0列的元素的首地址。a +0和a[0]代表第0行首地址,a+1和a[1]代表第一行的首地址。

假設(shè)a是一個(gè)數(shù)組的首地址,那么如果a是一維的,a+I代表第I個(gè)元素的地址,如果a是二維的,則a+I代表第I行的首地址。

那么第一行第二列的元素地址如何表示呢?a[1]+2或a[1][2]或*(a+1)+2。

我們只要記住:在二維數(shù)組中a代表整個(gè)數(shù)組的首地址,a[I]代表第I行的首地址,a[I]與*(a+I)等價(jià)就行了。只要運(yùn)用熟練了就沒(méi)什么復(fù)雜的了。

5)指向由m個(gè)整數(shù)組成的一維數(shù)組的指針變量

如:int (*p)[4],p是一個(gè)指向包含4個(gè)元素的一維數(shù)組,如果p先指向a[0],則p+1指向a[1],即p的增值是以一維數(shù)組的長(zhǎng)度為單位的,這里是4,舉個(gè)例子:

假設(shè)a[3][4]=,p先指向a[0]也就是數(shù)組a的首地址,那么p+1就是a[1]的首地址即元素9的地址,因?yàn)樵诙xp時(shí)int (*p)[4],定義一維數(shù)組長(zhǎng)度為4,所以p+1就等于加了一個(gè)一維數(shù)組的長(zhǎng)度4。

3. 字符串的指針和指向字符串的指針變量

1)字符串的表示形式

c中字符串有兩種表示形式:一種是數(shù)組,一種是字符指針

char string[]="I love c!";

char *str="I love c!";

其實(shí)指針形式也是在內(nèi)存中開辟了一個(gè)數(shù)組,只不過(guò)數(shù)組的首地址存放在字符指針變量str中,千萬(wàn)不要認(rèn)為str是一個(gè)字符串變量。

2)字符串指針作函數(shù)參數(shù)

實(shí)際上字符串指針就是數(shù)組的首地址。

3)字符指針變量與字符數(shù)組的區(qū)別

① 字符數(shù)組由若干元素組成,每個(gè)元素存放一個(gè)字符,而字符指針變量只存放字符串的首地址,不是整個(gè)字符串

② 對(duì)數(shù)組初始化要用static,對(duì)指針變量不用。

③ 對(duì)字符數(shù)組賦值,只能對(duì)各個(gè)元素賦值,不能象下面這樣:

char str[14];

str="I love c!";

對(duì)指針變量可以,

char *str;

str="I love c!";

注意:此時(shí)賦給str的不是字符,而是字符串首地址。

④ 數(shù)組在定義和編譯時(shí)分配內(nèi)存單元,而指針變量定義后最好將其初始化,否則指針變量的值會(huì)指向一個(gè)不確定的數(shù).

嘎嘎。。。就這么多啦~~

c語(yǔ)言第八章作業(yè)

1_5.DDBAB

二.

1.第一次循環(huán)X為1,y為1,z為4;輸出6;第二次循環(huán)X為6,y為1,z為4;輸出11;第三次循環(huán)X為11,y為1,z為4;輸出16;

2. 要區(qū)別于break,break是符合條件直接跳出循環(huán),不再執(zhí)行循環(huán)操作。continue是跳到下一循環(huán),執(zhí)行下步循環(huán)操作 1 4 7

答案給你做參考的,采不采納無(wú)所謂

C語(yǔ)言大學(xué)實(shí)用教程免費(fèi)下載的電子版

C語(yǔ)言視頻教程 譚浩強(qiáng)編,曾怡教授講解

C語(yǔ)言程序設(shè)計(jì)視頻教程(曾怡)

地區(qū):大陸

語(yǔ)言:普通話

簡(jiǎn)介:

C程序設(shè)計(jì)視頻教程(曾怡):本套視頻教程由曾怡副教授講解,使用教材為:《C程序設(shè)計(jì)》 譚浩強(qiáng) 清華大學(xué)出版社出版。是難得的C語(yǔ)言學(xué)習(xí)視頻教程。全程共30講,每講45分鐘左右,CSF視頻格式。講課內(nèi)容如下:

第一講 第一章 C語(yǔ)言概述

第二講 第二章 程序的靈魂—算法

第三講 第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式

第四講 第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式

第五講 第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式

第六講 第三章 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式

第四章 最簡(jiǎn)單的C程序設(shè)計(jì)—順序程序設(shè)計(jì)

第七講 第四章 最簡(jiǎn)單的C程序設(shè)計(jì)—順序程序設(shè)計(jì)

第八講 第四章 最簡(jiǎn)單的C程序設(shè)計(jì)—順序程序設(shè)計(jì)

第九講 第五章 選擇結(jié)構(gòu)的程序設(shè)計(jì)

第十講 第五章 選擇結(jié)構(gòu)的程序設(shè)計(jì)

第十一講 第五章 選擇結(jié)構(gòu)的程序設(shè)計(jì)

第十二講 第六章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)

第十三講 第六章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)

第十四講 第六章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)

第十五講 第六章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)

第七章 數(shù)組

第十六講 第七章 數(shù)組

第十七講 第七章 數(shù)組

第十八講 第七章 數(shù)組

第十九講 第七章 數(shù)組

第二十講 第七章 數(shù)組

第八章 函數(shù)

第二十一講 第八章 函數(shù)

第二十二講 第八章 函數(shù)

第二十三講 第八章 函數(shù)

第二十四講 第十章 指針

第二十五講 第十章 指針

第二十六講 第十章 指針

第二十七講 第十章 指針

第十一章 結(jié)構(gòu)體

第二十八講 第十一章 結(jié)構(gòu)體

復(fù)習(xí)總結(jié)第一講

復(fù)習(xí)總結(jié)第二講

下載地址(用訊雷下載)

速度還可以

C語(yǔ)言程序設(shè)計(jì)這門課程第八章函數(shù)進(jìn)階(中級(jí))的知識(shí)點(diǎn)有哪些?

C語(yǔ)言程序設(shè)計(jì)這門課第八章函數(shù)進(jìn)階(中級(jí))的知識(shí)點(diǎn)包含【中級(jí)】第48講-參數(shù)的2種傳遞方式,【中級(jí)】第49講-編寫一個(gè)strlwr函數(shù),【中級(jí)】第50講-數(shù)組作為函數(shù)參數(shù),【中級(jí)】第51講-指針數(shù)組作為函數(shù)參數(shù),【中級(jí)】第52講-指向指針的指針作為函數(shù)參數(shù),【中級(jí)】第53講-結(jié)構(gòu)體作為函數(shù)參數(shù),【中級(jí)】第54講-函數(shù)的作用范圍,【中級(jí)】第55講-變量的作用范圍,。


網(wǎng)頁(yè)名稱:c語(yǔ)言第八章函數(shù)講解視頻 C語(yǔ)言第七章
分享URL:http://weahome.cn/article/hgghcp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部