版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
任務一
重點難點分析:了解程序和程序設計語言,C語言的發(fā)展和特點,初步掌握C語言的組成和格式特點。
C程序的組成
(1)C程序由函數(shù)組成,函數(shù)是C程序的基本單位。
每個C程序由一個或多個函數(shù)組成,其中每一個C程序都必須有,且只能有一個main函數(shù)。函數(shù)是C程序的基
本單位。
(2)一個函數(shù)由函數(shù)首部和函數(shù)體兩部分組成
函數(shù)首部包括函數(shù)類型、函數(shù)名、函數(shù)的參數(shù)闡明等。
例如:
intmax(intx,inty)
函數(shù)體是函數(shù)首部下面用一對{}括起來的部分。一般包括變量定義部分和語句執(zhí)行部分。變量定義部分定義函數(shù)
內(nèi)部所用變量,語句執(zhí)行部分要求函數(shù)所要執(zhí)行的動作。
(3)無論main函數(shù)在整個程序中的位置怎樣,C語言程序總是從main函數(shù)開始執(zhí)行的,主函數(shù)執(zhí)行完成,
整個程序結束運行。
(4)書寫格式自由,一行能夠寫多個語句,一個語句也能夠寫在多行上,但每條語句或數(shù)據(jù)定義的最后必須有
一個分號“;”,作為語句的結束標志。
(5)可用"/*……對C程序中的任何部分作注釋。
(6)預處理命令一般應放在源文獻或源程序的最前面。
(7)VisualCH60是集編輯、編譯鏈接和執(zhí)行于一體的軟件。
(8)C語言源文獻的擴展名是.c>
任務二
本章重點:掌握變量的定義,掌握各種運算符的特點及體現(xiàn)式的正確引用以及各種數(shù)據(jù)類型之間的相互轉換。
本章難點:各種數(shù)據(jù)類型的存儲形式、相互轉換及各種體現(xiàn)式的正確引用
1數(shù)據(jù)類型
C語言中提供了豐富的數(shù)據(jù)類型,其中整型、實型和字符型是基本數(shù)據(jù)類型,通過基本數(shù)據(jù)類型可再結構其
他更復雜的數(shù)據(jù)類型。
1.1標識符
標識符:用來標識變量名、符號常量名、函數(shù)名、數(shù)組名、類型名、文獻名的有效字符序列。
C語言要求標識符只能由字母,數(shù)字、下劃線三種字符組成,并且第一個字符必須是字母或下劃線,同時C
語言嚴格辨別大小寫。標識符分三類:核心字、預定義符和用戶標識符
1.2變量
注意:變量名、變量值、變量存儲空間(變量內(nèi)存單元)三者的區(qū)分與關系
1.變量的定義
變量必須先定義再使用。
【格式】:數(shù)據(jù)類型變量名列表;
2.變量的賦值
即將某一數(shù)據(jù)存入到變量的內(nèi)存單元中。數(shù)據(jù)稱為變量值。
1.3常量
常量分為:直接常量和符號常量
1.直接常量
直接在程序中使用的常量,依照字面意義可進行辨別。
2.符號常量
【定義格式】#define符號常量標示符常量值
例:#definePI3.14
注意:符號常量與變量不?樣,它的值在其作用域內(nèi)不能變化,也不能再被賦值。
使用符號常量的好處是:
■含義清楚;
■能做到“一改全改”。
2.整型數(shù)據(jù)
2.1整型常量
C語言中,整型常量用來表示數(shù)學中的整數(shù),能夠用十進制、八進制或十六進制的形式表示,但沒有二進制
表示形式。
2.2整型變量
1.分類
歸納起來共6類(注意分派的字節(jié)數(shù)),即:
有符號基本整型[singned]int
有符號短整型[singned]short[int]
有符號長整型[singned]long[int]
無符號基本整型[unsigned]int
無符號短整型[unsigned]short[int]
無符號長整型[unsigned]long[int]
2.整型數(shù)據(jù)的存儲形式
C語言要求一個有符號整數(shù)在內(nèi)存中是以補碼形式存儲的。
3.整型數(shù)據(jù)的溢出
在應用中依照實際情況來選擇數(shù)據(jù)類型,否則不能正確體現(xiàn)。
3實型數(shù)據(jù)
3.1實型常量
C語言中,實型常量用來表示帶有小數(shù)點的實數(shù),有兩種表示形式:
(1)十進制小數(shù)形式:如,4.6、-1.23等
(2)指數(shù)形式:由尾數(shù)、字母e或E、指數(shù)三部分組成;如:3.25E2
3.2實型變量
1.分類:單精度(float)>雙精度(double)、度(longdouble)
2.實型數(shù)據(jù)的舍入誤差
使用時注意不一樣類型的有效位問題,防止出現(xiàn)舍入誤差
4字符型數(shù)據(jù)
4.1字符型常量
C語言要求用單引號定界的單個字符,及單引號定界的轉義字符是字符常量。
注意:轉義字符仍然代表一個字符。
4.2字符型變量
一個字符型變量在內(nèi)存占用一個字節(jié)的空間,存儲的是該字符的ASCII碼。
4.3字符型數(shù)據(jù)與整型數(shù)據(jù)的混合運算
因字符型數(shù)據(jù)內(nèi)存存儲的是該字符的ASCII碼體現(xiàn)形式與整型數(shù)據(jù)相同,因此C要求二者能夠混合運算。
4.4字符串常量
C語言中用雙引號括起來的多個字符。
c語言要求:存儲字符串時,為其分派的存儲空間比其實際字符個數(shù)多1,用于存儲串結束標志字符'\0'。因
此:匕‘在內(nèi)存中占1個字節(jié);七”在內(nèi)存中占2個字節(jié)。
5運算符和體現(xiàn)式
掌握:各種運算符的功效、對運算對象的要求、優(yōu)先級別和結合性
5.1基本算術運算和體現(xiàn)式
1.基本算術運算符
包括:+(加)、?(減)、*(乘)、/(除)、%(求余)+(正號)、?(負號)
注意:⑴/:參加運算的兩個運算對象假如都是整數(shù),則成果取整,例:5/2的值是2
假如參加運算的運算對象中有實型數(shù)據(jù),則成果為實型,例502的值是2.5
(2)%;要求參加運算的兩個運算對象必須是整型
2.算術體現(xiàn)式:運算對象通過運算符連接起來的式子成為體現(xiàn)式,體現(xiàn)式值的含義。
3.運算符的優(yōu)先級:(詳見教材附錄)
由高到底依次是:(+、?)正負號運算同級、%、(/、*)同級、(+、?)同級
5.2自增、自減運算符
1.++、-是單目運算,只能對變量進行自增1或自減1的運算
2.注意++、-作為前綴(先變后用)或后綴(先用后變)的區(qū)分
3.其結合性是右結合性
5.3強制類型轉換
【格式】(類型名)(體現(xiàn)式)注意體現(xiàn)式左右括號的作用
【功效】將體現(xiàn)式的值強制轉換成前面括號中要求的類型
例:(float)(5/2)的值是2.0
(float)5/2的值是2.5
任務三
本章重點:掌握C語言常用的輸入端i出函數(shù)以及次序結構程序設計的一般措施。
1.次序結構程序概述
次序結構程序是指程序中的語句完全按照它們的排列次序執(zhí)行。一般由四個部分組成:
1.定義變量部分;
2.已知變量賦值或輸入部分;
3.未知變量求值部分;
4.輸出成果部分。
2.次序結構程序的編寫措施,與求解物理題很相同。
1.變量相稱于物理量,有幾個物理量就定義幾個變量。并明確哪些變量是已知的,哪些變量是未知的。
2.給出口知變量的值。若己知變量有明確的值,則用賦值語句給出;否則用輸入語句取得。
3.依照已知變量與未知變量的關系,用賦值語句求得未知變量的值。
4.輸出求得的未知變量的值。
3.C語句的分類
1.賦值語句
賦值語句是在賦值體現(xiàn)式加上分號組成的體現(xiàn)式語句。其一般形式為:變量=體現(xiàn)式;,功效是把體現(xiàn)式的
值給變量。
■賦值語句拓展之后的一般形式為:變量=變量一.尸體現(xiàn)式:。
■在變量闡明中給變量賦初值和賦值語句有些不一樣,給變量賦初值是變量闡明的一部分,在編譯的時候
執(zhí)行,賦初值后的變量與其后的其他同類型變最之間仍必須用逗號間隔,而賦值語句則必須用分號結尾。
(2)復合語句
把多個語句用“C”括起來組成一個語句稱復合語句。在程序中應把復合語句當作是單條語句。
1.空語句
4.數(shù)據(jù)的輸入輸出
C語言自身不提供輸入輸出語句,輸入輸出語句是由某些庫函數(shù)實現(xiàn)。
1.數(shù)據(jù)的輸出
,單字符輸入函數(shù)putchar
1.一般形式:putchar(字符體現(xiàn)式)…
2.所在頭文獻;stdio.h.
3.功效:向終端輸出一個字符(即能夠是可顯示的字符,又能夠是控制字符或其他轉義字符)。
,格式輸入函數(shù)printf
1.格式:printf(格式控制,輸出項列表);,輸出項列表能夠不需要。
2.所在頭文獻:stdio.h.
3.功效:按照用戶指定的格式向系統(tǒng)隱含的輸出設備輸出若干個任意類型的數(shù)據(jù)。
4.數(shù)據(jù)的輸入
,單字符輸入函數(shù)getchar
1.一般形式:getchar。;。
2.所在頭文獻:stdio.h.
3.功效:從系統(tǒng)隱含的輸入設備輸入一個字符,只能接收一個輸入,假如有多個輸入,只有第一個有效。
getchar的返回值為輸入的字符。
,格式輸入函數(shù)scant
1.格式:scant(格式控制,地址項列表)
2.所在頭文獻:stdio.h.
功效:按格式控制所指的格式從標準輸入設備輸入數(shù)據(jù)并賦給指定的變量。
任務四
本章重點:掌握關系體現(xiàn)式、邏輯體現(xiàn)式的使用方法,if語句、swtch語句的基本使用方法和語法格式,各種數(shù)
據(jù)類型之間的相互轉化,以及選擇結構程序設計的基本措施。
4.1關系體現(xiàn)式與邏輯體現(xiàn)式
1、C語言中的關系運算符
(D<(小于)?<=(小于或等于)(3>>(不小于)
?>=(不小于或等于)@==(等于)⑥!=(不等于)
2、關系體現(xiàn)式和關系體現(xiàn)式的值
由關系運算符組成的體現(xiàn)式稱為關系體現(xiàn)式。關系體現(xiàn)式的值是一個邏輯值,即“真”或“假”。在C語言中,
以1代表“真:以0代表“假工
3、C語言中的邏輯運算符
?&&(邏輯“與”)②II(邏輯“或”)③(邏輯“非”)
4、邏輯體現(xiàn)式和邏輯體現(xiàn)式的值
由邏輯運算符和運算對象組成的體現(xiàn)式稱為邏輯體現(xiàn)式。邏輯表示式的運算成果只有兩種:1(“真”)或0
('假")。應當注意,在判斷一個量是否為“真”時,卻是以非0代表‘真",以0代表“假”。
4.2if語句
1、含else子句的if語句
語句形式:
if(體現(xiàn)式)語句1
else語句2
執(zhí)行過程:
先計算if背面圓括號中的體現(xiàn)式的值,假如體現(xiàn)式的值為非零,執(zhí)行if子句,然后跳過else子句去執(zhí)行if語
句后的下
一個語句;假如體現(xiàn)式的值為零,跳過if子句,去執(zhí)行else子句,接著去執(zhí)行if語句后的下一個語句。
2、不含else子句的if語句
語句形式:
if(體現(xiàn)式)語句
執(zhí)行過程:
先計算if背面圓括號中的體現(xiàn)式的值,假如體現(xiàn)式的值為非零(“真”),則執(zhí)行其后的if子句,然后執(zhí)行if
語句后的下一個語句;假如體現(xiàn)式的值為零(“假”),則跳過if子句,直接執(zhí)行if語句后的下一個語句。
3、嵌套的if語句
if子句和else子句中能夠是任意合法的C語句,當然也能夠是if語句,一般稱此為嵌套的if語句。內(nèi)嵌的if
語句既能夠嵌套在if子句中,也能夠嵌套在else子句中。
在書寫嵌套的if語句時,為了提升程序的可讀性盡也許按層縮進的書寫格式來寫自己的程序。
值得注意的是在執(zhí)行嵌套的if語句的過程中,要尤其注意if和else的匹配問題,else要與其,離它最近的未
匹配的if來匹配。
4.3混合運算與強制類型轉換
整型、實型、字符型數(shù)據(jù)間能夠混合運算,在進行運算時,不一樣類型的數(shù)據(jù)要先轉換成同一類型,然后進
行運算。
不?樣類型的數(shù)據(jù)進行運算時,能夠利用強制類型轉換運算符將一個體現(xiàn)式轉換成所需類型。其?般形式為:
(類型名)(體現(xiàn)式)
4.4switch語句
switch語句的一般形式:
switch(體現(xiàn)式)
{case常量體現(xiàn)式1:語句1
case常量體現(xiàn)式2:語句2
I
I
case常量體現(xiàn)式n:語句n
default:語句n+1
)
執(zhí)行過程:
當執(zhí)行swRch語句時,首先計算緊跟其后的括號中的體現(xiàn)式的值,然后在switch語句體內(nèi)尋找與該值吻合
的case標號,假如有與該值相等的標號,則執(zhí)行該標號后開始的各語句,包括在其后的所有case和default中
的:吾句,直到switch語句體結束。假如沒有與該值相等的標號,并且存在default標號,則從default標號后的語
句開始執(zhí)行,直到sw肥h語句體結束。假如沒有與該值相等的標號,且不存在default標號,則跳過sw讓ch語句
體,什么也不做。
4.5拓展:條件體現(xiàn)式
1、條件體現(xiàn)式
形式:體現(xiàn)式1?體現(xiàn)式2:體現(xiàn)式3
由條件體現(xiàn)式組成的賦值語句實際.上就是?個if-else語句的簡寫。因此,若在if-else語句中,當體現(xiàn)式為‘真”
或‘假”時,都只執(zhí)行一個賦值語句,且給同一個變量賦值時,均能夠用簡單的條件體現(xiàn)式來處理。
任務五
本章重點:
深入掌握各種循環(huán)語句的要點和使用措施。
深入掌握break和continue語句在循環(huán)語句中的作用。
能夠靈活地利用各種循環(huán)語句進行綜合程序設計
基本知識點
循環(huán)語句是指在滿足指定的條件時,重復執(zhí)行某個語句。重復執(zhí)行的語句既能夠是單個語句,也能夠是復合語句。
循環(huán)語句有while、do-while和for等幾個類型
1.while循環(huán)
語句一般格式
while(體現(xiàn)式)循環(huán)體語句
注意洗判斷循環(huán)條件再執(zhí)行循環(huán),假如循環(huán)條件不滿足,循環(huán)體也許一次都不執(zhí)行。
2.dowhile循環(huán)
潛句一般格式
do
循環(huán)體語句
while(體現(xiàn)式);
注意:先執(zhí)行循環(huán)體后判斷循環(huán)條件,假如循環(huán)條件不滿足,循環(huán)體最少執(zhí)行?次。
3.for循環(huán)
語句一般格式
for(體現(xiàn)式1;體現(xiàn)式2;體現(xiàn)式3)
捌
注意:
(1)三個體現(xiàn)式執(zhí)行得先后次序,三個體現(xiàn)式的書寫格式,中間用;間隔。
(2)循環(huán)體有多句,用復合語句描述。
4.breakcontinue
注意:(l)break終止本層循環(huán),跳出循環(huán)體。
(2)coEinue跳過本次循環(huán)體卜面的語句,進入下一次循環(huán)。
5.三種循環(huán)語句的比較
(1)for和while語句先判斷循環(huán)條件后執(zhí)行循環(huán)體,do-while語句先執(zhí)行循環(huán)體后再判斷循環(huán)條件。
(2)while和do-while語句的條件體現(xiàn)式只有一個,for語句有3個。
(3)while>do-while、for能夠相互替代使用。
(4)while語句多用「不需要賦初值的或者循環(huán)次數(shù)不確定的情況。for語句多用:要賦初值或者循環(huán)次數(shù)固定
的情況。do-while語句多用于最少要執(zhí)行一次的循環(huán)控制。
(5)循環(huán)語句能夠嵌套,循環(huán)能夠并列,但不能交叉。
本章學習難點
1.注意循環(huán)中變量的初始化
2.注意書寫錯誤導致的死循環(huán)
任務六
本章重點、難點:
1.C語言不允許對數(shù)組的大小做動態(tài)定義,即數(shù)組的大小不依賴于程序運行過程中變量的值。
2.數(shù)組元素的下標:C語言中數(shù)組元素下標的下限是固定的,總是為0;程序在執(zhí)行過程中并不自動檢查
數(shù)組元素的下標是否越界。
3.數(shù)組在內(nèi)存中的存儲形式
當程序中定義了數(shù)組之后,系統(tǒng)將為數(shù)組在內(nèi)存中分派一段連續(xù)的存儲空間來存儲數(shù)組元素。
對于一維數(shù)組來說,數(shù)組元素如下標從小到大的次序依次存儲于內(nèi)存中。對于二維數(shù)組來說,邏輯上能夠把
它們當作是一個矩陣結構,數(shù)組元素在內(nèi)存中的排列是按照行優(yōu)先標準。
數(shù)組名統(tǒng)計了數(shù)組在內(nèi)存中的首地址,其值不能變化。除字符數(shù)組外,不能直接使用數(shù)組名對數(shù)組進行整體
的輸入或輸出。
數(shù)組:由若干類型相同的數(shù)據(jù)按一定次序存儲所形成的有序集合。用某個名字標識這個集合,這個名字稱為
數(shù)組名。組成數(shù)組的每個數(shù)據(jù)項稱為數(shù)組的元素,同一數(shù)組中的元素必須具備相同的數(shù)據(jù)類型。
6.1一維數(shù)組的定義和引用
6.1.1一維數(shù)組的定義
定義一維數(shù)組的一般形式:
數(shù)據(jù)類型闡明符數(shù)組名[常量體現(xiàn)式];
6.1.2一維數(shù)組元素的引用
數(shù)組元素是組成數(shù)組的基本單元。數(shù)組元素也是一個變量,其標識措施為數(shù)組名后跟一個下標.下標表示了
元素在數(shù)組中的次序號。
數(shù)組元素的一般形式為:數(shù)組名[下標]
6.1.3一維數(shù)組的初始化
初始化的?般形式為:
類型闡明符數(shù)組名[常量體現(xiàn)式卜{值,值……值};
其中在{}中的各數(shù)據(jù)值即為各元素的初值,各值之間用逗號間隔。
C語言對數(shù)組的初始化有如下幾點要求:
1.能夠只給部分元素初始化。
當{}中值的個數(shù)少于元素個數(shù)時,只給前面部分元素賦值。
例如:
inta[10]={0,1,2,3,4};
表示只給a[0]-a[4]5個元素賦值,而后5個元素自動賦0值。
1.只能給元素逐一賦值,不能給數(shù)組整體賦值。
例如給十個元素所有賦1值,只能寫為:
inta[10]={1,1,1,1,1,1,1,1,1,1};
而不能寫為:
inta[10]=1;
1.如給所有元素賦值,則在數(shù)組闡明中,能夠不給出數(shù)組長度。
例如:
inta[5]={1,2,3,4,5);
可寫為:
inta[]={123,4,5};
6.2二維數(shù)組
6.2.1二維數(shù)組的定義
二維數(shù)組定義的一般形式
數(shù)據(jù)類型闡明符數(shù)組名[常量體現(xiàn)式1][常量體現(xiàn)式2];
其中“常量體現(xiàn)式1”表示一維數(shù)組的行數(shù),“常量體現(xiàn)式2”表示一維數(shù)組的列數(shù)。
6.2.2二維數(shù)組元素的引用
二維數(shù)組的元素也稱為雙下標變量,其表示的形式為:
數(shù)組名[下標][下標]
其中下標應為整型常量或整型體現(xiàn)式。
6.2.3二維數(shù)組的初始化
給二維數(shù)組的初始化重要有如下幾個方式。
1.分行給一維數(shù)組賦初值
例如:
inta[2][3]={{1,2,3},{4,5,6});
2.按數(shù)組元素在內(nèi)存中排列的次序對各元素賦初值
例如:
inta[2][3]={1,234,5,6};
3.給部分元素賦初值
例如:
inta[2][3]={{1},{4});
4.假如對所有元素都賦初值,則定義數(shù)組時行長度能夠省略,但列的長度不能省。
例如:
inta[][3]={1,2,3,4,5,61;
6.3字符數(shù)組與字符串
6.3.1有關字符串
C語言要求:字符串的末尾必須有、0,字符,即字符為字符串結束標志。'0'是一個轉義字件,它的ASCII
碼直為0。
?個字符數(shù)組中能夠存儲若干個字符。字符數(shù)組除了能夠存儲字符型數(shù)據(jù)外還能夠存儲字符串。
6.3.2字符數(shù)組的定義
一般形式:char數(shù)組名[數(shù)組長度]
6.3.3字符數(shù)組的初始化
1.用字符常量賦初值
例如:
charc[10]={T,'a'E,二忙匕加,0加;
則c[0]=甲,…,c[9]='y'oc數(shù)組中存儲的是10個字符型數(shù)據(jù)(包括空格字符)。
需要注意:當所賦初值的個數(shù)超出數(shù)組的長度時系統(tǒng)報錯;當所賦初值的個數(shù)小于數(shù)組的長度時:剩余的元素系
統(tǒng)芻動賦予'0',此時,能夠將該數(shù)組看做是一個存儲字符串的數(shù)組;對靜態(tài)字符數(shù)組未被賦值的元素系統(tǒng)自動將
其賦值為10'。
2.用字符串常量賦初值
C語言中,字符數(shù)組最常見的使用方法是用來處理字符串。用字符串常量來初始化字符數(shù)組重要有如下兩種措
施:
charstr[10]={"astring"};
或charstr[10]="astring";
需要注意:當用字符串常量來初始化字符數(shù)組時,數(shù)組的長度最少要比字符串中的字符個數(shù)多1,所多出的一個
元素用來存儲字符串的結束標志、0;例如要存儲字符串"Hell。",則需要將字符數(shù)組的長度最少設為6。
當然也能夠使用二維數(shù)組來存儲字符串,例如:
chara[3][10]={"china","Japan","USA"};
表白a數(shù)組有三行,每行存儲一個字符串。注意:此時的花括號不能省略。
3.初始化時長度的省略
在給數(shù)組初始化時,也能夠省略數(shù)組的長度,系統(tǒng)自動依照字符個數(shù)計算出數(shù)組的長度。
例如:chars[]="InputThePassword";
此時因為s數(shù)組中存儲的是一個字符串,而字符串中隱含有結束標識V)',因此系統(tǒng)自動確認s數(shù)組長度為18。
再例如:charch[]={'s',t,r,T,'n\'g');此時ch數(shù)組長度為6。
6.3.4字符數(shù)組的輸入輸出
1.字符數(shù)組的輸出
對字符數(shù)組,其輸出控制字符有兩種%C"和"%S"。%C逐一字符輸出字符;%S一次輸出整個字符串。
2.字符數(shù)組的輸入
字符數(shù)組的輸入,假如使用scanf函數(shù),其輸入格式控制字符能夠有兩種形式,即:”%c"和“%s"0%c逐一
字符輸入;%s一次輸入整個字符串。
6.3.5字符串處理函數(shù)
C系統(tǒng)提供的字符串處理函數(shù)一般放string.h頭文獻中,因此若程序中調(diào)用字符串處理函數(shù)時,應在程序的開始
應當寫#include"string.h"預處理命令。
1.字符串輸出函數(shù)puts()
函數(shù)原型:puts(str)
功效:輸出一個字符串,輸出時將1\0'置換成因此,輸出字符串后自動換行。
2.字符串輸入函數(shù)gets()
函數(shù)原型:gets(str)
功效:從鍵盤接收一個字符串直到回車鍵為止,將接收的字符串存入str數(shù)組中。
3.字符串連接函數(shù)strcat()
函數(shù)原型:strcat(str1,str2)
功效:連接兩個字符串,把str2中的字符串連接到st"字符串的背面,成果放在sE數(shù)組中。注意:字符數(shù)組
strl必須足夠大,以便能容納連接后的新字符串。
4.字符串復制函數(shù)strcpy()
函數(shù)原型:strcpy(str1,str2)
功效:將str2中的字符串復制到st"數(shù)組中。注意:字符數(shù)組strl必須足夠大,以便能容納符串str2的內(nèi)容。
5.字符串比較函數(shù)strcmp()
函數(shù)原型:strcmp(str1,str2)
功效:將Stn和str2中的兩個字符串自左向右按照各字符的ASCII碼值逐對進行比較,直到出現(xiàn)不一樣的字符或
遇到,\0,為止。
6.求字符串長度函數(shù)strlen()
調(diào)用格式:strlen(str)
功效:測試字符串長度。函數(shù)值返回值是str中不包括^的字符個數(shù)。
闡明:str能夠是存儲字符串的字符數(shù)組名或字符串常量。
任務七
本章重點:用戶自定義函數(shù)的定義、調(diào)用、申明及返回;函數(shù)調(diào)用時的參數(shù)傳遞;函數(shù)的遞歸調(diào)用;變量作用域
與存儲類別。
本章難點:函數(shù)遞歸調(diào)用、變量存楮類別。
7.1庫函數(shù)
庫函數(shù)是由C語言編譯系統(tǒng)預先定義好的函數(shù),用戶可直接調(diào)用。
使用庫函數(shù)的注意事項:
1.熟知庫函數(shù)的功效
2.合理設置庫函數(shù)的參數(shù)
3.注意返回值的使用
4.程序開頭應用include包括與該庫函數(shù)有關的頭文獻(參見教材附錄)
7.2用戶函數(shù)的定義與調(diào)用
1.函數(shù)定義的一般形式
【格式】類型標識符函數(shù)名(形式參數(shù)表)/*形式參數(shù)能夠沒有,稱為無參函數(shù)*/
(
函數(shù)申明部分;
函數(shù)語句部分;
}
一個函數(shù)即對應一定功效,假如程序中需要執(zhí)行函數(shù)所完成的功效則需對函數(shù)進行調(diào)用,且可進
行數(shù)次調(diào)用。若一個函數(shù)A調(diào)用函數(shù)B,則稱函數(shù)A為主調(diào)函數(shù),函數(shù)B為被調(diào)函數(shù)。
2.函數(shù)的調(diào)用
(1)【格式】函數(shù)名(實參列表)
(2)調(diào)用方式:
獨立函數(shù)語句:函數(shù)調(diào)用單獨作為一個語句使用。
函數(shù)體現(xiàn)式:函數(shù)調(diào)用出目前一個體現(xiàn)式中,要求函數(shù)必須返回一個確定值。
函數(shù)參數(shù):函數(shù)調(diào)用作為另一個函數(shù)的實參,要求函數(shù)必須返回一個確定值。
7.3函數(shù)的參數(shù)和返回值
1.函數(shù)參數(shù)
實參:是調(diào)用被調(diào)函數(shù)時所使用的參數(shù)。
形參:是定義被調(diào)函數(shù)時所使用的參數(shù)。
2.實參加形參間的關系
(1)實參能夠是常量、變量或體現(xiàn)式;形參必須是變量。
(2)實參加形參的類型、個數(shù)應一致,且一一對應。
(3)函數(shù)調(diào)用時,將實參值對應傳遞給形參,而形參有任何變化不會反傳實參。即值的單向傳遞。
3.函數(shù)的返回值
函數(shù)的返回值是函數(shù)調(diào)用的成果,通過return語句帶回主調(diào)函數(shù)。函數(shù)類型決定函數(shù)返回值的類型:假如沒有返
回誼則函數(shù)類型應定義為空類型(viod)o函數(shù)返回時總是返回到主調(diào)函數(shù)的調(diào)用處。
7.4函數(shù)原型
C語言要求在主調(diào)函數(shù)中要對被調(diào)函數(shù)進行申明,即函數(shù)原型.
【格式】函數(shù)類型函數(shù)名(參數(shù)類型1參數(shù)名1,參數(shù)類型2參數(shù)名2,……);
或函數(shù)類型函數(shù)名(參數(shù)類型1,參數(shù)類型2,……);
但如下三種情況允許在主調(diào)函數(shù)中缺省對被調(diào)函數(shù)的申明:
(1)被調(diào)函數(shù)位置在主調(diào)函數(shù)的前面;
(2)被調(diào)函數(shù)的函數(shù)類型為int或char;
(3)函數(shù)申明在所有函數(shù)之前;
7.5函數(shù)的遞歸調(diào)用
一個函數(shù)直接或間接地調(diào)用它自身,稱此函數(shù)為遞歸函數(shù),遞歸函數(shù)的調(diào)用稱為遞歸調(diào)用。遞歸函數(shù)在設置
時應有一個明確的結束遞歸的條件。
7.6變量的作用域和生存期
7.6.1.變量的作用域
1.局部變最:函數(shù)內(nèi)部定義的變最,稱為局部變量。僅在函數(shù)范圍內(nèi)有效。
2.全局變量:困數(shù)外部定義的變量,稱為全局變量。從定義處開始,到程序結束有效。
注意:假如在函數(shù)中局部變量與全局變量重名則屏蔽全局變量,讓局部變量起作用。
7.6.2變量的存儲類別
C語言程序中的變量,按照其存儲方式的不一樣決定了其不一樣的生存期。
1.自動局部變量與靜態(tài)局部變量的區(qū)分:
(1)分派存儲空間不一樣:自動局變分派在動態(tài)存儲區(qū)中,函數(shù)調(diào)用結束釋放空間;靜態(tài)局變分派在靜態(tài)存儲
區(qū)中,函數(shù)調(diào)用結束空間不釋放。
(2)函數(shù)中自動局變初始化,則在每次調(diào)用函數(shù)時都重新分派空間且初始化;而靜態(tài)局變初始化僅在程序編譯
時初始化一次,下次調(diào)用函數(shù)時保存上次調(diào)用結束時的值。
2.全局變量的存儲類別
(1)用extern申明全局變量
擴展全局變量的作用域。
(2)用static申明全局變量
限定全局變量的作用域。
任務八
重點和難點分析:本章簡介了號稱C語言精髓’的重要概念~~指針及其使用技術。指針是C程序中概念最復雜、
使用最靈活而初學者最輕易犯錯的而處埋難點的核心在于學生切實了解各種形式指針的概念及其區(qū)分。
1.變量的指針和指向變量的指針變量
就是變量的地址和用來存儲變量地址的地址變量。
1)指針變量的定義
形式:類型標識符*標識符如:int"pointer;
2)指針變量的引用
兩個有關的運算符:
&取地址運算符&a就代表變量a的地址
*指針運算符*a就代表變量a的值
2.數(shù)組的指針和指向數(shù)組的指針變量
數(shù)組的指針指數(shù)組的起始地址,數(shù)組元素的指針指數(shù)組元素的地址,
1)指向數(shù)組元素的指針變量的定義與賦值
定義和指向變量的指針變量定義相同,c要求數(shù)組名代表數(shù)組的首地址,即第一個數(shù)組元素地址。
2)通過指針引用數(shù)組元素
我為一般引用數(shù)組元素的形式是a此假如用指針能夠這么引用,*(a+i),或定義一個指針變量p,將數(shù)組a的首
地址賦給p,p=a;然后用*(聞)引用。
3)數(shù)組名作函數(shù)參數(shù)
形參數(shù)組和實參數(shù)組之間并不是值傳遞,而是共用同一段地址,因此在函數(shù)調(diào)用過程中假如形參的值發(fā)生變化,
則實參的值也跟著變化。
3.字符串的指針和指向字符串的指針變量
1)字符串的表示形式
c中字符串有兩種表示形式:一個是數(shù)組:charstring[]="llovec!”;
一個是字符指針:char*str="llovecl";
2)字符串指針作函數(shù)參數(shù)
實際上字符串指針就是數(shù)組的首地址。
3)字符指針變量與字符數(shù)組的區(qū)分
①字符數(shù)組由若干元素組成,每個元素存儲一個字符,而字符指針變量只存儲字符串的苜地址,不是整個字
符串
②對數(shù)組初始化要用static,對指針變量不用。
③對字符數(shù)組賦值,只能對各個元素賦值,不能象下面這么:
charstr[14];str="llovec!";
對指針變量能夠,
char*str;str="llovec!”;
④數(shù)組在定義和編譯時分派內(nèi)存單元,而指針變量定義后最佳將其初始化,否則指針變量的值會指向一個不
確定的內(nèi)存段,將會破壞程序。
⑤指針變量的值是能夠變化的,而字符數(shù)組名所代表的字符串首地址卻是不能變化的。
4.函數(shù)的指針和指向函數(shù)的指針變量
一個函數(shù)在編譯時被分派一個入口地址,這個入口地址就稱為函數(shù)的指針。函數(shù)名代表函數(shù)的入口地址,這
一點和數(shù)組同樣。我們能夠用一個指針變量來存儲這個入口地址,然后通過該指針變量調(diào)用函數(shù)。
5.返回指針值的函數(shù)
一個函數(shù)能夠帶回一個整型值、字符值、實型值等,函數(shù)還能夠帶回一個指針型的數(shù)據(jù),即地址。這種函數(shù)
的定義形式如下:
類型標識符*函數(shù)名(參數(shù)表)如:int*a(x,y)返回一個指向整型的指針
6.指針數(shù)組
指引數(shù)組無疑就是數(shù)組元素為指針,定義形式為:類型標識.數(shù)組名[數(shù)組長度]
如:int*p[4],指針數(shù)組多用于存儲若干個字符串的首地址。
7定義結構體類型與結構體變量
7.1結構體類型的定義
了解結構體與數(shù)組的區(qū)分,同一數(shù)組中各元素的類型是一致的,而同一結構體成員的類型能
夠不一樣,且需要依照實際情況定義結構體類型,是一個結構類型<
結構體類型定義格式:
sturct結構體名
{數(shù)據(jù)類型組員名1:
數(shù)據(jù)類型組員名2;
數(shù)據(jù)類型組員名n;
}:
結構體類型是一個結構類型,系統(tǒng)并不為其分派存儲單元。
7.2結構體類型變量的定義
定義了結構體類型后能夠再定義具備該類型的變量,此時系統(tǒng)才為結構體變量分派存儲單元,分派的
存儲單元數(shù)是各組員所占空間之和。定義結構體變量?般有三種形式:
(1)先定義結構體類型,再定義該類型的變量
struct結構體名
{組員表列
}:
struct結構體名變量名表列;
(2)定義結構體類型的同時定義結構體變量。
struct結構體名
(
組員表列
}變量名表列;
(3)直接定義結構體變量。
struct
(組員表列
}變量名表列;
7.2結構體變量的引用和初始化
7.2.1結構體變量的引用
引用形式:結構體變量名.組員名
注意:除同類型結構體變量間可整體賦值外,其他情況需逐一引用結構體變量的各個組員;結構
體類型可嵌套定義,則只能引用最低級的組員。
7.2.2結構體變量的初始化
定義變量時賦初值,用大括號將各組員值括起來,各組員值之間用逗號隔開。
7.3結構體指針
指向結構體變量的指針
定義一個結構體變量Stu和一個同類型的指針變量P,且口=&8人則能夠通過P來訪問結構體中
的各個組員。
一般形式:。結構體指針變量).組員名或結構體指針變量,組員
任務九
本章的重點:C文獻的概念,文獻類型指針,文獻的打開和關閉,文獻的讀寫和定位技術。
難點是:C文獻的概念,常用讀寫函數(shù)。
1.文獻的有關概念
所謂“文獻”是指一組有關數(shù)據(jù)的有序集合。這個數(shù)據(jù)集有一個名稱,叫做文獻名。文獻名由兩部份組成即主名
和擴展名。文獻一般是駐留在外部介質(如磁盤等)上的,在使用時才調(diào)入內(nèi)存中來。從不一樣的角度可對文獻作
不一樣的分類。從用戶的角度看,文獻可分為一般文獻和設備文獻兩種。
2.文獻指針
文獻的重要操作有兩種即讀文獻(從文獻中讀取數(shù)據(jù))和寫文獻(往文獻中存儲數(shù)據(jù))。在C語言中對文獻進行
各種操作通過文獻指針來實現(xiàn)。
定義闡明文獻指針的一般形式為:
FILE*指針變量標識符;
3.文獻的打開與關閉
文獻在進行讀寫操作之前要先打開,使用完成要關閉。在C語言中,文獻操作都是由庫函數(shù)來完成的。在本章內(nèi)
將簡介重要的文獻操作函數(shù)。
①文獻的打開(fopen函數(shù))
fopen函數(shù)用來打開一個文獻,其調(diào)用的?般形式為:
FILE*fopen(char*filename,char*rrode);
闡明:filename是被打開文獻的文獻名,應包括文獻的途徑;
②文獻關閉函數(shù)(fclose函數(shù))
文獻一旦使用完成,應用關閉文獻函數(shù)把文獻關閉,以防止文獻的數(shù)據(jù)丟失等錯誤。
fclose函數(shù)調(diào)用的一般形式是:
fclose(FILE*fp);
4.文獻的讀寫
對文獻的讀和寫是最常用的文獻操作。在C語言中提供了多個文獻讀寫的函數(shù),下面將詳細簡介。使用這些函數(shù)都
要求包括頭文獻stdio.h。
字符讀寫函數(shù)fgetc和fputc
字符讀寫函數(shù)是以字符(字節(jié))為單位的讀寫函數(shù)。每次可從文獻讀出或向文獻寫入一個字符。
①讀字符函數(shù)fgetc
fgetc函數(shù)的功效是從指定的文獻中讀一個字符,函數(shù)調(diào)用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司趣味問答活動方案策劃
- 深度解析(2026)《GBT 26121-2010可曲撓橡膠接頭》(2026年)深度解析
- 2026年浙江省中醫(yī)院、浙江中醫(yī)藥大學附屬第一醫(yī)院招聘136人(第一批)參考筆試題庫附答案解析
- 2025年宣城旌德縣旅發(fā)置業(yè)有限公司招聘2名參考筆試題庫附答案解析
- 2025黑龍江哈爾濱啟航勞務派遣有限公司派遣到哈爾濱工業(yè)大學航天學院空間控制與慣性技術研究中心招聘備考筆試試題及答案解析
- 2025陜西西咸新區(qū)空港第一學校就業(yè)見習招聘8人備考筆試試題及答案解析
- 2025年下半年貴州遵義市市直事業(yè)單位選調(diào)56人參考考試題庫及答案解析
- 2025年昭通市蘋果產(chǎn)業(yè)發(fā)展中心招聘城鎮(zhèn)公益性崗位工作人員(1人)模擬筆試試題及答案解析
- 深度解析(2026)《GBT 25657.2-2010數(shù)控花鍵軸銑床 第2部分:技術條件》(2026年)深度解析
- 2025遼寧沈陽盛京資產(chǎn)管理集團有限公司所屬子公司沈陽華海錕泰投資有限公司所屬子公司招聘5人參考考試試題及答案解析
- 2025版合規(guī)管理培訓與文化深化試卷及答案
- GA 915-2010訊問椅
- 工業(yè)區(qū)位因素與工業(yè)布局教案 高中地理湘教版(2019)必修二
- 籃球英語介紹課件
- 肺結核共45張課件
- 美容崗位職責與標準篇
- 人教版物理八年級上實驗通知單模板
- 保密技術防范試題
- 城市夜景照明設計規(guī)范JGJ T 163-2008
- 設備專業(yè)三查四定標準(參考)
- 汽車標準件手冊
評論
0/150
提交評論