2018年12月计算机二级C语言考试强化提分试题(6)
1[单选题] 下面叙述中错误的是(  )。
  A.软件测试的目的是发现错误并改正错误
  B.对被调试的程序进行“错误定位”是程序调试的必要步骤
  C.程序调试通常也称为Debug
  D.软件测试应严格执行测试计划,排除测试的随意性
  参考答案:A
  参考解析:软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。
  2[单选题] 以下关于结构化程序设计的叙述中正确的是(  )。
  A.结构化程序使用goto语句会很便捷
  B.在C语言中,程序的模块化是利用函数实现的
  C.一个结构化程序必须同时由顺序、分支、循环三种结构组成
  D)由三种基本结构构成的程序只能解决小规模的问题
  参考答案:B
  参考解析:滥用goto语句将使程序的流程毫无规律,可读性差,对于初学者来说尽量不要使用,所以A错误。一个结构化程序可以包含顺序、分支、循环结构中的一种或多种,所以C错误。由三种基本结构构成的程序可以解决任何复杂的问题,所以D错误。
  3[单选题] 算法的空间复杂度是指(  )。
  A.算法在执行过程中所需要的计算机存储空间
  B.算法所处理的数据量
  C.算法程序中的语句或指令条数
  D.算法在执行过程中所需要的临时工作单元数
  参考答案:A
  参考解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择A。
  4[单选题] 若变量x,y已正确定义并赋值,以下符合C语言语法的表达式是(  )。
  A.x+1=y
  B.++x,y=x- -
  C.x=z+10=z+y
  D.double(x)/10
  参考答案:B
  参考解析:A选项中不能将变量Y赋给表达式,C选项中错误与A选项一样,D选项中强制类型转换表达式应写成(double)x/10。
  5[单选题] 数据库应用系统中的核心问题是(  )。
  A.数据库设计
  B.数据库系统设计
  C.数据库维护
  D.数据库管理员培训
  参考答案:A
  参考解析:数据库应用系统中的核心问题是数据库的设计。
  6[单选题] 下列叙述中正确的是(  )。
  A.在switch语句中,不一定使用break语句
  B.在switch语句中必须使用default
  C.break语句必须与switch语句中的case配对使用
  D.break语句只能用于switch语句
  参考答案:A
while语句都可以用for改写  参考解析:default语句在switch语句中可以省略,所以B错误;switch语句中并非每个case后都需要使用break语句,所以C错误;break语句还可以用于for等循环结构中,所以D错误。
  7[单选题] 对于一个正常运行的C程序,以下叙述中正确的是(  )。
  A.程序的执行总是从main函数开始,在程序的最后一个函数中结束
  B.程序的执行总是从程序的第一个函数开始,在main函数结束
  C.程序的执行总是从main函数开始
  D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
  参考答案:C
  参考解析:任何一个c程序都是从主函数main开始,至主函数main结束,所以选择c选项。
  8[单选题] 以下定义数组的语句中错误的是(  )。
  A.int num[][3]={{1,2},3,4,5,6};
  B.int num[2][4]={{1,2},{3,4},{5,6}};
  C.int num[]={1,2,3,4,5,6};
  D.int hum[][4]={1,2,3,4,5,6};
  参考答案:B
  参考解析:B)选项中定义的数组为2行4列,而赋值时赋成了3行所以出错。
  9[单选题] 以下关于typedef的叙述错误的是(  )。
  A.用typedef可以增加新类型
  B.typedef只是将已存在的类型用一个新的名字来代替
  C.用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名
  D.用typedef为类型说明一个新名,通常可以增加程序的可读性
  参考答案:A
  参考解析:typedef并不是增加了新类型,而是用一个新名字替代已存在的类型,不能为变量说明一个新名,使用typedef可以增强程序的可移植性。所以A选项错误。
  10[单选题] 在E-R图中,用来表示实体联系的图形是(  )。
  A.椭圆形
  B.矩形
  C.菱形
  D.三角形
  参考答案:C
  参考解析:在E-R图中实体集用矩形,属性用椭圆,联系用菱形。
  11[单选题] 以下叙述中正确的是
  A.两个字符串可以用关系运算符进行大小比较
  B.函数调用strlen(s);会返回字符串S实际占用内存的大小(以字节为单位)
  C.C语言本身没有提供对字符串进行整体操作的运算符
  D.当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和
  参考答案:C
  参考解析:本题考查字符串处理函数strien、strcat、strcmp。B选项中strlen返回的是字符串s实际占用内存大小加上结尾符,A选项中不能用关系运算符进行大小比较,可以使用strcmp。D选项当使用连接函数strcat时,内存空间会减少一个字符位置。
  12[单选题] 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。
  A.一对一B.一对多C.多对多D.多对一
  参考答案:C
  参考解析:因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。
  13[单选题] 对于while(!E)s;,若要执行循环体s,则E的取值应为:
  A.E等于1B.E不等于0C.E不等于1D.E等于0
  参考答案:D
  参考解析:while语句的一般形式为:while(表达式)语句;其中表达式是循环条件,语句为循环体。while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。该题中如要执行语句s,则!E应为真,因此E应等于0,D选项正确。
  14[单选题] 在软件设计中不使用的工具是( )。
  A.系统结构图B.PAD图C.数据流图(DFD图)D.程序流程图
  参考答案:C
  参考解析:系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C。
  15[单选题] 若有定义语句:char a='\82';则变量a(  )
  A.说明不合法B.包含1个字符C.包含2个字符D.包含3个字符
  参考答案:B
  参考解析:char a='\82',定义字符量a,char型变量值为1个字节长度,并从右侧开始运算,所以a的值应为'2'。因此B选项正确。
  16[单选题] 若fp已定义为指向某文件的指针,且没有读到该文件的末尾,则C语言函数feof(fp)的函数返回值是
  A.EOFB.非0C.-1D.0
  参考答案:D
  参考解析:本题考查文件的定位,feof函数的用法是从输入流读取数据,如果到达文件末尾(遇文件结束符),eof函数值为非零值,否则为0,所以选项D正确。
  17[单选题] 以下叙述中正确的是
  A.只要适当地修改代码,就可以将do-while与while相互转换
  B.对于“for(表达式1;表达式2;表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环
  C.对于“for(表达式1;表达式2;表达式3)循环体”,只在个别情况下才能转换成while语句
  D.如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while语句
  参考答案:A
  参考解析:B选项中,for语句中需要先求解先求解表达式1;C选项中,for语句使用最为灵活,它完全可以取代while语句;D选项中,对于死循环,也可以使用for语句。因此A选项正确。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。