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