您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 2018-2019年计算机级C语言10字符串模拟试题
2018-2019年计算机级C语言10字符串模拟试题1[填空题]下面程序的功能是:对字符串从小到大进行排序并输出,请填空。【答案】略【解析】strcmp(a[i],a[i+1])book,6【解析】此程序段的功能是使字符串从大到小进行排列。显然,第一空白处,是利用strcmp函数比较字符串a[i]和a[i+1]的大小,若不符合题意,就进行调换;main函数中,sort函数是对数组book中的字符串按从小到大进行排序,所以第二空白处填入“book,6”(6是指book所指向的字符串的个数)。2[填空题]以下程序用以删除字符串中所有的空格,请填空。【答案】略【解析】s[j]=s[i];j++;【解析】本题中相当于字符串S中存储着含有空格的字符,当发现空格的时候就用这个空格字符后面的字符前移覆盖这个空格字符,依次类推向后继续。因此,应填s[j]s[i];j++;两条语句。3[填空题]若给fun函数的形参S传送字符串:”abe.6354abc”,则函数的返回值是_________。(字符串中包括空格)【答案】略【解析】6354【解析】本题的考查点是函数的返回值。这个函数的目的是提取出由函数的形参传送来的字符串中的数字字符,并通过相应字符位置计算出它们数值形式的幂,最后返回字符串中的数字字符的数值形式,所以函数的返回值应当是“6354”。4[填空题]以下程序的功能是将字符串s中所有小写字母'a'删去,请填空。【答案】略【解析】s[i]!='a'【解析】本题是要将字符串s中所有小写字母'a'删去,所以if语句的判断条件应该是字符串s中的字符和字符'a'不相同的时候,就把它仍然存在原来的数组中,若是和字符'a'相同,就不再保存它。5[单选题]执行以下程序段的输出结果是()。A.0×0B.0×12C.0×0D.0【答案】D【解析】格式字符x或x是以十六进制无符号形式输出整型数(注:输出时不显示前导0x或0X)。6[单选题]设有以下定义和语句:则以下叙述中正确的是()。A.str数组长度和P所指向的字符串长度相等B.*P与str[0]的值相等C.str与P的类型完全相同D.数组str中存放的内容和指针变量P中存放的内容相同【答案】B【解析】P是字符串指针,所指向的字符串为”Program”,其长度为7,而数组str中元素的个数为25,因此选项A)和D)是错误的;p=str;后,指针P指向str的首地址,*P=str[0],因此选项B)是正确的;str是数组,不是指针变量,所以选项c)也是错误的。7[单选题]以下程序的输出结果是()。A.1B.2C.3D.0【答案】B【解析】此程序是统计一周七天中英文名称首字母为”T”的个数,P[i][0]是字符串的首字符,一共有两个”T.因此n=2.8[单选题]下面程序段的运行结果是()。A.8B.12C.4D.7【答案】C【解析】本题考查两个知识点:strlen函数的功能9[单选题]有以下程序:程序运行后的输出结果是()。A.9B.6C.11D.7【答案】B【解析】本题考查的是用于字符串处理的函数。10[单选题]以下程序中函数sCmp的功能是返回形参指针sl和s2所指字符串中较小字符串的首地址。若运行时依次输入:abcd、abba和abc三个字符串,则输出结果是()。A.abcdB.abbaC.abcD.abca【答案】C【解析】main函数将输入的三个字符串存在二维数组str中,并通过两次streW函数调用,将最小的一个字符串复制到string中。abcd、abba、abc中最小的字符串为abba。11[单选题]下述程序的输出结果是()。A.2,2B.1,1C.3,4D.1,2【答案】D【解析】题干中,*(p++)就是数组元素a[O],输出a[0],之后指针P的值加1,**q即是数组元素a[l]。12[单选题]对下述程序的判断中,正确的是()。A.此程序循环接收字符串并输出,直到接收到字符串“theend”为止B.此程序循环接收字符串,接收到字符串“theend”则输出,否则程序终止C.此程序循环接收字符串并输出,直到接收字符串“theend”为止,但因为代码有错误,程序不能正常工作D.此程序循环接收字符串并将其连接在一起,直到接收字符串“theend”为止,输出连接在一起的字符串【答案】A【解析】strcmp(str1,str2)是比较字符串str1和str2,当两字符串相等时,返回值为0,不相等时返回值为非0;所以此段程序的功能是在未接收到字符串“theend”时,读入字符并输出。13[单选题]语句“printf(”a\bhow\’are\’y\\\bou\n”);”的输出结果是()。A.a\bhow\'are\'y\\bouB.a\bhow\’are\’y\bouC.how'are'youD.ahow'are'y\bou【答案】C【解析】“\b”格式符表示退格,功能是将它后面的字母把它前面的字母覆盖,导致“\b”格式符前面的字母不能输出;“\'”格式符表示输出单引号字符;“\\”格式符表示输出反斜线字符。14[单选题]判断字符串s1是否大于字符串s2,应该使用()。A.if(strcmp(s1,s2)0)B.if(s1s2)C.if(strcmp(s2,s1)0)D.iffstrcmp(s1,s2))【答案】C【解析】本题考查字符串比较函数strcmp(),调用形式:strcmp(str+1,str+2),其中str+1、str+2分别是字符串存储区的首地址,函数功能:比较字符串stxl和str2,当str2str2时,返回值为负数;“当strl=str2时,返回0;当str1str2,返回值为正数。注意:不能使用关系运算符比较两个字符串的大小。15[单选题]以下程序:则以下函数调用语句错误的是()。A.k=f(a,b);B.k=add(a,b);C.k=(*f)(a,b);D.k=*f(a,b);【答案】D【解析】D选项中*f(a,b)表示调用后返回一个指向整型数据的地址指针,即该函数的返回值为指针类型,所以不能将其赋值给整形变量k。16[单选题]下述语句中,在字符串s1和s2相等时显示”theyareEqual”的是()。A)if(*s1==*s2)puts(theyareEqual);B)if(!strcmp(s1,s2))puts(theyareEqual);C)if(s1=s2)puts(”theyareEqual”);D)if(strcmp(s1,s2))puts(”theyareEqual”);【答案】B【解析】字符串比较不能用“=”,要用strcmp(s1,s2)函数,字符串s1和s2相等时返回值为0,故!strcmp(s1,s2)=1,条件成立执行后面的语句,输出theyal'gEqual。17[填空题]下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.C中。不得增行或删行,也不得更改程序的结构!【答案】略【解析】(1)M(2)(3)k【考点分析】本题考查:br循环语句的循环条件;if语句条件表达式;return语句完成函数值的返回。【解题思路】填空l:题目指出ss所指字符串数组中共有M个字符串,所以for循环语句循环条件是iM。填空2:要求求长度最短的字符串,*n中存放的是已知字符串中长度最短的字符串的长度,这里将当前字符串长度与*n比较,若小于*n,则将该长度值赋给*n,因此if语句的条件表达式为len*n。填空3:将最短字符串的行下标作为函数值返回,变量k储存行下标的值。
本文标题:2018-2019年计算机级C语言10字符串模拟试题
链接地址:https://www.777doc.com/doc-5433549 .html