- 相關(guān)推薦
8種C語(yǔ)言基本常用的字符串處理函數(shù)
本文是百分網(wǎng)小編搜索整理的8種基本的常用的字符串處理函數(shù),所有的C語(yǔ)言編譯系統(tǒng)中一般都提供這些函數(shù),以下是小編為大家整理的8種C語(yǔ)言基本常用的字符串處理函數(shù),僅供參考,希望能夠幫助到大家。
1、puts函數(shù)——輸出字符串的函數(shù)
一般的形式為puts(字符串組)
作用:將一個(gè)字符串輸出到終端。如,char一個(gè)string,并賦予初值。調(diào)用puts(string);進(jìn)行字符串的輸出。
2、gets函數(shù)——輸入字符串的函數(shù)
一般的形式:gets(字符數(shù)組)
作用:從終端輸入一個(gè)字符串到字符數(shù)組,并且得到一個(gè)函數(shù)值成為字符數(shù)組的起始地址。
gets(str);
鍵盤(pán)輸入,,,,你懂得。
注意:puts和gets函數(shù)只能輸出或者輸入一個(gè)字符串。
3、strcat函數(shù)——字符串連接函數(shù)
一般的形式:strcat(字符數(shù)組1,字符數(shù)組2);
作用:把兩個(gè)字符串?dāng)?shù)組中字符串連接起來(lái),把字符串2連接到字符串1的后面。
說(shuō)明:字符數(shù)組1必須足夠大,以便容納連接后的新字符串。
4、strcpy/strncpy函數(shù)——字符串復(fù)制函數(shù)
一般形式:strcpy(字符數(shù)組1,字符串2);
作用:將字符串2復(fù)制到字符數(shù)組1中去。
如:char str1[10],str2[]="DongTeng";
strcpy(str1,str2);
執(zhí)行后的結(jié)果為:你懂得
注意:
1. 不能用賦值語(yǔ)句直接將一個(gè)字符串常量或者字符數(shù)組直接給一個(gè)字符數(shù)組。
2. 用strncpy可以賦值指定的位置的字符。strncpy(str1,str2,3);將str2中的第3個(gè)字符復(fù)制到str1中。
5、strcmp函數(shù)——字符串比較函數(shù)
一般形式:strcmp(字符串1,字符串2);
作用:用來(lái)比較兩個(gè)字符串的差異。具有不同的比較規(guī)則。
6、strlen函數(shù)——測(cè)字符串長(zhǎng)度的函數(shù)
一般形式:strlen(字符數(shù)組);
如:char str[10]="DongTeng";
printf("%d",strlen(str));
得到的結(jié)果是:5
7、strlwr函數(shù)——轉(zhuǎn)換為小寫(xiě)的函數(shù)
一般形式:strlwr(字符串);
8、strupr函數(shù)——轉(zhuǎn)換為大寫(xiě)的函數(shù)
一般形式:strupr(字符串)。
拓展
C語(yǔ)言入門(mén)學(xué)習(xí)
什么人需要學(xué)習(xí)C語(yǔ)言?
從51JOB的統(tǒng)計(jì)數(shù)據(jù)來(lái)看,選擇C語(yǔ)言人才的企業(yè)多數(shù)以電子工程師、嵌入式工程師、硬件工程師、IOS工程師等為主,學(xué)歷本科以上相關(guān)專(zhuān)業(yè),三年以上工作經(jīng)驗(yàn),且外語(yǔ)水平要求至少四級(jí)以上。既然C語(yǔ)言學(xué)習(xí)者的就業(yè)門(mén)檻那么高,為什么還有很多人執(zhí)著的去學(xué)習(xí)C語(yǔ)言呢?總結(jié)而言,無(wú)外乎以下幾點(diǎn)原由:
1)C語(yǔ)言不是面向?qū)ο笳Z(yǔ)言。
因?yàn)檫@一點(diǎn),任何學(xué)習(xí)C語(yǔ)言的人必須學(xué)會(huì)用函數(shù)思考問(wèn)題。當(dāng)你真正的去學(xué)習(xí)一門(mén)面向?qū)ο笳Z(yǔ)言時(shí),就會(huì)有C語(yǔ)言的函數(shù)學(xué)習(xí)基礎(chǔ)去對(duì)比。這會(huì)使學(xué)習(xí)面向?qū)ο缶幊谈菀桌斫夂透袠?lè)趣。
2)用C編程就像進(jìn)行智力體操。
你要顧及到每一件事情,而這在很多其他語(yǔ)言中他會(huì)為你處理。你要管理指針,內(nèi)存分配,和內(nèi)存回收。你要明白如何處理串,還有動(dòng)態(tài)數(shù)據(jù)。在其他語(yǔ)言中,所有這些對(duì)你來(lái)說(shuō)是隱藏的。你不知道他們?nèi)绾芜\(yùn)行,更不用說(shuō)改變他們的運(yùn)行方式了。你得到了使用的便利,失卻了對(duì)程序的控制和速度。很多情況下,這是筆值得的買(mǎi)賣(mài)。其他的情況下就不是這樣了。
3)不同情況下你會(huì)使用不同的編程語(yǔ)言。
某些情況下要求使用Lisp,其他的要Java,還有別的要C++。但是C是你堅(jiān)實(shí)的基礎(chǔ)。你可能不會(huì)使用它做一些項(xiàng)目,但是它會(huì)幫助提高你的能力,熟練的用其他語(yǔ)言編程。
4)除了匯編語(yǔ)言之外,C代碼生成的程序比其他任何語(yǔ)言生成的程序來(lái)得更小和運(yùn)行更快。
那么為什么不學(xué)匯編語(yǔ)言呢?匯編是一門(mén)學(xué)了很有用的語(yǔ)言,但是它沒(méi)有C那樣的可移植性,并且其他流行的語(yǔ)言比如JAVA的語(yǔ)法是基于C的,而不是匯編。你仍然應(yīng)該學(xué)匯編,但它并不會(huì)證明它會(huì)像學(xué)C那樣有用。
5)如果你想要寫(xiě)一個(gè)視頻游戲引擎或操作系統(tǒng),你會(huì)需要C。
你不能使用C#, Java, 或 Basic來(lái)完成這些編程任務(wù)。
C語(yǔ)言的發(fā)展史:
C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它由美國(guó)貝爾研究所的D.M.Ritchie于1972年推出,1978年后,C語(yǔ)言已先后被移植到大、中、小及微型機(jī)上,它可以作為工作系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫(xiě)系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫(xiě)不依賴(lài)計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,不僅僅是在軟件開(kāi)發(fā)上,而且各類(lèi)科研都需要用到C語(yǔ)言,適于編寫(xiě)系統(tǒng)軟件,三維,二維圖形和動(dòng)畫(huà),具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開(kāi)發(fā)。
我適合學(xué)習(xí)C語(yǔ)言嗎?
首先我們要認(rèn)清一個(gè)事實(shí):C語(yǔ)言工作者只是眾多從事軟件開(kāi)發(fā)者中的一小部分,在深圳這樣一個(gè)IT企業(yè)云集的大城市,使用其它語(yǔ)言從事軟件開(kāi)發(fā)的工作者多如牛毛,薪資待遇不比從事C語(yǔ)言開(kāi)發(fā)的人低,當(dāng)編程愛(ài)好者在選擇第一個(gè)編程語(yǔ)言時(shí),C語(yǔ)言不一定是首先。我適合學(xué)習(xí)C語(yǔ)言嗎?解決這個(gè)問(wèn)題,先回答以下幾個(gè)問(wèn)題:
1)你學(xué)習(xí)C語(yǔ)言的目的是什么?如果是想從事這方面的工作,那么請(qǐng)義無(wú)反顧的堅(jiān)持下去,推薦你在《微機(jī)原理》、《計(jì)算機(jī)組成原理》和《計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)》三本書(shū)中選一本配合《C語(yǔ)言程序設(shè)計(jì)》來(lái)看,這樣可以融匯貫通,讓你對(duì)編程有更深入更系統(tǒng)化的理解。而這種理解對(duì)計(jì)算機(jī)類(lèi)學(xué)科的學(xué)習(xí)來(lái)說(shuō)很重要。
2)您具備學(xué)習(xí)C語(yǔ)言的條件嗎?由于入職C語(yǔ)言編程的企業(yè)對(duì)入職者的要求比較高,在沒(méi)有編程工作經(jīng)驗(yàn)前提下多數(shù)想通過(guò)自學(xué)進(jìn)入類(lèi)似企業(yè)的人幾乎為零,包括很多計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)的大、中專(zhuān)畢業(yè)生在校期間都會(huì)學(xué)到C語(yǔ)言,畢業(yè)出來(lái)后依然云里霧里。C語(yǔ)言的開(kāi)發(fā),需要在實(shí)際工作中才能快速掌握。同時(shí),英語(yǔ)(從事C語(yǔ)言開(kāi)發(fā)需要經(jīng)常查閱英文資料,尤其是單片機(jī)領(lǐng)域)、學(xué)歷、數(shù)學(xué)算法、極強(qiáng)的邏輯思維能力等等也是讓多數(shù)人望而卻步的門(mén)檻。
C語(yǔ)言入門(mén)知識(shí)
01、要學(xué)習(xí)編程語(yǔ)言,最基本的就要有一臺(tái)電腦。一般配置的就行。
02、然后要有一本基礎(chǔ)的書(shū),像《C語(yǔ)言程序設(shè)計(jì)》這種。
03、當(dāng)你把基礎(chǔ)的看的差不多了,就可以開(kāi)始寫(xiě)一點(diǎn)簡(jiǎn)單的代碼了,比如輸出九九乘法表之類(lèi)的。我學(xué)C語(yǔ)言的時(shí)候用的軟件是 Microsoft Visual C++。
04、其實(shí)C語(yǔ)言還是比較簡(jiǎn)單的,我大一上期學(xué)的,學(xué)了之后像簡(jiǎn)單學(xué)籍管理系統(tǒng),火車(chē)票務(wù)管理系統(tǒng)這些都可以做。C++就難了。
05、學(xué)C語(yǔ)言的話(huà),在寫(xiě)代碼的時(shí)候尤其要認(rèn)真,因?yàn)橛袝r(shí)候一個(gè)標(biāo)點(diǎn)錯(cuò)了程序都會(huì)報(bào)錯(cuò)。
06、在軟件里寫(xiě)下代碼,求的成績(jī)的平均值。
07、寫(xiě)下代碼在彈出的窗體中,彈出一個(gè)大寫(xiě)和小寫(xiě)字母。
C語(yǔ)言函數(shù)的意義
函數(shù)(Function)是一段可以重復(fù)使用的代碼,這是從整體上對(duì)函數(shù)的認(rèn)識(shí)。
C語(yǔ)言本身帶了很多庫(kù)函數(shù),并分門(mén)別類(lèi)地放在了不同的頭文件中,使用時(shí)只要引入對(duì)應(yīng)的頭文件即可。
除了C語(yǔ)言自帶的函數(shù),我們也可以編寫(xiě)自己的函數(shù),稱(chēng)為自定義函數(shù)(User-Defined Function)。自定義函數(shù)和庫(kù)函數(shù)沒(méi)有本質(zhì)的區(qū)別,表現(xiàn)形式和使用方法一樣,只是開(kāi)發(fā)者不同而已。
這一章我們就來(lái)講解如何編寫(xiě)和使用自己的函數(shù)。
參數(shù)
函數(shù)的一個(gè)明顯特征就是使用時(shí)帶括號(hào)( ),必要的話(huà),括號(hào)中還要包含數(shù)據(jù)或變量,稱(chēng)為參數(shù)(Parameter)。參數(shù)是函數(shù)需要處理的數(shù)據(jù),例如:
strlen(str1)用來(lái)計(jì)算字符串的長(zhǎng)度,str1就是參數(shù)。
puts("C語(yǔ)言中文網(wǎng)")用來(lái)輸出字符串,"C語(yǔ)言中文網(wǎng)"就是參數(shù)。
返回值
既然函數(shù)可以處理數(shù)據(jù),那就有必要將處理結(jié)果告訴我們,所以很多函數(shù)都有返回值(Return Value)。所謂返回值,就是函數(shù)的執(zhí)行結(jié)果。例如:
char str1[] = "C Language";
int len = strlen(str1);
strlen() 的處理結(jié)果是字符串 str1 的長(zhǎng)度,是一個(gè)整數(shù),我們通過(guò) len 變量來(lái)接收。
函數(shù)返回值有固定的數(shù)據(jù)類(lèi)型(int、char、float等),用來(lái)接收返回值的變量類(lèi)型要一致。
【8種C語(yǔ)言基本常用的字符串處理函數(shù)】相關(guān)文章:
C語(yǔ)言字符串處理函數(shù)10-09
C語(yǔ)言之字符串處理函數(shù)08-31
C語(yǔ)言的字符串處理函數(shù)strlen()11-02
C語(yǔ)言字符串處理的庫(kù)函數(shù)有哪些06-24
C語(yǔ)言字符串操作函數(shù)及常用的實(shí)現(xiàn)10-10
C語(yǔ)言字符串操作函數(shù)和常用的實(shí)現(xiàn)10-16
C語(yǔ)言的字符串輸出puts()函數(shù)06-23