C語言字符串處理技巧及試題及答案_第1頁
C語言字符串處理技巧及試題及答案_第2頁
C語言字符串處理技巧及試題及答案_第3頁
C語言字符串處理技巧及試題及答案_第4頁
C語言字符串處理技巧及試題及答案_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言字符串處理技巧及試題及答案姓名:____________________

一、單項(xiàng)選擇題(每題2分,共10題)

1.以下關(guān)于C語言字符串的描述,正確的是()。

A.字符串以空格結(jié)尾

B.字符串的長度固定

C.字符串可以包含任何字符,包括控制字符

D.字符串不能包含空字符

2.以下關(guān)于C語言字符串的初始化,正確的是()。

A.charstr[]="Hello";

B.charstr="World";

C.char*str="Hello";

D.charstr[5]="Hello";

3.以下關(guān)于C語言字符串比較函數(shù),正確的是()。

A.strcmp(s1,s2)比較s1和s2,如果s1等于s2,返回0。

B.strcasecmp(s1,s2)比較s1和s2,忽略大小寫,如果s1等于s2,返回0。

C.strncmp(s1,s2,n)比較s1和s2的前n個(gè)字符,如果s1等于s2,返回0。

D.allstr(s1,s2)比較s1和s2,如果s1大于s2,返回正數(shù)。

4.以下關(guān)于C語言字符串拷貝函數(shù),正確的是()。

A.strcpy(s1,s2)拷貝s2到s1,包括空字符。

B.strcopy(s1,s2)拷貝s2到s1,不包括空字符。

C.strncopy(s1,s2,n)拷貝s2的前n個(gè)字符到s1。

D.strcopy(s1,s2,n)拷貝s2到s1,不包括空字符。

5.以下關(guān)于C語言字符串連接函數(shù),正確的是()。

A.strcat(s1,s2)將s2連接到s1的末尾。

B.strappend(s1,s2)將s2連接到s1的末尾。

C.strncat(s1,s2,n)將s2的前n個(gè)字符連接到s1的末尾。

D.strappend(s1,s2,n)將s2的前n個(gè)字符連接到s1的末尾。

6.以下關(guān)于C語言字符串查找函數(shù),正確的是()。

A.strchr(s,c)查找s中第一次出現(xiàn)的字符c。

B.strfind(s,c)查找s中第一次出現(xiàn)的字符c。

C.strrchr(s,c)查找s中最后一次出現(xiàn)的字符c。

D.strlast(s,c)查找s中最后一次出現(xiàn)的字符c。

7.以下關(guān)于C語言字符串替換函數(shù),正確的是()。

A.strreplace(s,c1,c2)將s中所有字符c1替換為c2。

B.strreplace(s,c1,c2)將s中所有字符c1替換為c2,忽略大小寫。

C.strreplac(s,c1,c2,n)將s中前n個(gè)字符c1替換為c2。

D.strreplac(s,c1,c2,n)將s中所有字符c1替換為c2,忽略大小寫。

8.以下關(guān)于C語言字符串反轉(zhuǎn)函數(shù),正確的是()。

A.strreverse(s)反轉(zhuǎn)字符串s。

B.strinvert(s)反轉(zhuǎn)字符串s。

C.strreverse(s,n)反轉(zhuǎn)字符串s的前n個(gè)字符。

D.strinvert(s,n)反轉(zhuǎn)字符串s的前n個(gè)字符。

9.以下關(guān)于C語言字符串大小寫轉(zhuǎn)換函數(shù),正確的是()。

A.strlower(s)將字符串s轉(zhuǎn)換為小寫。

B.strlower(s)將字符串s轉(zhuǎn)換為大寫。

C.strupper(s)將字符串s轉(zhuǎn)換為小寫。

D.strupper(s)將字符串s轉(zhuǎn)換為大寫。

10.以下關(guān)于C語言字符串長度函數(shù),正確的是()。

A.strlen(s)返回字符串s的長度,不包括空字符。

B.strlength(s)返回字符串s的長度,包括空字符。

C.strlen(s)返回字符串s的長度,包括空字符。

D.strlength(s)返回字符串s的長度,不包括空字符。

二、多項(xiàng)選擇題(每題3分,共10題)

1.在C語言中,以下哪些函數(shù)用于處理字符串?()

A.strlen()

B.strcpy()

C.strcat()

D.malloc()

E.free()

2.以下哪些函數(shù)可以用來比較兩個(gè)字符串?()

A.strcmp()

B.strncmp()

C.strcasecmp()

D.strstr()

E.strtok()

3.以下哪些函數(shù)可以用來查找字符串中的子串?()

A.strchr()

B.strstr()

C.strtok()

D.strcspn()

E.memchr()

4.以下哪些函數(shù)可以用來分割字符串?()

A.strtok()

B.strsplit()

C.strspn()

D.strcspn()

E.memchr()

5.以下哪些函數(shù)可以用來刪除字符串中的字符?()

A.strreplace()

