C語言程序設(shè)計配套教材13課件_第1頁
C語言程序設(shè)計配套教材13課件_第2頁
C語言程序設(shè)計配套教材13課件_第3頁
C語言程序設(shè)計配套教材13課件_第4頁
C語言程序設(shè)計配套教材13課件_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

C語言程序設(shè)計

配套教材:索明何、王正勇、邵瑛等編著多資源、立體化、新形態(tài)教材《C語言程序設(shè)計(第3版)》

機(jī)械工業(yè)出版社,2021ISBN:978-7-111-68127-4

C語言既是通用計算機(jī)軟件設(shè)計的基礎(chǔ)語言,也是當(dāng)前嵌入式軟件設(shè)計的主流語言。

本書特色:任務(wù)驅(qū)動+工作手冊,配套在線課程和微課,C語言知識點(diǎn)描述言簡意賅,例題淺顯易懂,突出模塊化程序設(shè)計思想,注重軟件設(shè)計工程規(guī)范。內(nèi)容組織由簡到難、循序漸進(jìn),靈活采用對比法、類比法、啟發(fā)法、實(shí)驗(yàn)法等多種教學(xué)方法。為了體現(xiàn)C程序模塊化設(shè)計的具體應(yīng)用,給出了基于構(gòu)件化的嵌入式軟件設(shè)計思想、方法和應(yīng)用案例。

本書可作為高等院校電子信息類、計算機(jī)類、自動化類、機(jī)電類專業(yè)的C語言教材,也可供從事嵌入式系統(tǒng)與物聯(lián)網(wǎng)技術(shù)開發(fā)的工程技術(shù)人員參考。第1單元:C語言程序設(shè)計入門第2單元:利用三種程序結(jié)構(gòu)解決簡單問題第3單元:利用數(shù)組處理同類型的批量數(shù)據(jù)第4單元:利用函數(shù)實(shí)現(xiàn)模塊化程序設(shè)計第5單元:靈活使用指針處理問題第6單元:利用復(fù)雜的構(gòu)造類型解決實(shí)際問題第7單元:利用文件進(jìn)行數(shù)據(jù)管理第8單元:嵌入式技術(shù)基礎(chǔ)實(shí)踐入門教學(xué)內(nèi)容:

用來存放字符型數(shù)據(jù)的數(shù)組是字符數(shù)組,字符數(shù)組中的每個元素存放一個字符。在嵌入式網(wǎng)絡(luò)通信軟件設(shè)計中,可用字符數(shù)組存放待發(fā)送或待接收的數(shù)據(jù)。3.3.1定義字符數(shù)組的方法

系統(tǒng)為數(shù)組c分配連續(xù)的10個字節(jié)的內(nèi)存空間,用來存儲10個字符型數(shù)據(jù)。例如:

charc[10];數(shù)組名c代表該數(shù)組的首地址。

任務(wù)3.3利用字符數(shù)組處理多個字符或字符串

3.3.2字符數(shù)組的初始化1、逐個字符賦值法(1)對全部元素賦初值

charc[5]={'a','b','c','d','e'};

結(jié)果:c[0]='a',c[1]='b',c[2]='c',c[3]='d',c[4]='e'。

也可寫成:

charc[]={'a','b','c','d','e'};

(2)對部分元素賦初值

charc[6]={'a','b','c','d','e'};

最后1個元素由系統(tǒng)自動賦空字符'\0'。任務(wù)3.3利用字符數(shù)組處理多個字符或字符串

2、字符串常量賦值法(將字符串常量賦給字符數(shù)組:用數(shù)組處理字符串)也可寫成:charc[]="abcde";

charc[]={"abcde"};

字符串常量"abcde"在內(nèi)存中的存儲:因此,數(shù)組c的長度是6。3.3.2字符數(shù)組的初始化【思考】

下面兩種賦值方式是否有區(qū)別?

①charc[]={'a','b','c','d','e'}; ②charc[]="abcde";

注意:在定義字符數(shù)組之后,不能一次性對整個數(shù)組的所有元素賦值,而只能對數(shù)組的每個元素逐個賦值。例如:char

c[5];//定義數(shù)組c[5]={'a','b','c','d','e'};

//錯誤c[5]="abcd";

//錯誤任務(wù)3.3利用字符數(shù)組處理多個字符或字符串3.3.3字符數(shù)組元素的引用

字符數(shù)組的引用形式與數(shù)值數(shù)組相同,可以引用字符數(shù)組中的一個元素而得到一個字符。【例3.6】字符數(shù)組元素的引用:輸出字符數(shù)組元素的值。

任務(wù)3.3利用字符數(shù)組處理多個字符或字符串【例3.7】字符數(shù)組逐個字符的輸入、輸出。3.3.4字符數(shù)組的輸入、輸出1、用格式符“%c”逐個字符輸入、輸出在輸入字符時,系統(tǒng)將輸入的空格、換行符作為有效字符賦給數(shù)組元素。

任務(wù)3.3利用字符數(shù)組處理多個字符或字符串【例3.8】字符串的格式化輸入、輸出

。

2、用格式符“%s”對整個字符串一次輸入、輸出

