2017年计算机二级C语言模拟题及答案(2)
大家做好准备迎接考试了吗?诚意整理“2017年计算机二级C语言模拟题及答案(2)”,欢迎广大考生前来学习。 2017年计算机二级C语言模拟题及答案(2) 1). 若变量已正确定义并赋值,以下符合C语言语法的表达式是 A.a:=b+1 B.a=b=c+2 C.int 18.5%3 D.a=a+7=c+b 正确答案:B 答案解析:选项A中包含一个不合法的运算符":=";选项C应改为(int)18.5%3;选项D可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。因此,正确答案是选项B,它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。 2). 结构化程序设计的基本原则不包括( ) A.多元性 B.自顶向下 C.模块化 D.逐步求精 正确答案:A 答案解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用GOTO语句,其中不包括多态性。 3). 下面选项中关于位运算的叙述正确的是( ) A.位运算符都需要两个操作数 B.左移运算的结果总是原操作数据2倍 C.右移运算时,高位总是补0 D.位运算的对象只能是整型或字符型数据 正确答案:D 答案解析:位运算则是以位(bit)一级进行的运算,位运算符中除″~″以外,均为二元运算符,即要求两侧各有一个运算量,运算量只能是整型或字符型的数据,不能为实型数据。其中右移时,右端(低位)移出的二进制数舍弃,左端(高位)移入的二进制数分两种情况:对于无符号整数和正整数,高位补0;对于负整数,高位补1。而左移运算在没有溢出的前提下每移动一位,相当于原数据的2倍。 4). 定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( ) A.-369 B.369 C.0.369 D.整数集合{1,2,3,4,5} 正确答案:B 答案解析:UInt表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项A和选项C,选项D是整数集合,所以也排除。 5). 下列关于类、对象、属性和方法的叙述中,错误的是( )。 A.类是对一类具有相同的属性和方法对象的描述 B.属性用于描述对象的状态 C.方法用于表示对象的行为 D.基于同一个类产生的两个对象不可以分别设置自己的属性值 正确答案:D 答案解析:类是对一类具有相同的属性和方法对象的描述,属性用于描述对象的状态,方法用于表示对象的行为,基于同一个类产生的两个对象是可以分别设置自己的属性值。 6). 下列描述中正确的是( ) A.软件交付使用后还需要再进行维护 B.软件工具交付使用就不需要再进行维护 C.软件交付使用后其生命周期就结束 D.软件维护是指修复程序中被破坏的指令 正确答案:A 答案解析:通常将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。已交付的软件投入运行后,应在运行使用中不断地维护,根据新提出的需要进行必要而且可能的扩充和删改。 7). 数据库设计包括两个方面的设计内容,它们是 A.概念设计和逻辑设计 B.模式设计和内模式设计 C.内模式设计和物理设计 D.结构特性设计和行为特性设计 正确答案:A 答案解析:数据库设计包括数据库概念设计和数据库逻辑设计两个方面的内容。 8). 以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)( ) A.printf (″%c \n″, ′a′-32); B.printf (″%d \n″, ′A′); C.printf (″%c \n″, 65); D.printf (″%c \n″, ′B′-1); 正确答案:B 答案解析:在选项B的输出函数中,大写字符′A′以整型数据的形式输出。 9). 下列描述中正确的是( ) A.程序就是软件 B.软件开发不受计算机系统的限制 C.软件既是逻辑实体,又是物理实体 D.软件是程序、数据与相关文档的集合 正确答案:D 答案解析:计算机软件与硬件是计算机系统中相互依存的两部分。计算机软件是包括程序、数据及相关文档的完整集合。软件由两部分组成:一部分是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。软件具有以下六个特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性。②软件的生产与硬件不同,它没有明显的制作过程。③软件在运行、使用期间不存在磨损、老化问题。④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。⑤软件复杂性高,成本昂贵。⑥软件的开发涉及诸多社会因素。 10). 以下不合法的用户标识符是( )。 A.804zhang B._ hh C.yy614 D.If 正确答案:A 答案解析:C语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或下划线。
计算机等级二级C语言模拟试题1(十)
一、选择题(1)~(10)每小题2分,(11)-(50)每小题1分,共60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)算法能正确地实现预定功能的特性称为算法的__________。
A)确定性 B)易读性 C)健壮性 D)高效性
答案:A
评析:算法的确定性是指算法中的每一个步骤都必须是有明确定义的,不允许有摸棱两可的解释,也不允许有多义性,即每个步骤都是预先定义好的。
(2)数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为__________。
A)存储结构 B)逻辑结构
C)顺序存储结构 D)链式存储结构
答案:C
评析:如果数据之间在逻辑上有相邻关系时,能够在物理位置上体现出来,则这种存储结构称为顺序存储结构。如果数据之间的逻辑相邻关系在存储时是靠存储地址的指针来体现的,则称为链式存储结构。
(3)从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放 在已排序序列的合适位置,该排序方法称为__________。
A)希尔排序 B)冒泡排序 C)插入排序 D)选择排序
答案:C
评析:最基本的排序方法有三大类,即选择排序、交换排序和插入排序。
(4)对线性表进行折半查找时,要求线性表必须__________。
A)以顺序方式存储
B)以链接方式存储
C)以顺序方式存储,且结点按关键字有序排列
D)以链接方式存储,且结点按关键字有序排列
答案:C
评析:折半查找算法要求被查找的对象必须采用顺序的存储结构,并且关键字有序排列。
(5)链表不具备的特点是__________。
A)可随机访问任意一个结点
B)插入和删除不需要移动任何元素
C)不必事先估计存储空间
D)所需空间与其长度成正比
答案:A
评析:顺序表可以随机访问任意一个结点,而链表必须从第一个数据结点出发,逐一查找每个结点。
(6)下列描述中正确的是__________。
A)软件是物理产品
B)程序就是软件
C)软件工程由方法、工具和过程三部分组成
D)软件工程是一个机械工程
答案:B
评析:软件是与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。计算机软件是一种逻辑产品,而不是物理产品。软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。软件工具可以自动或半自动的生成软件文档。软件工程过程是管理者控制软件开发各环节的基本方法。
(7)软件测试是保证软件质量最关键的步骤,下列关于白盒测试技术描述中不正确的是_______。
A)保证模块中每一独立的路径至少执行一次
B)保证所有判断的每一分支至少执行一次
C)保证每一循环都在边界条件和一般条件下最多执行一次
D)验证所有内部数据结构的有效性
答案:C
评析:软件测试技术中,白盒测试技术和黑盒测试技术是两种基本的软件测试手段。白盒测试技术有四个原则:保证模块中每一个独立的路径至少执行一次;保证所有判断的每一分支至少执行一次;保证每一循环都在边界条件和一般条件下至少执行一次;验证所有内部数据结构的有效性。
(8)客观世界中任何一个事物都可以看成一个对象。但是从计算机的角度看,一个对象应 该包含两个要素:一个是_______,另一个是需要进行的操作。
A)语句 B)命令 C)算法 D)数据
答案:D
评析:在面向对象的程序 设计 中,从计算机的角度看,一个对象应该包含两个元素:数据,相当于家庭中的成员;操作,相当于家庭成员的活动。对象就是一个包含数据与这些数据有关的操作的集合。
(9)下列概念中,不是数据库管理系统必须提供的数据控制功能的是_______。
A)安全性 B)完整性 C)移植性 D)一致性
答案:C
评析:数据库管理系统提供的数据控制功能是指在数据库建立、运行和维护时,由DBMS统一管理、统一控制,以保证数据的安全性、完整性和一致性。
(10)设关系R和关系S的元数分别是3和4,关系T是R和S的笛卡儿积,即T=R×S,则关系T的元数是_______。
A)7 B)9 C)12 D)16
答案:A
评析:笛卡儿积的定义是设关系R和s的元数分别是r和s,R和s的笛卡儿积是一个(r十s)元属性的集合,每一个元组的mr个分量来自R的一个元组,、后s爪分量来自s的一个元组。所以关系T的属性元数是3+4=7。
(11)以下叙述中正确的是_______。
A)C语言中的全部数据类型都是基本类型
B)C语言中的全部数据类型都是构造类型
C)C语言中的数据类型只有两种,即基本类型和构造类型
D)以上都不对
答案:D
评析:c语言中的数据类型有四种,即基本类型、构造类型、指针类型和空类型。
(12)下列可作为C语言赋值语句的是_______。
A)x=3,y=5 B)a=b=6 C)i--; D)y=6
答案:C
评析:此题实际上是考查对c语言中"语句"概念的理解。表达式后面只有加上分号才能成为语句,因此,A),B),D)均是表达式,只有C)为语句。且利用自减运算符使i值减l。
(13)以下可以定义为用户标识符的是_______。
A)printf B)net C)3com D)int
答案:B
评析:c语言中的标识符分为两类。一类是系统标识符,即系统定义使用的关键字标识符等。另一类是用户自定义标识符。两类标识符都只能用字母、数字和下划线三种字符组成。且第一个字母必须为字母或下划线。并且用户自定义标识符不能使用系统关键字相同的标识符。
(14)以下选项中,不能作为合法常量的是_______。
A)0X2A B)015 C).2.8e9 D)123.6e0.4
答案:D
评析:c程序中的基本数据类型有整型、实型和字符型。其中整型常量三种形式,即八进制、十进制和十六进制。而实型常量有十进制小数和指数形式两种。
(15)有以下程序
main()
{
int a; char c=10:
float f=-100.0;double x;
clrscrO;
a=f/=c*=(x=6.5);
printf("%d,%c,%3.1C%3.1f\n",a,c,Cx);
}
程序运行后的输出结果是_______。
A)1,65,1,6.5 B)1,A,1.5,6.5 C)1,65,1.5,6.5 D)2,65,1.5,6.5
答案:B
评析:在赋值语句a=f/=c*=(x=6.5);中,可得x=6.5,将x的值乘以10赋予c,为65,再将f=100的值除以65,并按照四舍五入的原则,重新赋给f'得到f=-I.5。最后将f的值赋给a,由于a是整型,所以得到a=l。
(16)以下语句序列中错误的是_______。
A)int x=l; B)int x=0; C)int x=2.3; D)int x=l,y=l;
x++; (x+1)++; (x++)+1; (x++)+(y一);
答案:B
评析:c语言中的自加、自减运算只能用于变量,而不能用于常量或表达式。 (17)有定义语句:im.a;char b[10],c;则错误的输入语句是__________。
A)scanf("%d%s%c",&a,D,&C); B)scanf("%d%s%c",&a,&b,&C);
C)scanf("%d%s%d",&a;b,&C); D)scanf("%d%s"&c,a,%,&C);
答案:D
评析:在scanf()语句中,在给整型变量和字符型赋值时,必须要在变量名前加取地址符号(&),而对字符型数组赋值时,可以不在变量名前不加取地址符号,也可以加取地址符号。而且对于字符型变量既可以赋给整型值,也可以赋给字符型值。
(18)有定义语句:int x,y;,若要通过scan即x=%d,y=%n&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的是________。
A)1l 12回车> B)ll,12回车>
C)x=l l,y=12回车> D)x=ll,回车>12,回车>
答案:C
评析:在scanf()语句中,对于变量的赋值必须与数据的输入格式相一致。特别是一些字符说明。
(19)设有如下程序段:
int x=6, y=4;
printf("%d\n",(x%y,x&&y));
则以下叙述中正确的是__________。
A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B)运行时产生出错信息
C)输出值为2
D)输出值为l
答案:D
评析:在逗号表达式(表达式1,表达式2)中,其运算方法是先求表达式1的值,然后求表达2的值,整个逗号表达式的值是表达式2的值。
(20)有以下程序
main()
{
int i=1.j=2,k=3;
clrscr();
if(i++==j&&k--==j)
printf("%d,%d,%d",i++'j,k);
else
printf("%d,%d,%d",++i,++j,k--);
}
程序运行后的输出结果是_________。
A)l,2,3 B)2,2,3 C)2,3,2 D)3,3,3
答案:D
评析:按照运算符的优先级,最先计算的是关系运算i++==j,由于此关系式不成立,,它的结果是为"假"值,由此可以确定逻辑与运算的结果必然是"假"值,因此参加逻辑与运算的另一个关系表达式"k--==j"的值,系统不再对它进行运算。此时变量i的值自加1变成2,然后执行else语句后的printf语句。
(21)有定义语句:int a=l,b=l,c=3,x;,则以下选项中各程序段执行后,x的值不等于3是__________。
A)if(ca) x=3; D)if(a<b+c)x:b; if(a<2)x=2; if(b&&a<c)x=c= if(a<1)z=l; if(c<a)x=a; 答案:C
评析:在各种运算符中,运算级别的是算术运算,如果有括号,当然先算括号内的表达式的值。 </a‖b
(22)有以下程序,其输出结果是____________。
main()
{ float x=l; int y;
X++:
y=x+l;
printf("x=%d,y=%f",x, y);
}
A)x=2,y=3 B)x=2,y=3.0
C)x=2.0,y=3 D)x=0.y=O.000000
答案:D
评析:一般在对变量定义为何种类型的数据时,对输出应有完全一致的数据类型格式。但整型与实型数据在进行混合运算时,一般其数据类型可以自动转换。如本题的y=x+l;语句中,系统自动将实型表达式x+l的结果转换为整数赋给整型变量y,但整型变量y只能得到实型数的整数部分。
(23)有以下程序
main()
{
int a[6]={5,6,7,8,9,10},s=0,I=0;
clrserO;
do
{
if(a[i]%2 I-0)
s+=a[I];
}while(++i<5);
primf("%d\n",s);
}
程序运行后的输出结果是_________。
A)21 B)22 C)23 D)24
答案:A
评析:引用数组中的某个元素时,可以直接使用数组名加下标的形式。如p[1],就是数组中下标为1的元素,按顺序数,是第2个元素,因为数组的下标是从0开始的。本题实际上是求数组中所有奇数元素的和。
(24)若有如下程序段,
main()
{
char a[7]="123\010\032";
int i,j=0;
clrscr0;
for (I=0;i<strlen(a);i++) j+=sizeof(a);
printf("%d,%d\n",I,J);
}
程序运行后的输出结果是_________。
A)5,30 B)5,35 C)5,25 D)5,20
答案:B
评析:数组的存储空间是在其定义后就分配的。字符数组a[7]="123\010\032"的存储空间是7个单元。即sizeof(a)=7。而函数strlen()是求字符串的长度的。a[7]="123\010\032"中,有两个转义字符,因此字符串的长度实际上是5个字符。所以strlen(a)=5。在程序的for循环中,其循环的次数是5次,j每次加7,所以最后的结果是35。i的值就是循环的次数。
(25)如果在c程序中要用到库函数中的字符串比较函数strcmp(),那么在程序前面应该 添加的头文件是__________。
A)stdio.h B)string.h C)alloc.h D)math.H
答案:B
评析:库函数并不是c语言的一部分,它是由人们根据需要编制并提供用户使用的。在调用不同类别的库函数时,必须在程序前添加相应的头文件。
(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_________。
A)函数调用可以嵌套和递归
B)函数调用可以作为一个函数的实参
C)函数调用可以出现在表达式中
D)函数调用可以作为一个函数的形参
答案:D
评析:函数的调用有三种方式。一是将函数调用作为一个语句。二是函数出现在_个表达式中。三是作为一个函数的实参。但是没有函数调用作为形参。而且函数在调用时还有嵌套和递归两种特殊的情形。
(27)下列关于c语言中字符常量与字符串常量的叙述中,错误的是_________。
A)字符常量是用单撇号括起来的一个字符
B)空格字符也可用作字符常量
C)字符串常量是用单撇号括起来的一个字符序列
D)字符串常量是用双撇号括起来的一个字符序列
答案:C
评析:c语言中的字符型数据常量有两类,一类是用单撇号括起来的字符常量。字符常量除了常用的字符外,还包括特殊的空格符和以"\"开头的转义字符。字符串常量则是用双撇号括起来的一个字符序列。
2013年全国计算机考试二级C语言机试练习系统破解
全国计算机考试二级C语言机试练习系统首先我们先看下软件展示图,后面是软件!图:1、全国计算机等级考试超级模拟软件。汇聚了多年开发全国计算机等级考试模拟软件的丰富经验,并综合有经验的命题专家、教授和全国各地考点一线教师的建议基础上研制而成。本套软件采用模拟考试形式,以大量的习题练习,强化考生的应考能力。2、捷成全国计算机等级考试练习系统。上机考试系统提供了历届考试题100套,并附有试题分析和参考答案,可以帮助考生熟悉考试模式,提高应试能力,测试实际操作和应变能力,自己评定成绩,对正式考试时能否通过进行初步的估计。3、未来教育2017二级msoffice模拟软件以其模式的高专业度,题库权威度而闻名业界,它聚合历年真题加以分析从而提出权威预测,效果非常不错。
计算机二级C语言模拟题及答案
2017年计算机二级C语言模拟题及答案 1.1 单选题 1.下列变量名中,非法的是( C )。 A.A25 B.My_car C.My-str D.abc 2.下列常量中,十六进制int型常量是( A )。 A.0x5f B.x2a C.046 D.7a 3.下列常量中,不是字符常量的是( B )。 A.'\n' B."y" C.'x' D.'\7' 4.在函数体内定义了下述变量a,a的存储类为( D )。 int a; A.寄存器类 B.外部类 C.静态类 D.自动类 5.下列关于变量存储类的描述中,错误的是( C )。 A.任何变量定义后都具有一个确定的存储类 B.变量的存储类确定了变量的作用域和寿命 C.定义变量时没有存储类说明符者一律为自动类 D.内部静态类变量和外部静态类变量的存储类说明符都是static 6.下列关于变量数据类型的描述中,错误的是( A )。 A.定义变量时int型数据类型可以省略 B.变量的数据类型可以决定该变量占内存的字节数 C.变量的数据类型是可以被强制的 D.变量的数据类型是有高低之分的 7.长双精度浮点型常量的后缀是( C )。 A.U B.F C.L D.无 8.下列运算符中,不能用于浮点数操作的是( D )。 A.++ B.+ C.*= D.&(双目) 9.下列运算符中,优先级最高的是( A )。 A.*(双目) B.|| C.>> D.%= 10.下列运算符中,优先级最低的是( B )。 A.== B.?: C.| D.&& 11.已知:int a(3);下列表达式中,错误的是( C )。 A.a%2==0 B.a--+2 C.(a2)++ D.a>>=2 12.已知:int b(5),下列表达式中,正确的是( D )。 A.b="a" B.++(b1) C.b%2.5 D.b=3,b+1,b+2 6 13.下列关于类型转换的'描述中,错误的是( C )。 A.类型转换运算符是() B.类型转换运算符是单目运算符 C.类型转换运算符通常用于保值转换中 D.类型转换运算符作用于表达式左边 1.1 判断题 ×1.C++语言和C语言都是面向对象的程序设计语言。 √2.面向对象方法具有封装性、继承性和多态性。 √3.C语言是C++语言的一个子集。C++语言继承了C语言。 ×4.C++语言程序与C语言程序一样都是函数串。 ×5.C++语言支持封装性和继承性,不支持多态性。 √6.C++语言比C语言对数据类型要求更加严格了。 √7.C++语言对C语言进行了一次改进,使得编程更加方便了。 ×8.C++源程序在编译时可能出现错误信息,而在连接时不会出现错误信息。 √9.编译C++源程序时,出现了警告错(Warning)也可以生成可执行文件。 √10.C++语言程序的实现也要经过编辑、编译连接和运行3个步骤。 通过对1.5题中3个程序的修改,回答下列问题 从1.5题中第1题程序的修改中,总结出编程应该注意哪些问题。 答:C++程序要包含iostraem.h,main()函数前应加类型说明符void。 C++程序中所出现的变量是否必须先说明后使用?在函数体内说明变量时是否都要放在函数体的开头? 答:C++程序中所出现的变量必须先说明后使用。在函数体内说明变量时不一定要放在函数体的开头。 使用cout和插入符(<<)输出字符串常量时应注意什么? 答:可输出一个字符串常量,也可输出多个字符串常量。每输出一个字符串常量要使用一次插入符(<<)。 程序中定义过的变量,但没有赋值,也没有默认值,这时能否使用? 答:不能使用。因为它的值不确定。 5.一个程序编译通过并已生成执行文件,运行后并获得输出结果,这一结果是否一定正确? 答:不一定正确。可能还有算法错。 ;