B.strdelete()

C.strremove()

D.strtrim()

E.strltrim()

6.以下哪些函數(shù)可以用來復(fù)制字符串?()

A.strcpy()

B.strncpy()

C.strlcpy()

D.memcpy()

E.memmove()

7.以下哪些函數(shù)可以用來連接字符串?()

A.strcat()

B.strncat()

C.strlcat()

D.strcat()

E.memcat()

8.以下哪些函數(shù)可以用來反轉(zhuǎn)字符串?()

A.strreverse()

B.strinvert()

C.strreverse()

D.strinvert()

E.memreverse()

9.以下哪些函數(shù)可以用來轉(zhuǎn)換字符串的大小寫?()

A.strlower()

B.strupper()

C.strswap()

D.strcase()

E.strswap()

10.以下哪些函數(shù)可以用來獲取字符串中指定位置的字符?()

A.strchar()

B.strchr()

C.strindex()

D.strfind()

E.strat()

三、判斷題(每題2分,共10題)

1.C語言中的字符串以空字符('\0')結(jié)尾。()

2.使用strlen()函數(shù)可以計(jì)算字符串的實(shí)際長度,包括空字符在內(nèi)。()

3.strcpy()函數(shù)可以安全地復(fù)制任何長度的字符串。()

4.strcat()函數(shù)會(huì)將源字符串追加到目標(biāo)字符串的末尾,包括空字符在內(nèi)。()

5.strstr()函數(shù)可以找到字符串中第一次出現(xiàn)的子串,如果找到則返回子串的指針。()

6.strtok()函數(shù)用于分割字符串,并使用空字符作為分隔符。()

7.C語言中,可以使用malloc()函數(shù)動(dòng)態(tài)分配內(nèi)存來存儲(chǔ)字符串。()

8.strcasecmp()函數(shù)會(huì)忽略字符串中的大小寫差異進(jìn)行比較。()

9.free()函數(shù)可以釋放由malloc()、calloc()或realloc()分配的內(nèi)存。()

10.strlcat()函數(shù)用于連接兩個(gè)字符串,并且可以確保目標(biāo)緩沖區(qū)不會(huì)溢出。()

四、簡答題(每題5分,共6題)

1.簡述C語言中字符串與字符數(shù)組的主要區(qū)別。

2.解釋C語言中字符串比較函數(shù)strcmp()和stricmp()的區(qū)別。

3.如何使用strtok()函數(shù)分割字符串?

4.簡述C語言中字符串長度函數(shù)strlen()和strnlen()的區(qū)別。

5.如何使用strncpy()函數(shù)安全地復(fù)制字符串?

6.解釋C語言中字符串連接函數(shù)strcat()和strncat()的區(qū)別。

試卷答案如下

一、單項(xiàng)選擇題答案及解析思路

1.C.字符串可以包含任何字符,包括控制字符。

解析思路:選項(xiàng)A錯(cuò)誤,字符串以空字符'\0'結(jié)尾;選項(xiàng)B錯(cuò)誤,字符串長度可變;選項(xiàng)D錯(cuò)誤,字符串以空字符結(jié)尾。

2.C.char*str="Hello";

解析思路:選項(xiàng)A錯(cuò)誤,str應(yīng)為字符數(shù)組;選項(xiàng)B錯(cuò)誤,str應(yīng)為字符數(shù)組;選項(xiàng)D錯(cuò)誤,長度不正確。

3.C.strncmp(s1,s2,n)比較s1和s2的前n個(gè)字符,如果s1等于s2,返回0。

解析思路:選項(xiàng)A錯(cuò)誤,返回0表示s1等于s2;選項(xiàng)B錯(cuò)誤,strcasecmp忽略大小寫;選項(xiàng)D錯(cuò)誤,沒有此函數(shù)。

4.A.strcpy(s1,s2)拷貝s2到s1,包括空字符。

解析思路:選項(xiàng)B錯(cuò)誤,strcopy不是標(biāo)準(zhǔn)函數(shù);選項(xiàng)C錯(cuò)誤,strncopy不是標(biāo)準(zhǔn)函數(shù);選項(xiàng)D錯(cuò)誤,strcopy不包括空字符。

5.A.strcat(s1,s2)將s2連接到s1的末尾。

解析思路:選項(xiàng)B錯(cuò)誤,strappend不是標(biāo)準(zhǔn)函數(shù);選項(xiàng)C錯(cuò)誤,strncat不是標(biāo)準(zhǔn)函數(shù);選項(xiàng)D錯(cuò)誤,strappend不是標(biāo)準(zhǔn)函數(shù)。

6.A.strchr(s,c)查找s中第一次出現(xiàn)的字符c。

解析思路:選項(xiàng)B錯(cuò)誤,strfind不是標(biāo)準(zhǔn)函數(shù);選項(xiàng)C錯(cuò)誤,strrchr查找最后一次出現(xiàn);選項(xiàng)D錯(cuò)誤,strlast不是標(biāo)準(zhǔn)函數(shù)。

