2016年计算机二级《C语言》基础练习题及答案(5)
1[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.10,One*Dream!B.9,One*Dream!C.9,One*WorldD.10,One*World 参考答案:A
参考解析:P是指向二维字符数组第二行One+Dream!的数组指针,所以长度是l0,打印输出的也是该字符串。
2[简答题]编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。
程序运行后,若输入精度0.0005,则程序应输出为3.14…。 注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:
参考解析: 【参考答案】
【考点分析】
本题考查:迭代法求给定多项式的值。迭代算法是让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。需要注意变量的数据类型以及赋初值操作。 【解题思路】
首先应该定义double类型变量,并且赋初值,用来存放多项式的某一项和最后的总和。从第二项开始以后的每一项都是其前面一项乘以n/(2*n+1),程序中用sl来表示
每一项,s表示求和后的结果。需注意sl和s的初值都为1.0,因为循环变量从第二项开始累加。
3[单选题] 软件设计中模块划分应遵循的准则是( )。
A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合 参考答案:B
参考解析:软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能。 4[单选题] 有以下程序:
程序运行后的输出结果是( )。 A.let=4B.m=2C.m=6D.m=5 参考答案:C
参考解析:第一次外循环i的值为l,第一次内循环j的值为3,不满足条件执行in}=i}j即m的值为3;第二次j的值为2,不满足条件执行m·=i*j,即m的值为6;第三次j的值为1,不满足条件执行nl*=i*j,即m的值仍为6。第二次外循环i的值为2,j的值为3,满足条件,执行break语句,跳出循环。
5[单选题] 有以下结构体说明、变量定义和赋值语句:
则以下scanf函数调用语句有错误的是( )。 A.scanf(”%s”,s[0].name); B.scanf(”%d”,&s[0].age); C.scanf(”%c”,&(ps一>sex)); D.scanf(”%d”,ps一>age): 参考答案:D
参考解析:本题考查结构体的相关知识,题目中需要输入一个变量,scanf要求参数为指针,而D选项中ps一>age为一个变量,不是指针,所以错误。 6[单选题] 有三个关系R、S和T如下:
由关系R和S通过运算得到关系T,则所使用的运算为( )。 A.笛卡尔积B.交C.并D.自然连接 参考答案:D
参考解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T关系中的有序组可知R与S进行的是自然连接操作。 7[单选题] 有以下程序: