




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)實(shí)習(xí)答辯
- 2024廣告設(shè)計師目標(biāo)定義題目試題及答案
- 赤峰語文面試題目及答案
- 2024年廣告設(shè)計師的學(xué)習(xí)內(nèi)容規(guī)劃試題及答案
- 2024年紡織品檢驗(yàn)員模擬題分析試題及答案
- 2024年紡織品設(shè)計師證書考試前沿問題試題及答案
- 安利培訓(xùn)測試題及答案
- 2024年紡織品檢驗(yàn)員考試規(guī)范及要求解讀試題及答案
- 助理廣告師考試背景知識掌握試題及答案
- 圖形認(rèn)識考試題及答案
- 教練技術(shù)三階段講義
- 湖北省中小學(xué)教師高級職稱專業(yè)水平能力測試模擬題(含(附答案))
- GB/T 24924-2010供水系統(tǒng)用彈性密封閘閥
- 演講教學(xué)課件-《龍族》
- 東鵬瓷板幕墻講義xin
- 離婚協(xié)議書免費(fèi)版大全
- 金沂蒙化肥試驗(yàn)田登記表
- 連鎖藥店商圈分析精編版
- 并聯(lián)電容器組的電抗率的選擇
- 隧道反坡排水方案
- 民用航空行業(yè)標(biāo)準(zhǔn)(PPT)
評論
0/150
提交評論