7.A.strreplace(s,c1,c2)將s中所有字符c1替換為c2。

解析思路:選項(xiàng)B錯(cuò)誤,strreplace忽略大小寫;選項(xiàng)C錯(cuò)誤,strreplac不是標(biāo)準(zhǔn)函數(shù);選項(xiàng)D錯(cuò)誤,strreplac忽略大小寫。

8.A.strreverse(s)反轉(zhuǎn)字符串s。

解析思路:選項(xiàng)B錯(cuò)誤,strinvert不是標(biāo)準(zhǔn)函數(shù);選項(xiàng)C錯(cuò)誤,strreverse不是標(biāo)準(zhǔn)函數(shù);選項(xiàng)D錯(cuò)誤,strinvert不是標(biāo)準(zhǔn)函數(shù)。

9.A.strlower(s)將字符串s轉(zhuǎn)換為小寫。

解析思路:選項(xiàng)B錯(cuò)誤,strlower不是標(biāo)準(zhǔn)函數(shù);選項(xiàng)C錯(cuò)誤,strupper轉(zhuǎn)換為大寫;選項(xiàng)D錯(cuò)誤,strupper不是標(biāo)準(zhǔn)函數(shù)。

10.A.strlen(s)返回字符串s的長度,不包括空字符。

解析思路:選項(xiàng)B錯(cuò)誤,strlength包括空字符;選項(xiàng)C錯(cuò)誤,strlen包括空字符;選項(xiàng)D錯(cuò)誤,strlength不包括空字符。

二、多項(xiàng)選擇題答案及解析思路

1.A,B,C,D.strlen(),strcpy(),strcat(),malloc(),free()

解析思路:strlen()計(jì)算長度,strcpy()拷貝,strcat()連接,malloc()分配內(nèi)存,free()釋放內(nèi)存。

2.A,B,C.strcmp(),strncmp(),strcasecmp()

解析思路:這三個(gè)函數(shù)都用于比較字符串。

3.A,B.strchr(),strstr()

解析思路:這兩個(gè)函數(shù)用于查找字符串中的子串。

4.A,B,C,D.strtok(),strsplit(),strspn(),strcspn()

解析思路:這些函數(shù)都可以用來分割字符串。

5.A,B,C,D.strreplace(),strdelete(),strremove(),strtrim()

解析思路:這些函數(shù)都可以用來刪除字符串中的字符。

6.A,B,C,D.strcpy(),strncpy(),strlcpy(),memcpy()

解析思路:這些函數(shù)都可以用來復(fù)制字符串。

7.A,B,C.strcat(),strncat(),strlcat()

解析思路:這些函數(shù)都可以用來連接字符串。

8.A,B.strreverse(),strinvert()

解析思路:這些函數(shù)都可以用來反轉(zhuǎn)字符串。

9.A,B.strlower(),strupper()

解析思路:這兩個(gè)函數(shù)用于轉(zhuǎn)換字符串的大小寫。

10.A,B,C,D.strchar(),strchr(),strindex(),strfind()

解析思路:這些函數(shù)都可以用來獲取字符串中指定位置的字符。

三、判斷題答案及解析思路

1.對(duì)。

解析思路:字符串以空字符'\0'結(jié)尾。

2.錯(cuò)。

解析思路:strlen()不包括空字符。

3.對(duì)。

解析思路:strcpy()可以安全地復(fù)制任何長度的字符串。

4.對(duì)。

解析思路:strcat()會(huì)將源字符串追加到目標(biāo)字符串的末尾,包括空字符在內(nèi)。

5.對(duì)。

解析思路:strstr()會(huì)返回子串的指針。

6.錯(cuò)。

解析思路:strtok()使用分隔符來分割字符串。

7.對(duì)。

解析思路:malloc()用于動(dòng)態(tài)分配內(nèi)存。

8.對(duì)。

解析思路:strcasecmp()忽略大小寫。

9.對(duì)。

解析思路:free()可以釋放動(dòng)態(tài)分配的內(nèi)存。

10.對(duì)。

解析思路:strlcat()可以確保目標(biāo)緩沖區(qū)不會(huì)溢出。

四、簡答題答案及解析思路

1.字符串是特殊的字符數(shù)組,以空字符'\0'結(jié)尾;字符數(shù)組是普通數(shù)組,可以存儲(chǔ)任意字符序列。

解析思路:區(qū)分字符串和字符數(shù)組的基本特性。

2.strcmp()和stricmp()都是比較字符串的函數(shù),但strcmp()區(qū)分大小寫,而stricmp()不區(qū)分大小寫。

解析思路:理解兩個(gè)函數(shù)的參數(shù)和返回值。

3.使用strtok()函數(shù)時(shí),首先調(diào)用一次strtok()來初始化字符串,然后使用strtok()來遍歷字符串,每次調(diào)用都會(huì)返回下一個(gè)子串。

解析思路:了解strtok()函

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論