您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 2016年计算机二级《C语言》精选练习题及答案
2016年计算机二级《C语言》精选练习题及答案(3)1[单选题]下面关于“EOF”的叙述,正确的是A.EOF的值等于0B.EOF是在库函数文件中定义的符号常量C.文本文件和二进制文件都可以用EOF作为文件结束标志D.对于文本文件,fgetc函数读入最后一个字符时,返回值是EOF参考答案:B参考解析:在c语言中,或更精确地说成c标准函数库中表示文件结束符(endoffile)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志。2[单选题]若有定义:inta,h;通过语句:scanf(”%d;%d”,&a,&B.;,能把整数3赋给变量a,5赋给变量b的输入数据是()。A.35B.3,5C.3;5D.35参考答案:C参考解析:输入数据的格式必须与seanf()的格式控制串完全匹配,所以输入时必须在3和5之间输入“;”。3[单选题]有以下程序:程序运行后的输出结果是()。A.02356B.0235C.235D.2356参考答案:C参考解析:k的值为5,逐个对caBe语句进行匹配,均不匹配,执行default下的语句n=0;k一一。再执行case2:ca804:后面的语句n+=2;k一一;。执行break语句跳出switch判断,打印n的值,即2。经过第一次循环后,k的值为3,然后进行k0&&ll5条件判断为真。第二次执行循环体,执行case3:后面的语句n+=1;k一一;。再执行break语句跳出循环,此时打印n的值3,此时k的值为2。第三次执行循环体k的值为2,满足条件,执行case2:case4:后面的语句n+=2;k一一;。执行break语句跳出循环体。打印n的值5。此时n不满足条件k0&&n5,所以结束循环。整个程序的打印结果为235。4[单选题]有以下程序:程序运行后的输出结果是()。A.9B.8C.7D.10参考答案:A参考解析:题目中静态局部变量a,在静态存储区内分配存储单元,在程序整个运行期间都不释放。所以第-次调用函数执行n+=a++;时a先与n相加在再进行自增。n的值为4,a的值为2,且a变量执行完后空间没有释放。再执行s:。+f(a)时,s的值为4,调用f(a)函数时n的返回值为n=3+2=5,且此时a的值为3了。所以s的值为9。5[单选题]若有以下程序则程序的输出结果是A.abedB.ABEJC.abejD.ABCD参考答案:C参考解析:若有以下程序该题目首先初始化变量a和b,通过for循环语句使a取值为0、1、2、3,f函数的功能是将a*a+a的值返回给b,即b为a…bej。最后通过字符输出函数putchar()将b输出。因此C选项正确。6[单选题]有以下程序程序运行后的输出结果是A.0.000000B.0.250000C.0.500000D.1.000000参考答案:C参考解析:本题重点考查if语句,变量x和Y均为double类型,由于变量x赋值为2.0,因此执行if((x5.0)&&(!x)),即条件为0,继续执行if(x10.0),条件为1,即执行Y=1.0/x;。依据printf()函数输出类型中f是以小数形式输出单、双精度实数。因此c选项正确。7[单选题]若有以下程序段则程序段的输出结果是()A.5.170000B.5.175000C.5.169000D.5.168000参考答案:C参考解析:本题考查强制类型转换与输出格式。%f的输出格式是以带小数点的数学形式输出浮点数。首先计算x*1000,结果为5168.94然后+0.5,结果为5169.44。然后进行强制类型转换,转换成整型为5169,然后除以双精度数据1000,结果也为双精度数据5.169,输出时按照%f的格式输出,所以输出结果为5.169000。8[单选题]以下叙述错误的是()。A.一个算法所包含的操作步骤应该是有限的B.任何能通过编译和运行的算法都一定能得到所期望的结果C.算法中每一条指令必须有确切的含义D.算法可以用各种描述方法来进行描述参考答案:B参考解析:算法的特点:零个或多个输入,至少一个输出,可行性(能编程实现),有穷性(有限步出结果),确定性(描述不能有歧义)。可知选项A,c,D正确。c语言中。通过编译,可以运行的程序,不一定符合题目的本意,因此即使可以运行得到结果,也不一定和预期的结果一样,否则就不需要调试和修改程序了,故B选项错误。答案为B选项。9[填空题]给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在BLANKl.C中。不得增行或删行,也不得更改程序的结构!试颖程序.参考解析:(1)a=0,b=0,k(2)(k!=O)(3)scanf(”%d”,&k)【考点分析】主要考察考生对循环结构的理解。【解题思路】填空1:a=0,b=0,k下面的scanf函数用到变量k,需要提前定义,在while循环中使用了临时存放正负数个数的变量a,b,因此也要提前定义。填空2:(k!=0)根据题意,输入0时结束程序,因此当k!=0时进入循环记录正负数的个数。填空3:scanf(”%d“,&k)需要不断从终端输入整数,因此在循环体内添加输入操作。10[简答题]学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,请编写函数fun,其功能是:把分数最低的学生数据放入b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数:注意:部分源程序在文件PROGl.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数flm的花括号中填入你编写的若干语句。参考解析:【考点分析】本题考查:查找结构体数组中的最小数据,需要通过for循环语句和if条件语句来完成。【解题思路】本题中第一个循环语句的作用是遍历数组求出最低分数,第二个循环语句的作用是将数组中的元素与最低分比较,查找是否存在与最低分相等的成绩。
本文标题:2016年计算机二级《C语言》精选练习题及答案
链接地址:https://www.777doc.com/doc-2942168 .html