- 相關(guān)推薦
2017年計(jì)算機(jī)二級(jí)C語言考點(diǎn)歸納
C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。下面是小編整理的關(guān)于計(jì)算機(jī)二級(jí)C語言考點(diǎn)歸納,希望大家認(rèn)真閱讀!
字符串與字符數(shù)組
1.字符數(shù)組的定義
定義方法與前面介紹的類似,只是將數(shù)組定義為字符型即可。例如:
char c〔10〕;
這里定義了一個(gè)包含10個(gè)元素的字符數(shù)組c。
2.字符數(shù)組的初始化
對(duì)字符數(shù)組初始化,可以采用以下方法:
(1)逐個(gè)字符賦給數(shù)組中各元素;
(2)用字符串常量使字符數(shù)組初始化。
3.字符串
在C語言中,字符串是作為字符數(shù)組來處理的,字符串可以存放在字符型一維數(shù)組中,故可以把字符型一維數(shù)組作為字符串變量。
字符串常量是用雙引號(hào)括起來的一串字符。
C語言中約定用′\0′作為字符串的結(jié)束標(biāo)志,它占內(nèi)存空間,但不計(jì)入串的長度,′\0′的代碼值為0。
系統(tǒng)對(duì)字符串常量也自動(dòng)加一個(gè)′\0′作為結(jié)束符。例如〃c language〃共有10個(gè)字符,但在內(nèi)存中占11個(gè)字節(jié),最后一個(gè)字節(jié)存放′\0′。
4.字符數(shù)組的輸入輸出
(1)逐個(gè)字符輸入和輸出
①在標(biāo)準(zhǔn)輸入輸出printf和scanf中使用%c格式描述符;
、谑褂胓etchar和putchar函數(shù)。例如:
for(i=0;i<10;i++)
scanf(〃%c〃,&str〔i〕); /*或str〔i〕=getchar();*/
str〔i〕=′\0′;/*人為加上串結(jié)束標(biāo)志*/
for(i=0;i<10;i++)
printf(〃%c〃,str〔i〕);/*或putchar(str〔i〕);*/
(2)字符串整體輸入輸出
①在標(biāo)準(zhǔn)輸入輸出函數(shù)printf和scanf中使用%s格式描述符;
輸入形式:
char str〔6〕;
scanf(〃%s〃,str);
其中 str為字符數(shù)組名,代表著str字符數(shù)組的起始地址,輸入時(shí)系統(tǒng)自動(dòng)在每個(gè)字符串后加入結(jié)束符′\0′。若同時(shí)輸入多個(gè)字符串,則以空格或回車符分隔。
輸入形式:
printf(〃%s〃,str);
輸字符串時(shí),遇第一個(gè)′\0′即結(jié)束。但可人為控制輸出串所占的域?qū)捜纾?/p>
printf(〃%6s〃,str);/*若字符串中字符多于6個(gè),仍將全部輸出*/
printf(〃%-6s〃,str);/*只輸出前6個(gè)字符,多余的不輸出*/
、谑褂胓ets和puts函數(shù)輸入輸出一行
gets函數(shù)用來從終端鍵盤讀字符,直到遇換行符為止,換行符不屬字符串的內(nèi)容。
調(diào)用形式:
gets(str);
str為字符數(shù)組名或字符指針,字符串輸入后,系統(tǒng)自動(dòng)將′\0′置于串尾代替換行符。若輸入串長超出數(shù)組定義長度時(shí),系統(tǒng)報(bào)錯(cuò)。
Puts函數(shù)用來把字符串的內(nèi)容顯示在屏幕上。
調(diào)用形式:
puts(str);
str的含義同上。輸出時(shí),遇到第一個(gè)′\0′結(jié)束并自動(dòng)換行,字符串中可以含轉(zhuǎn)義字符。
字符串的指針以及指向字符串的指針變量
1.用指針方法實(shí)現(xiàn)一個(gè)字符串的存儲(chǔ)和運(yùn)算
如:
char * strp=〃china〃;
此處定義了一個(gè)字符指針變量strp,變量中存放的是字符串第一個(gè)字符的地址。
C語言對(duì)字符串常量是按字符數(shù)組處理的,它實(shí)際上在內(nèi)存開辟了一個(gè)字符數(shù)組用來存放字符串變量,并把字符串首地址賦給字符指針變量strp。
在輸出時(shí)用
printf(〃%s\n〃,strp);
通過字符數(shù)組名或字符指針變量可以輸出一個(gè)字符串。而對(duì)一個(gè)數(shù)值型數(shù)組,是不能企圖用數(shù)組名輸出它的全部元素的。
2.字符指針變量與字符數(shù)組
雖然用字符數(shù)組和字符指針變量都能實(shí)現(xiàn)字符串的存儲(chǔ)和運(yùn)算,但它們二者之間是有區(qū)別的,不應(yīng)混為一談,主要有以下幾點(diǎn):
(1)字符數(shù)組由若干個(gè)元素組成,每個(gè)元素中放一個(gè)字符,而字符指針變量中存放的是地址(字符串的首地址),決不是將字符串放到字符指針變量中。
(2)對(duì)字符數(shù)組只能對(duì)各個(gè)元素賦值,不能用以下辦法對(duì)字符數(shù)組賦值。
Char str〔14〕;
str=〃I love China!〃;
而對(duì)字符指針變量,可以采用下面方法賦值:
char *a;
a=〃I love China!〃;
但注意賦給a的不是字符,而是字符串的首地址。
(3)賦初值時(shí),對(duì)以下的變量定義和賦初值:
char *a=〃I love China!〃;
等價(jià)于:
char *a;
a=〃I love China!〃;
而對(duì)數(shù)組初始化時(shí):
static char str〔14〕={〃I love China!〃};
不能等價(jià)于
char str〔14〕;
str〔〕={〃I love China!〃};
即數(shù)組可以在變量定義時(shí)整體賦初值,但不能在賦值語句中整體賦值。
(4)在定義一個(gè)數(shù)組時(shí),在編譯時(shí)即已分配內(nèi)存單元,有確定的地址。而定義一個(gè)字符指針變量時(shí),給指針變量分配內(nèi)存單元,在其中可以放一個(gè)地址值,就是說,該指針變量可以指向一個(gè)字符型數(shù)據(jù),但如果未對(duì)它賦予一個(gè)地址值,這時(shí)該指針變量并未具體指向哪一個(gè)字符數(shù)據(jù)。
(5)指針變量的值是可以改變的。
3.字符串處理函數(shù)
C語言中沒有對(duì)字符串進(jìn)行合并、比較和賦值的運(yùn)算符,但幾乎所有版本的C語言中都提供了有關(guān)的庫函數(shù)。例如:
(1)strcat函數(shù):連接兩個(gè)字符數(shù)組中的字符串
(2)strcpy函數(shù):字符拷貝函數(shù)
(3)strcmp函數(shù):字符比較函數(shù)
(4)strlen函數(shù):測試字符串長度的函數(shù)
(5)strlwr函數(shù):將字符串中大寫字母轉(zhuǎn)換成小寫字母
(6)strupr函數(shù):將字符中小寫字母轉(zhuǎn)換成大寫字母
【計(jì)算機(jī)二級(jí)C語言考點(diǎn)歸納】相關(guān)文章:
計(jì)算機(jī)二級(jí)C語言考點(diǎn)盤點(diǎn)03-09
計(jì)算機(jī)等級(jí)考試二級(jí)C語言考點(diǎn)03-08
2017年計(jì)算機(jī)二級(jí)C語言考點(diǎn)03-03
2017年計(jì)算機(jī)二級(jí)C語言考點(diǎn)解析03-06
2017年計(jì)算機(jī)二級(jí)C語言高效考點(diǎn)錦集01-21
2017年計(jì)算機(jī)二級(jí)考試C語言知識(shí)點(diǎn)歸納03-10
計(jì)算機(jī)二級(jí)c語言題庫及答案03-28