1[简答题]下列给定程序中函数fun的功能是:将P所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。
例如,若给a输入字符串:“ABCDEFGHIJK”,调用函数后,字符数组b中的内容为:“ABCDEFGHIJK”。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
参考解析:
【参考答案】
(1)b[k]=*p;
(2)b[k]=’’;k++;
【考点分析】
本题考查:指针类型变量作为函数的参数,函数的参数不仅可以是整型、实型、字符型等数据类型,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中。
【解题思路】
(1)题目中P是指针型变量作函数参数,因此给b[k]赋值时出现错误。
(2)题目要求复制三个字符后加一个空格,所以应该是先给b[k]赋值空格,然后变量k再加l。
【解题宝典】 .
c语言中为了表示指针变量和它所指向的变量之间的关系,在程序中用“木”符号表示“指向”,例如,pointer代表指针变量,而+pointer是pointer所指向的变量。
2[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.3B.1C.2D.0
参考答案:A
参考解析:本愿考查位运算符以及相关运算,‘为按位或,&为按位与,部么a'b为3,再与c按位与仍然为3,所以答案为A选项。
3[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.0B.1C.4D.8
参考答案:C
参考解析:m函数中的X为静态局部变量,占用固定的内存单元,下一次调用时仍可保留上次调用时的值。也就是说,如果多次调用fun函数,x的定义只在第一次调用时有效,从第二次调用开始,x的定义相当于不存在,直接使用X的值。主函数中调用两次fun函数t第一次调用:X=1,X=x}2=2,s=2;第二次调用:(直接用上次X的值)x=X·2=4,s=4。因此C选项正确。
4[单选题] 以下选项中能表示合法常量的是( )。
A.1,200B.1.5E2.0C.”\”D.”\007”
参考答案:D
参考解析:A选项中整型常量应表示为1200,不能包含“。”。B选项中E后面的指数必须为整数。C选项中转义字符以“、”开始,若要表示字符“、”,应写为“、、”。
5[单选题] 有两个关系R、S如下:
由关系R通过运算得到关系s,则所使用的运算为( )。
A.选择B.投影C.插入D.连接
参考答案:B
参考解析:投影运算是指对于关系内的域指定可引人新的运算。本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系。所以选择8。
6[单选题] 以下选项中合法的c语言常量是( )。
A.,C—STR’B.2014.1C.”\l.0D.2EK
参考答案:B
参考解析:所谓常量是指在程序运行的过程中,其值不能被改变的量。在C语言中,有整型常量、实型常量、字符常量和字符串常量等类型。选项A是字符串,但使用单引号,错误,选项c,D,为实型常量中指数形式,但指数形式e(E)之前必须是数字,之后必须为整数,错误。故答案为B选项。
7[单选题] 以下结构体类型说明和变量定义中正确的是( )。
参考答案:B
参考解析:本题考查结构体的相关知识,选项A中struct REC后面不能有分号,C选项中typedef struct REC的后面也不能有分号,选项D中REC已经是结构体变量,不能当做结构体类型来使用。
8[单选题] 有以下程序
程序的输出结果是
A.1 5 0B.3 5 7C.1 4 7D.3 6 9
参考答案:B
参考解析:程序首先初始化二维数组X[3][3],然后通过3次for循环,输出x[0][2]、x[1][1]和x[2][0]的值,即3、5、7。因此B选项正确。
9[单选题] 以下选项中,没有编译错误的是
参考答案:A
参考解析:B选项中,不能直接将字符数组名直接赋值给另一个字符数组名。C选项赋值错误,不能将一个字符串常量赋值给一个字符指针。D选项定义stz4时需要定义其长度。
10[简答题]N名学生的成绩已在主函数中放人一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
例如,若学生的成绩是:85 76 69 85 91 72 64 87,则平均分应当是:78.625。注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填人你编写的若干语句。
参考解析:
【考点分析】
本题考查:链表的操作,对链表的主要操作有以下几种:建立链表、结构的查找与输出、插入一个结点、删除一个结点。
【解题思路】
题目要求求链表中数据域的平均值,应首先使用循环语句遍历链表,求各结点数据域中数值的和,再对和求平均分。遍历链表时应定义一个指向结点的指针P,因为“头结点”中没有数值,所以程序中让P直接指向“头结点”的下一个结点,使用语句STREC+P=h÷next。
微信搜索"考试吧"了解更多考试资讯、下载备考资料
相关推荐: