计算机二级c语言考试真题汇总.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模拟卷1 1[填空题] 下列给定程序中,函数fun的功能是:在形参S所指字符串中寻找与参数 C相同的字符,并在其后插入一个与 之相同的字符,若找不到相同的字符则不做任何处理。 例如,若s所指字符串为baacda,c中的字符为a,执行后S所指字符串为baaaacdaa”。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得岀正确的结果。 注意:部分源程序给岀如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: 参考解析: 【参考答案】 【解题思路】 填空1: for语句循环条件是判断是否到达字符串结尾,即当前字符是否为’ \0 。 填空2: while语句用以确定字符串的长度,所以变量 n赋初值为0。 填空3:题目要求如果找到与参数 c相同的字符,就在后面插入一个相同的字符,且找到后应该给数组元素赋 值,本题目给岀参数为c。 二、程序修改题 2 [简答题] 下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把 ASCII值大或相 等的字符依次存放到c所指的数组中,形成一个新的字符串。 例如,若主函数中a字符串为“ aBCDeFgH,b字符串为Abed,则c中的字符串应为“ aBcdeFgH。 请改正程序中的错误,使它能得岀正确的结果。 注意:部分源程序在文件 M0DI1.C中,不得增行或删行,也不得更改程序的结构 ! 参考解析: 【参考答案】(1)i nt k=0; (2)while(*p||*q) 【考点分析】 本题考查:变量初始化,需根据题意确定变量含义,然后对其进行初始化操作 ;while循环语句。 【解题思路】 变量k存放数组e的下标,因此应初始化为 0。 while循环语句的循环条件是判断两个字符串是否到达结尾。 三.程序设计题 3 [简答题] 规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中 间的*号不动。 例如,字符串中的内容为:“****a*BC*DEF*G******* ”.删除后,字符串中的内容应当是:“****a*BC*DEF*G”。 在编写函数时,不得使用 c语言提供的字符串函数。 注意:部分源程序在文件 PROG1.C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 参考解析: 【参考答案】 【考点分析】 本题考查:删除字符串尾部+号;删除的主要思想是把不删除的字符保留起来。 【解题思路】 对于一个字符串要删除其尾部的*号,只需要在最后一个不是*号的字符后面加上结束符号‘\0 。具体操作为: 首先找到字符串的结尾,然后从最后一个字符开始往前逐个判断是否为 *号,直到找到非*号字符为止,最后在该字 符后面加上结束符号’\0 。 模拟卷2 、程序填空题 1[填空题] 下列给定程序中,函数fun的功能是:从形参ss所指字符串数组中,删除所有串长超过 k的字符串,函数返 回剩余字符串的个数。ss所指字符串数组中共有 N个字符串,且串长小于 M 请在程序的下划线处填入正确的内容并将下划线删除,使程序得岀正确的结果。 注意:部分源程序在文件 BLANK1.C中。 不得增行或删行,也不得更改程序的结构 ! 参考解析: 【参考答案】(1)N ⑵k (3)ss[i] 【考点分析】 本题考查:for循环语句;if语句条件表达式;字符串拷贝函数strepy的使用。 【解题思路】 填空丨:for循环语句作用是遍历字符串数组中的每一个字符串,所以循环变量 i的循环条件是i 填空2:题目要求删除串长度小于 k的字符串,所以if条件语句的条件表达式是len=k。 填空3:通过字符串拷贝函数将串长不大于 k的字符串另存,并记录个数。 【解题宝典】 字符串拷贝函数strcpy,其格式为:strepy(字符数组名1,字符数组名2) 功能:把字符数组2中的字符串拷贝到字符数组l中。字符串结束标识’\0 也一同拷贝。字符数名 2,也可 以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。 二、程序修改题 2 [简答题] 给定程序M0DI1.C中,函数fun的功能是:判断输入的任何一个正整数 n,是否等于某个连续正整数序列之和。 若是,则输岀所有可能的序列,否则输岀“不能分解”。 例如:当输入 100 时,输岀:100=9+10+11 + 12+13+14+15+16 100=18+19+20+21+22 请改正函数fun中指定部位的错误,使它能得岀正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: 参考解析: 【参考答案】(1)m=n; m=m_c;c++; if(m==0) 【解题思路】 每次循环,程序需要对n执行减去连续的正整数序列 来判断

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档