考试吧

计算机等级

考试吧>等级考试>计算机二级考试>C语言>模拟试题>正文
2016年9月计算机二级C语言考前40天必做试题(4)
考试吧 2016-08-20 11:42:22 评论(0)条

  点击查看:2016年9月计算机二级C语言考前40天必做试题汇总

  一、选择题(每小题1分。共40分)

  (1)有以下程序:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  程序运行后的输出结果是(  )。

  A.1 2

  B.1 4

  C.123 4

  D.123 456

  (2)软件测试的目的是(  )。

  A.评估软件可靠性

  B.发现并改正程序中的错误

  C.改正程序中的错误

  D.发现程序中的错误

  (3)层次型、网状型和关系型数据库划分原则是(  )。

  A.记录长度

  B.文件的大小

  C.联系的复杂程度

  D.数据之间

  (4)计算机能直接执行的程序是(  )。

  A.源程序

  B.目标程序

  C.汇编程序

  D.可执行程序的联系方式

  (5)下列定义变量的语句中错误的是(  )。

  A.int _int;

  B.double int_;

  C.char For;

  D.float US$;

  (6)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是(  )。

  A.必须是逻辑值

  B.必须是整数值

  C.必须是正数

  D.可以是任意合法的数值

  (7)有以下程序:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  程序运行后的输出结果是(  )。

  A.02356

  B.0235

  C.235

  D.2356

  (8)以下关于return语句的叙述中正确的是(  )。

  A.一个自定义函数中必须有一条return语句

  B.一个自定义函数中可以根据不同情况设置多条return语句

  C.定义成void类型的函数中可以有带返回值的return语句

  D.没有return语句的自定义函数在执行结束时不能返回到调用处

  (9)已定义以下函数:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  fun函数的返回值是(  )。

  A.一个整数

  B.不确定的值

  C.形参P中存放的值

  D.形参P的地址值

  (10)有如下嵌套的if语句:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  (11)有以下程序:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  程序执行后的输出结果是(  )。

  A.1

  B.2

  C.4

  D.死循环

  (12)以下选项中不能作为C语言合法常量的是(  )。

  A.0.1e+6

  B.'cd'

  C."\a"

  D.'\011'

  (13)有以下程序:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  程序运行后的输出结果是(  )。

  A.6,2,3,4,5,

  B.2,2,3,4,5,

  C.1,2,3,4,5,

  D.2,3,4,5,6,

  (14)有以下程序:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  程序运行后的输出结果是(  )。

  A.Afternoon

  B.fternoon

  C.Morning

  D.orning

  (15)有以下程序:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  程序运行后的输出结果是(  )。

  A.O

  B.9

  C.6

  D.8

  (16)若有以下语句:typedef struct S{ int g;char h;} T;以下叙述中正确的是(  )。

  A.可用S定义结构体变量

  B.可用T定义结构体变量

  C.s是struct,类型的变量

  D.T是struct S类型的变量

  (17)设有宏定义:#define IsDIV(k,n)((k%n= =1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5) && IsDIV(m,7)为真时所要表达的是(  )。

  A.判断m是否能被5和7整除

  B.判断m被5和7整除是否都余1

  C.判断m被5或者7整除是否余1

  D.判断m是否能被5或者7整除

  (18)有以下程序:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  (19)设有定义:double a[10],*s=a;以下能够代表数组元素a[3]的是(  )。

  A.(*s)[3]

  B.*(s+3)

  C.*s[3]

  D.*s+3

  (20)以下叙述中正确的是(  )。

  A.C语言规定必须用main作为主函数名,程序将从此开始执行

  B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

  C.C语言程序将从源程序中第一个函数开始执行

  D.main的各种大小写拼写形式都可以作为主函数名,如MAIN,Main等

  (21)数据库设计中反映用户对数据要求的模式是(  )。

  A.内模式

  B.概念模式

  C.外模式

  D.设计模式

  (22)在软件开发中,需求分析阶段产生的主要文档是(  )。

  A.软件集成测试计划

  B.软件详细设计说明书

  C.用户手册

  D.软件需求规格说明书

  (23)下列叙述中正确的是(  )。

  A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的

  B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构

  C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构

  D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性

  (24)有三个关系R、S和T如下:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  则由关系R和S得到关系T的操作是(  )。

  A.自然连接

  B.差

  C.交

  D.并

  (25)软件生命周期是指(  )。

  A.软件产品从提出、实现、使用维护到停止使用退役的过程

  B.软件从需求分析、设计、实现到测试完成的过程

  C.软件的开发过程

  D.软件的运行维护过程

  (26)设变量均已正确定义,若要通过

  

2016年计算机二级C语言考前40天摸底测试题(5)

  (27)有以下程序:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  

2016年计算机二级C语言考前40天摸底测试题(5)

  程序运行后的输出结果是(  )。

  A.4

  B.34

  C.31

  D.32

  (28)有以下程序:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  程序执行后的输出结果是(  )。

  A.55

  B.50

  C.45

  D.60

  (29)有以下程序:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  

2016年计算机二级C语言考前40天摸底测试题(5)

  程序运行后的输出结果是(  )。

  A.1002,ZhangDa,1202.0

  B.1002,ChangRong,1202.0

  C.1001,ChangRong,1098.0

  D.1001,ZhangDa.1098.0

  (30)以下诜项中iF确的语句组是(  )。

  

  (31)以下选项中可用做C程序合法实数的是(  )。

  A.3.0e0.2

  B..1e0

  C.E9

  D.9.12E

  (32)面向对象方法中,继承是指(  )。

  A.一组对象所具有的相似性质

  B.一个对象具有另一个对象的性质

  C.各对象之间的共同性质

  D.类之间共享属性和操作的机制

  (33)有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母:

  

  程序运行后的输出结果是(  )。

  A.ab cd EFg!

  B.Ab Cd EFg!

  C.ab cd EFG!

  D.aB cD EFG!

  (34)下列叙述中正确的是(  )。

  A.栈是一种先进先出的线性表

  B.队列是一种后进先出的线性表

  C.栈与队列都是非线性结构

  D.以上三种说法都不对

  (35)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是(  )。

  A.一对一

  B.一对多

  C.多对多

  D.多对一

  (36)表达式:(int)((double)9/2)-9%2的值是(  )。

  A.O

  B.3

  C.4

  D.5

  (37)以下程序段完全正确的是(  )。

  

2016年计算机二级C语言考前40天摸底测试题(5)

  (38)若有定义语句:char *sl="OK",*s2="ok";以下选项中,能够输出“OK”的语句是(  )。

  

2016年计算机二级C语言考前40天摸底测试题(5)

  (39)有以下结构体说明、变量定义和赋值语句:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  (40)有以下程序:

  

2016年计算机二级C语言考前40天摸底测试题(5)

  程序运行后的输出结果是(  )。

  A.3

  B.1

  C.2

  D.0

  二、程序填空题(共18分)

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

  

2016年计算机二级C语言考前40天摸底测试题(5)

  三、程序修改题(共18分)

  下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序捧列。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

  

2016年计算机二级C语言考前40天摸底测试题(5)

  

2016年计算机二级C语言考前40天摸底测试题(5)

  四、程序设计题(共24分)

  编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例如,分别输入下面两个字符串:FirstString - -SecondString程序运行后的输出结果是:FirstString - - SecondString注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

  

2016年计算机二级C语言考前40天摸底测试题(5)

  

2016年计算机二级C语言考前40天摸底测试题(5)

  一、选择题(每小题1分。共40分)

  (1)D 【解析]forinff()函数向文本文件输出数据,将输出的内容按格式输出到硬盘的文本文件中。执行两次forintf后,文件中的内容为“l23 456”,所以D选项正确。

  (2)D 【解析】软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。

  (3)D 【解析】层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。

  (4)D 【解析】计算机能直接执行的程序是二进制的可执行程序,扩展名为.exe。所以选择D选项。

  (5)D 【解析】C语言规定,变量命名必须符合标识符的命名规则。D选项中包含了非法字符“$”,所以错误。标识符由字母、数字或下划线组成,且第一个字符必须是大小写英文字母或者下划线,而不能是数字。大写字符与小写字符被认为是两个不同的字符,所以For不是关键字for。

  (6)D 【解析】if语句中的表达式可以是任意合法的数值,如常量、变量表达式。所以D选项正确。

  (7)C

  

2016年计算机二级C语言考前40天摸底测试题(5)

  (8)B 【解析】在函数中允许有多个return语句,但每次调用只能有一个return语句被执行,因此只能返回一个函数值。定义成void类型的函数,不允许从该函数取得返回值,也不允许使用return语句,C选项描述错误。没有return语句的函数在执行到函数的最后一条语句后会自动返回到调用处。A、D选项描述错误。因此B选项正确。

  (9)A 【解析】返回值为指针变量指向的数据,该数据已被定义为整型。因此A选项正确。

  (10)B 【解析】题目中嵌套语句的含义是当a

  (11)A 【解析】--k先自减再使用,所以第一次判断条件即为while(4),条件为真,执行打印k的值k=4—3,结果为1;第二次判断条件即为while(0),条件为假,结束循环,打印回车换行符。所以选择A选项。

  (12)B 【解析】要想表示字符串常量应该用双引号表示,即“c d”,单引号用于表示字符常量,所以B选项中的表示方法错误。

  (13)A 【解析】本题考查的是函数的地址调用,将数组名作为数组首地址进行传递,然后取首个数组元素值进行加2运算,循环5次。因此A选项正确。

  (14)A 【解析】本题主函数中定义了一个指针数组a,可以将它看成一个以字符指针为元素的一维数组。和一般的一维数组名能赋给同类型指针变量一样,该字符指针数组也可以赋给指向字符指针的指针,所以数组名a可以用做函数fun()的实参。在fun()函数中,++P操作使形参p往后移动一个字符指针的位置,即指针a[1]的位置。故最后通过printf()函数输出的字符串为“Afternoon”。因此A选项正确。

  (15)C 【解析】主函数中调用f函数,同时将数值3传递给变量x,执行条件不满足条件if(x==0||x==1);跳过return(3);,直接执行语句y=x*x-f(x-2);这里f(x-2)为函数的递归调用,再次调用f函数,此时x=1,判断条件成立,返回3给f(1),y=3*3-3=6,最后将6返回主函数,并进行输出。因此C选项正确。

  (16)B 【解析】本题考查typedef重新声明一种结构体类型,那么T为结构体类型,而不是结构体变量,所以B选项正确。

  (17)B 【解析】本题考查逻辑运算符的相关概念,逻辑与若要为真,那么两边都要为真,即m都能被5和7整除都余1,所以选项B正确。

  (18)B 【解析】第一次执行外循环,i的值为3,第一次执行内循环j的值为1,j<=2条件成立,打印i+j的值,即4;第二次执行内循环j的值为2,j<=2条件成立,打印i+j的值,即5;再判断条件不成立,打印回车换行符,跳出内循环。第二次执行外循环,i的值为2,内循环的执行同第一次一样,所以打印3和4,打印回车换行,结束内循环。第三次执行外循环i的值为1,同理内循环中打印2和3,打印回车换行符,结束内循环。

  (19)B 【解析】语句* s=a;表示指针变量s指向一维数组a的首地址。a[3]表示引用数组a的第4个元素,*(s+i)表示引用指针s所指数组a的第i+1个元素,选项A、C、D的表示方法错误,只有B选项正确。

  (20)A【解析】C语言中的主函数只能是main()函数,不能任意指定,所以B选项错误。C语言从主函数main()开始,到主函数main()结束,所以C选项错误。主函数必须写成小写的main,不能混淆大小写,所以D选项错误。

  (21)C 【解析】数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择C。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。

  (22)D 【解析】需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。所以选择D。

  (23)B 【解析】线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。

  (24)B 【解析】关系T中的元组是R关系中有而S关系中没有的元组的集合,所以进行的是差的运算。

  (25)A 【解析】通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

  (26)C 【解析】输人数据的格式必须与scanf()的格式控制串完全匹配,如果A、B、C选项中在数字10后面均输入了空格,则会将空格赋给变量cl,而不是把x赋给cl,所以选择C选项。

  (27)C 【解析】本题重点考察二维数组名作为实参进行参数传递,在主函数中调用了fun函数,实参为二维数组名a和两个整数4、0,这样对应定义fun函数首部有三种形式,这里采用了第一种形式——行指针,这样在fun函数对s[i][j]进行操作实际上就是对主函数中的a[i][j]进行操作,再分析fun函数的作用便可知,是求二维数组第0列中最大的那个元素。因此C选项正确。

  (28)D 【解析】内部静态变量是始终存在的,当函数被调用退出后,内部静态变量会保存数据,再次调用该函数时,以前调用时的数值仍然保留着。fun(a,5)的值是15,再次调用后sum=15,所以fun(b,4)=45,S=45+15=60。因此D选项正确。

  (29)B 【解析】本题考查结构体变量的引用以及作为函数参数,题目虽然看似复杂,其实比较容易,f函数的参数是结构体变量,然后对参数重新赋值并返回,所以该题目的答案为B选项。

  (30)B 【解析】A选项去掉大括号就正确了;C选项和D选项应在定义时赋初值。因此B选项正确。

  (31)B 【解析】A选项中e后面的指数必须为整数,所以错误。C语言规定,E之前必须要有数字,所以C选项错误。E后面必须要有数字,且必须为整数,所以D选项错误。

  (32)D 【解析】继承是面向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。

  (33)D

  2016年9月计算机二级C语言考前40天必做试题(4)

