2016年計算機二級《C語言》操作題練習及答案
一、程序填空題(共18分)
下列給定程序中,函數(shù)fun的功能是:從形參ss所指字符串數(shù)組中,刪除所有串長超過k的字符串,函數(shù)返回剩余字符串的個數(shù)。ss所指字符串數(shù)組中共有N個字符串,且串長小于M。請在程序的下劃線處填人正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
二、程序修改題(共18分)
下列給定程序中函數(shù)fun的功能是:逐個比較p,q所指兩個字符串對應位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的數(shù)組中,形成一個新的字符串。例如,若主函數(shù)中a字符串為“aBCDeFgH”,b字符串為“Abcd”,則c中的字符串應為“aBcdeFgH”。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODI1.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
三、程序設計題(共24分)
規(guī)定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,其功能是:除了字符串前導的*號之外,將串中其他*號全部刪除。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為:“****A*BC*DEF*G*******”,刪除后,字符串中的內(nèi)容應當是:“****ABCDEFG”。注意:部分源程序在文件PROG1.C中。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填人你編寫的若干語句。
參考答案
一、程序填空題
(1)N
(2)k
(3)ss[i]
【考點分析】
本題考查:for循環(huán)語句;if語句條件表達式;字符串拷貝函數(shù)strcpy的使用。
【解題思路】
填空1:for循環(huán)語句作用是遍歷字符串數(shù)組中的每一個字符串,所以循環(huán)變量i的循環(huán)條件是i
填空2:題目要求刪除串長度小于k的字符串,所以if條件語句的條件表達式是len<=k。
填空3:通過字符串拷貝函數(shù)將串長不大于k的字符串另存,并記錄個數(shù)。
【解題寶典】
字符串拷貝函數(shù)strcpy,其格式為:strcpy(字符數(shù)組名1,字符數(shù)組名2)
功能:把字符數(shù)組2中的字符串拷貝到字符數(shù)組1中。字符串結(jié)束標識‘\0’也一同拷貝。字符數(shù)名2.也可以是一個字符串常量。這時相當于把一個字符串賦予一個字符數(shù)組。
二、程序修改題
【參考答案】
(1)int k=0;
(2)while(* p|| * q)
【考點分析】
本題考查:變量初始化,需根據(jù)題意確定變量含義,然后對其進行初始化操作;while循環(huán)語句。
【解題思路】
(1)變量k存放數(shù)組e的下標,因此應初始化為0。
(2)while循環(huán)語句的循環(huán)條件是判斷兩個字符串是否到達結(jié)尾。
三、程序設計題
程序設計題解析:
【考點分析】
本題考查:指針型變量定義;while循環(huán)語句;if語句條件表達式;字符串結(jié)束標識‘\0’。
【解題思路】
函數(shù)fun的功能:除了字符串前導的*號之外,將串中其他*號全部刪除。解答本題,(1)定義一個臨時指針P,初始指向原串首地址;(2)利用循環(huán)語句把字符串前導*號拷貝到原串;(3)繼續(xù)移動指針,把串中和串尾的非*號字符拷貝到原串;(4)為修改后的字符串賦結(jié)束字符‘\0’。
【解題寶典】
要刪除字符串中的指定字符,我們通常采用保留非指定字符的方法?梢詫⒎侵付ㄗ址A粼谠磳⑿枰A舻淖址麖脑钠鹗嘉恢弥匦沦x值;也可以保留到新串,即新建一個字符串,存放要保留的字符。
【計算機二級《C語言》操作題練習及答案】相關文章:
計算機二級C語言上機操作題及答案03-29
2017年計算機二級《C語言》操作題練習02-04
計算機二級《C語言》練習題及答案04-11
計算機二級C語言練習題及答案01-22
2016年計算機二級C語言操作題及答案05-27
計算機二級《C語言》基礎練習題及答案05-11
計算機二級C語言考前練習題及答案03-20
2017計算機二級C語言精選練習題及答案05-24