网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文

2016年计算机二级《C语言》非选择题练习

栏目: 计算机二级 / 发布于: / 人气:1.71W

  一、程序填空题

2016年计算机二级《C语言》非选择题练习

下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长小于N。请在程序的下划线处填人正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!

  二、程序修改题

下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。例如,若给a输入字符串:ABCDEFGKHJK,调用函数后,字符数组b中的内容为:ABC DEF GHI JK。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。

  三、程序设计题

下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。例如,若给a输入字符串:ABCDEFGKHJK,调用函数后,字符数组b中的内容为:ABC DEF GHI JK。请改正程序中的错误,使它能得出正确的`结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。


  【参考答案】

  程序填空题

(1)M

(2)<

(3)k

  【考点分析】

本题考查:for循环语句的循环条件;if语句条件表达式;return语句完成函数值的返回。

  【解题思路】

填空1:题目指出ss所指字符串数组中共有M个字符串,所以for循环语句循环条件是i

填空2:要求求长度最短的字符串,*n中存放的是已知字符串中长度最短的字符串的长度,这里将当前字符串长度与*n比较,若小于*n,则将该长度值赋给*n,因此if语句的条件表达式为len<*n。

填空3:将最短字符串的行下标作为函数值返回,变量k储存行下标的值。

  程序修改题

  【考点分析】

本题考查:指针类型变量作为函数的参数,函数的参数不仅可以是整型、实型、字符型等数据类型,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。

  【解题思路】

(1)题目中P是指针型变量作函数参数,因此绘b[k]赋值时出现错误。

(2)题目要求赋值3个字符后加一个空格,所以应该是先给b[k]赋值空格,然后变量k再加1。

  【解题宝典

C语言中为了表示指针变量和它所指向的变量之间的关系,在程序中用“*”符号表示“指向”,例如,pointer代表指针变量.而*pointer是pointer所指向的变量。

  程序设计题

  【考点分析】

本题考查:结构体类型成员运算,指向结构体类型的指针变量作函数参数。