(1)用“%s”輸出字符串時,printf函數(shù)中的輸出項是字符數(shù)組名,而不是數(shù)組元素名,并且輸出的字符不包括結(jié)束符'\0'。

(2)用“%s”輸入字符串時,scanf函數(shù)中的地址項是字符數(shù)組名(首地址)。說明:

(3)用scanf函數(shù)輸入字符串時,若輸入空格或換行,系統(tǒng)則認(rèn)為是字符串結(jié)束符'\0'

。在本例,若輸入字符串“abcdef”時,運(yùn)行結(jié)果:

可見,系統(tǒng)只將空格前的字符串“abc”送入數(shù)組str中。那如何將含有空格的字符串送給一個字符數(shù)組呢?——用后續(xù)介紹的gets函數(shù)來實(shí)現(xiàn)。3.3.4字符數(shù)組的輸入、輸出任務(wù)3.3利用字符數(shù)組處理多個字符或字符串【例3.9】多個字符串的格式化輸入、輸出

用scanf函數(shù)輸入多個字符串時,在字符串之間可用空格、換行符或Tab符作分隔。

2、用格式符“%s”對整個字符串一次輸入、輸出3.3.4字符數(shù)組的輸入、輸出任務(wù)3.3利用字符數(shù)組處理多個字符或字符串3.3.5字符串處理函數(shù)C語言提供了字符串的輸入、輸出、合并、修改、比較、轉(zhuǎn)換、復(fù)制、搜索等字符串處理函數(shù)。

其中,字符串輸入函數(shù)和輸出函數(shù),在使用前應(yīng)包含頭文件“stdio.h”;而其他字符串處理函數(shù),在使用前應(yīng)包含頭文件“string.h”。任務(wù)3.3利用字符數(shù)組處理多個字符或字符串1、字符串輸出函數(shù):puts(字符串或字符數(shù)組名)

●將字符串或字符數(shù)組中存放的字符串輸出到顯示終端,并換行。3.3.5字符串處理函數(shù)2、字符串輸入函數(shù):gets(字符數(shù)組名)

●從鍵盤輸入一個字符串(可含空格)到字符數(shù)組中,換行符作為字符串輸入的結(jié)束符。任務(wù)3.3利用字符數(shù)組處理多個字符或字符串3、字符串連接函數(shù):strcat(字符數(shù)組名1,字符串或字符數(shù)組名2)

●將字符串或字符數(shù)組2中的字符串連接到字符數(shù)組1中字符串的后面,結(jié)果放在字符數(shù)組1中,函數(shù)調(diào)用后得到一個函數(shù)值(字符數(shù)組1的地址)。

說明:(1)字符數(shù)組1必須足夠大,以便容納連接后的新字符串。

(2)連接前,兩個字符串的最后都有結(jié)束符標(biāo)志'\0',連接時將字符串1最后的'\0'取消,只在新字符串最后保留'\0'。3.3.5字符串處理函數(shù)任務(wù)3.3利用字符數(shù)組處理多個字符或字符串4、字符串復(fù)制函數(shù):strcpy(字符數(shù)組名1,字符串或字符數(shù)組名2)

●將字符串或字符數(shù)組2中的字符串復(fù)制到字符數(shù)組1中。

說明:(1)字符數(shù)組1的長度必須大于字符串的長度,或不小于字符數(shù)組2的長度,以便容納被復(fù)制的字符串。

(2)字符數(shù)組在定義聲明后,只能用strcpy函數(shù)將一個字符串常量或字符數(shù)組復(fù)制到另一個字符數(shù)組中去。用賦值語句只能將一個字符賦給一個字符變量或字符數(shù)組元素。例如:charc[6];

chard[6]="abcde";在定義字符數(shù)組c之后,若要實(shí)現(xiàn)將字符串常量"abcde"賦給字符數(shù)組c,則:c="abcde";//不合法

c=d;//不合法

strcpy(c,"abcde");strcyp(c,d);//合法

//合法

c[0]='a';c[1]='b';c[2]='c';c[3]='d';c[4]='e';c[5]='\0';//合法

3.3.5字符串處理函數(shù)任務(wù)3.3利用字符數(shù)組處理多個字符或字符串5、字符串比較大小函數(shù):

strcmp(字符數(shù)組名1或字符串1,字符數(shù)組名2或字符串2)

●字符串比較的規(guī)則:對兩個字符串自左至右逐個字符相比較(按ASCII碼值大小比較),直到出現(xiàn)不同的字符或遇到'\0'為止。

(1)如果字符串1=字符串2,則函數(shù)值為0;

(2)如果字符串1>字符串2,則函數(shù)值是一個正整數(shù)1;

(3)如果字符串1<字符串2,則函數(shù)值是一個負(fù)整數(shù)-1。說明:對兩個字符串的比較:if(str1>str2) printf("OK!");if((strcmp(str1,str2)>0) printf("OK!");//不合法

//合法

3.3.5字符串處理函數(shù)任務(wù)3.3利用字符數(shù)組處理多個字符或字符串6、字符串長度測試函數(shù):

strlen(字符串或字符數(shù)組名)

●測試字符串的實(shí)際長度(不包括'\0'在內(nèi))。3.3.5字符串處理函數(shù)任務(wù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論