版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言程序設(shè)計(jì)項(xiàng)目五汽車銷售數(shù)據(jù)C語(yǔ)言程序設(shè)計(jì)項(xiàng)目三項(xiàng)目五汽車銷售數(shù)據(jù)01顯示某品牌新能源汽車一年的銷售額(一維數(shù)組的輸入與輸出)02求某品牌新能源汽車一年的最高銷售月(一維數(shù)組求最值)03對(duì)某品牌新能源汽車銷售人員業(yè)績(jī)排序(一維數(shù)組排序)04顯示某車企的新能源汽車品牌(字符數(shù)組)05某車企多年銷售統(tǒng)計(jì)(二維數(shù)組)引入:在實(shí)際情況中,我們需要用到漢字或者多個(gè)字符的情況,這時(shí)我們就需要引入字符數(shù)組。04知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
(2)行進(jìn)中的分叉路口任務(wù)目標(biāo)
從鍵盤輸入江蘇省的地級(jí)市,輸出車牌字符。(
A南京市B無(wú)錫市C徐州市D常州市
E蘇州市F南通市)任務(wù)目標(biāo)運(yùn)行截圖如圖5-4-1所示知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
(2)行進(jìn)中的分叉路口一、一維字符數(shù)組與字符串①一維字符數(shù)組數(shù)組元素的類型是字符類型的一維數(shù)組稱為一維字符數(shù)組。定義一個(gè)一維數(shù)組時(shí),如果數(shù)據(jù)類型為char,這就是一個(gè)一維字符數(shù)組。例如:charch[10];定義了一個(gè)名為ch的一維字符數(shù)組,長(zhǎng)度為10,系統(tǒng)為該數(shù)組開辟了10個(gè)連續(xù)的存儲(chǔ)單元,在這里,一個(gè)元素的存儲(chǔ)空間正好為一個(gè)字節(jié),所以系統(tǒng)開辟了10個(gè)連續(xù)的字節(jié)單元,ch為該連續(xù)存儲(chǔ)單元的首地址。可以引用數(shù)組的元素,如ch[0]=’a’;ch[9]=’\n’;等。知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
(2)行進(jìn)中的分叉路口一、一維字符數(shù)組與字符串②字符串
字符串就是一串字符的組合,但它的最后一個(gè)字符必定是’\0’。’\0’是一個(gè)轉(zhuǎn)義字符,它是字符型的“空值”,它的ASCII代碼值為0。’\0’是字符串的結(jié)束標(biāo)志。在C語(yǔ)言中,字符串借助于一維字符數(shù)組來(lái)存放。在存儲(chǔ)時(shí),結(jié)束標(biāo)志’\0’占用存儲(chǔ)空間,但不計(jì)入字符串的實(shí)際長(zhǎng)度。C語(yǔ)言中,字符串是用雙引號(hào)””作為定界符的。在表示字符串時(shí),不需要人為在其末尾加入’\0’。例如,字符串”COMPUTER”不必寫成”COMPUTER\0”,C的編譯系統(tǒng)在處理時(shí)會(huì)自動(dòng)在末尾添加’\0’。一個(gè)字符串在存儲(chǔ)時(shí),會(huì)占用內(nèi)存中一串連續(xù)的存儲(chǔ)空間,它有一個(gè)起始地址。這段連續(xù)的存儲(chǔ)空間實(shí)際中就是一個(gè)一維的字符數(shù)組,只是這個(gè)數(shù)組沒(méi)有名字。所以,在C語(yǔ)言中,字符串被隱含處理成一個(gè)以’\0’結(jié)尾的無(wú)名的一維字符數(shù)組,該字符串就表示內(nèi)存中一串連續(xù)存儲(chǔ)空間的首地址。知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
(2)行進(jìn)中的分叉路口一、一維字符數(shù)組與字符串③一維字符數(shù)組與字符串的區(qū)別一個(gè)一維字符數(shù)組中的每一個(gè)元素都可以存放一個(gè)字符,并且它不限定最后一個(gè)字符應(yīng)該是什么。而在C語(yǔ)言中,有關(guān)字符串的大量操作都與串結(jié)束標(biāo)志’\0’有關(guān),因此,字符串是最后一個(gè)字符必有’\0’的一維字符數(shù)組。當(dāng)一個(gè)一維字符數(shù)組的長(zhǎng)度大于一個(gè)字符串的有效長(zhǎng)度再加1時(shí),該一維字符數(shù)組可以用于存放該字符串。此時(shí),一維字符數(shù)組可以被“看作”是字符串變量。但它又不同于一般的變量,不能把一個(gè)字符串整體賦給一個(gè)數(shù)組。①通過(guò)初始化實(shí)現(xiàn)逐一元素地賦初值,這種方法同給一般數(shù)組賦初值的方式相同。例:charstr[10]={‘s’,’t’,’u’,’d’,’e’,’n’,’t’,’\0’};②賦初值時(shí),直接賦字符串常量例如:charch[8]={“student”};或者省略大括號(hào):charch[8]=“student”;③在執(zhí)行過(guò)程中給一維字符數(shù)組賦字符串前面已經(jīng)講過(guò),不能給一個(gè)數(shù)組整體賦值,對(duì)一維字符數(shù)組同樣如此。只能給數(shù)組元素逐個(gè)賦字符值,最后人為加入串結(jié)束標(biāo)志。例如:charstr[8];str[0]=’s’;str[1]=’t’;str[2]=’u’;str[3]=’d’;str[4]=’e’;str[5]=’n’;str[6]=’7’;str[7]=’\0’;知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
二、將一個(gè)字符串賦給一個(gè)一維字符數(shù)組知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
(2)行進(jìn)中的分叉路口三、字符串的輸入和輸出#include"stdio.h"#defineLEN51 voidmain(){ charch[LEN]; inti=0; scanf("%c",&ch[i]);①用”%c”格式字符逐個(gè)輸入和輸出例如:通過(guò)鍵盤輸入一字符串(以回車結(jié)束,假設(shè)長(zhǎng)度不超過(guò)50),存放于數(shù)組ch中。while((ch[i]!='\n')) { i++; scanf("%c",&ch[i]); } ch[i]='\0'; i=0; while(ch[i]!='\0'){ printf("%c",ch[i]); i++; }}②用”%s”格式整體輸入和輸出例如:charch[20];scanf(“%s”,ch);說(shuō)明:輸入項(xiàng)是一數(shù)組的數(shù)組名,也就是數(shù)組的首地址。功能:從鍵盤輸入一串字符,讀入到以ch開始的存儲(chǔ)單元中,以空格或回車符結(jié)束讀入。printf(“%s”,ch);說(shuō)明:輸出項(xiàng)是一數(shù)組的數(shù)組名,也就是數(shù)組的首地址。功能:輸出以ch為起始地址的存儲(chǔ)單元的內(nèi)容到終端,遇到’\0’時(shí)結(jié)束輸出。知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
三、將一個(gè)字符串賦給一個(gè)一維字符數(shù)組③用字符串輸入(gets)和輸出(puts)函數(shù)實(shí)現(xiàn)字符串的輸入和輸出字符串輸入(gets)和輸出(puts)函數(shù)的定義說(shuō)明在頭文件”stdio.h”中,在程序中若調(diào)用這兩個(gè)函數(shù),必須在程序的開頭加入文件包含命令:#include“stdio.h”知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
三、將一個(gè)字符串賦給一個(gè)一維字符數(shù)組gets函數(shù)實(shí)現(xiàn)輸入調(diào)用形式如下:gets(str)說(shuō)明:str為一確定的地址值,它可以是一個(gè)字符數(shù)組的數(shù)組名,也可以是今后要學(xué)到的已賦值的指針型變量。函數(shù)功能:調(diào)用該函數(shù)時(shí),用戶從鍵盤輸入一個(gè)字符串,以換行符(Enter鍵)作為輸入結(jié)束標(biāo)志;然后將接收到的字符(包括換行符)依次賦給以str為起始地址的存儲(chǔ)單元中,系統(tǒng)自動(dòng)用’\0’來(lái)代替最后的換行符。注意:gets函數(shù)調(diào)用中,空格不作為分隔符,它可以出現(xiàn)在字符串中,這是gets與scanf函數(shù)的主要區(qū)別。例如:charch[20];gets(ch);若輸入:IAM(回車),則在ch中將存入字符串”IAM”,而不是字符串”I”。知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
三、將一個(gè)字符串賦給一個(gè)一維字符數(shù)組puts函數(shù)實(shí)現(xiàn)輸出調(diào)用形式如下:puts(str)說(shuō)明:同gets(str)一樣,str為一確定的地址值。函數(shù)功能:調(diào)用該函數(shù)時(shí),系統(tǒng)從str這一地址開始,依次輸出存儲(chǔ)單元的內(nèi)容,直到遇到第一個(gè)’\0’,系統(tǒng)自動(dòng)將’\0’轉(zhuǎn)換成一個(gè)換行符輸出,并結(jié)束輸出。注意:puts函數(shù)輸出結(jié)束后換行,而printf函數(shù)輸出結(jié)束后并不自動(dòng)換行。知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
三、將一個(gè)字符串賦給一個(gè)一維字符數(shù)組C語(yǔ)言有關(guān)字符的函數(shù)分為字符串函數(shù)和字符函數(shù)兩類,分別包含于頭文件“string.h”及頭文件“ctype.h”中。常用的字符串函數(shù)如表5-4-1所示,常用的字符函數(shù)如表5-4-2所示知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
四、常用字符串和字符函數(shù)知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
四、常用字符串和字符函數(shù)知識(shí)儲(chǔ)備C語(yǔ)言程序設(shè)計(jì)
四、常用字符串和字符函數(shù)任務(wù)分析與實(shí)踐C語(yǔ)言程序設(shè)計(jì)(1)樹生長(zhǎng)程中的分叉
程序代碼#include"stdio.h"#include"string.h"voidmain(){charlicense_plate[8];printf("請(qǐng)輸入地級(jí)市");gets(license_plate);if(strcmp(license_plate,"南京市")==0)printf("A南京市");elseif(strcmp(license_plate,"無(wú)錫市")==0)printf("B無(wú)錫市");elseif(strcmp(license_plate,"蘇州市")==0)printf("E蘇州市");elseif(strcmp(license_plate,"南通市")==0)printf("F南通市");elseprintf("輸入有誤或者無(wú)記錄");}
項(xiàng)目五任務(wù)四C語(yǔ)言程序設(shè)計(jì)
(2)行進(jìn)中的分叉路口(1)樹生長(zhǎng)程中的分叉典型案例1典型案例1:從鍵盤輸入某輛車的車架號(hào),并輸出車架號(hào)。算法過(guò)程:1.定義字符串2.輸入字符串3.輸出字符串
項(xiàng)目五任務(wù)四C語(yǔ)言程序設(shè)計(jì)
(2)行進(jìn)中的分叉路口(1)樹生長(zhǎng)程中的分叉典型案例1典型案例1:從鍵盤輸入某輛車的車架號(hào),并輸出車架號(hào)。#include"stdio.h"voidmain(){charvin[18];printf("請(qǐng)輸入車架號(hào):");gets(vin);printf("車架號(hào)為");puts(vin);}
項(xiàng)目五任務(wù)四C語(yǔ)言程序設(shè)計(jì)
(2)行進(jìn)中的分叉路口(1)樹生長(zhǎng)程中的分叉典型案例2從鍵盤輸入某輛車的車架號(hào),并求長(zhǎng)度,判斷是否滿足車架號(hào)的長(zhǎng)度。(車架長(zhǎng)度17)典型案例2運(yùn)行截圖如圖5-4-3所示算法過(guò)程1.定義字符串2.輸入車架號(hào)3.求車架長(zhǎng)度4判斷項(xiàng)目五任務(wù)四C語(yǔ)言程序設(shè)計(jì)
(2)行進(jìn)中的分叉路口(1)樹生長(zhǎng)程中的分叉典型案例2從鍵盤輸入某輛車的車架號(hào),并求長(zhǎng)度,判斷是否滿足車架號(hào)的長(zhǎng)度。(車架長(zhǎng)度17)典型案例2運(yùn)行截圖如圖5-4-3所示#include"stdio.h"voidmain(){charvin[18],i=0,len=0;printf("請(qǐng)輸入車架號(hào):");scanf("%s",vin);while(vin[i]!='\0'){len++;i++;}
if(len==17)printf("滿足車架號(hào)的長(zhǎng)度!");elseprintf("車架號(hào)長(zhǎng)度有誤!");}項(xiàng)目五任務(wù)四C語(yǔ)言程序設(shè)計(jì)
(2)行進(jìn)中的分叉路口(1)樹生長(zhǎng)程中的分叉典型案例3從鍵盤輸入某輛車的車架號(hào),再次輸入車架號(hào),判斷第二次和第一次輸入的車牌是否相等,相等顯示兩次車架號(hào)輸入一致,不相等顯示兩次車牌輸入不一致。算法過(guò)程1.定義變量2.輸入車架號(hào)3.判別
項(xiàng)目五任務(wù)四C語(yǔ)言程序設(shè)計(jì)
(2)行進(jìn)中的分叉路口(1)樹生長(zhǎng)程中的分叉典型案例3從鍵盤輸入某輛車的車架號(hào),再次輸入車架號(hào),判斷第二次和第一次輸入的車牌是否相等,相等顯示兩次車架號(hào)輸入一致,不相等顯示兩次車牌輸入不一致。if(strcmp(vin,vin2)==0)printf("兩次輸入車架號(hào)一致!");elseprintf("兩次輸入車架號(hào)不一致!");}#include"stdio.h"#include"string.h"voidmain(){charvin[20],vin2[20];inti=0,flag=0; printf("請(qǐng)輸入車架號(hào):");gets(vin);printf("請(qǐng)?jiān)俅屋斎胲嚰芴?hào):"
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年安全風(fēng)險(xiǎn)評(píng)估制度和事故隱患排查制度范本(三篇)
- 2024年合伙經(jīng)營(yíng)協(xié)議范文(二篇)
- 2024年學(xué)校衛(wèi)生工作總結(jié)參考樣本(四篇)
- 2024年幼兒園大班計(jì)劃樣本(二篇)
- 2024年小學(xué)生寒假學(xué)習(xí)計(jì)劃例文(四篇)
- 2024年司機(jī)年終工作總結(jié)例文(三篇)
- 2024年商品房產(chǎn)購(gòu)銷合同例文(二篇)
- 2024年學(xué)校安全責(zé)任追究制度范例(二篇)
- 2024年小學(xué)少先隊(duì)工作總結(jié)參考范本(四篇)
- 2024年小學(xué)音樂(lè)教學(xué)計(jì)劃樣本(二篇)
- 幼兒園園長(zhǎng)的教師隊(duì)伍建設(shè)與管理
- 電力行業(yè)網(wǎng)絡(luò)安全
- WORD操作技巧深度練習(xí)(20題)
- 提升員工營(yíng)銷能力的企業(yè)教育培訓(xùn)
- 大學(xué)生社團(tuán)對(duì)大學(xué)生的影響的社會(huì)調(diào)查報(bào)告
- 麻醉科臨床診療指南2020版
- 馬自達(dá)3昂克賽拉說(shuō)明書
- 事業(yè)單位考試公文寫作相關(guān)試題
- 全國(guó)教育科學(xué)規(guī)劃課題申報(bào)書:67.《港澳臺(tái)大中小學(xué)生國(guó)情教育高質(zhì)量發(fā)展研究》
- 搪瓷鋼板安裝技術(shù)
- 某衛(wèi)生院安全生產(chǎn)事故隱患排查治理制度
評(píng)論
0/150
提交評(píng)論