2016年9月计算机二级C语言考前40天必做试题(4)

   (34)D 【解析】栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线性结构。

  (35)C 【解析】因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。

  (36)B 【解析】先将整型数据9强制转换成double型,然后除以2得到的结果与double型保持一致,即为4.5,然后将4.5强制转换成整型数据4,然后计算9%2的值为1,最后计算4-1的值为3,所以选择B选项。

  (37)C 【解析】A选项中错在没有对指针进行初始化,是无效指针,并且在seanf(”%d”,&p)中无需再进行取地址操作;B选项中没有对指针进行初始化,是无效指针;D选项中语句*P=&k;的左端* P是指针所指内存空间的值,&k是地址,应为P=&k。因此C选项正确。

  (38)B 【解析】strcmp(s1,s2)是字符串比较函数,比较规则是两个字符串自左向右逐个字符相比(按照ASCII码值大小),以第一个不相同的字符的大小作为比较结果。因为'0'<'o',所以strcmp(s1,s2)为负值,只有B选项正确。

  (39)D 【解析】本题考查结构体的相关知识,题目中需要输入一个变量,scanf要求参数为指针,而D选项中ps->age为一个变量,不是指针,所以错误。

  (40)A 【解析】本题考查位运算符以及相关运算,为按位或,&为按位与,那么a^b为3,再与c按位与仍然为3。所以答案为A选项。

  二、程序填空题(共18分)

  【参考答案】

  (1)M

  (2)<

  (3)k

  【考点分析】

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

  【解题思路】

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

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

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

  三、程序修改题

  

2016年计算机二级C语言考前40天摸底测试题(5)

  【考点分析】

  本题考查:冒泡排序算法;for循环语句格式;指针数组。

  【解题思路】

  (1)此处考查for语句的格式,各表达式之间应用“;”隔开。

  (2)此处考查用指针表示数组元素的方法,*(pstr+I)表示pstr所指向数组的第I个元素,同理*(pstr+j)表示pstr所指向数组的第j个元素。

  【解题宝典】

  冒泡排序算法,其基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面。就交换它们的位置。显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。依次类推,完成排序。

  

2016年计算机二级C语言考前40天摸底测试题(5)

  四、程序设计题

  【参考答案】 

2016年计算机二级C语言考前40天摸底测试题(5)

 

  【考点分析】

  本题考查:不使用字符串函数实现字符串连接操作。通过for循环语句来完成,不要忘了最后需要加上字符串结束标识’\0’。

  【解题思路】

  本题用两个循环完成操作,第1个循环的作用是求出第1个字符申的长度,即将i指到第1个字符串的末尾。第2个循环的作用是将第2个字符串的字符连到第l个字符串的末尾。最后在第1个字符串的结尾加上字符串结束标识‘\0’。

展开全文
评论(0条) 发表
Copyright © 2004-
考试吧(m.566.com)北京美满明天科技有限公司
社会统一信用代码:91110108MA01WU311X
帮助中心