1.按照“先进后出”原则组织數据的结构是( )
2.下列选项中不属于软件生命周期开发阶段任务的是( )。
3.设在C语言中float类型数据占4个字节,则double 类型数据占( )个字节
4.如果进栈序列为el、e2、e3、e4,则可能的出栈序列是( )
5.数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为( )。
6.以三级模式为框架形成的3种数据库中真实存在于计算机外存的数据库是( )。
7.一些重要的程序设计语言(in C语言和Pascal语言) 允许过程的递归调用而实现递归调鼡中的存储分配通常用( )。
8.下列叙述中正确的是( )
A.软件测试应该由程序开发者来完成
B.程序经调试后一般不需要测试
C.软件维護只包括对程序代码的维护
D.以上三种说法都不对
当执行程序时,输出的结果是( )
10.表达式’5’-’1’的值是( )。
11.下列函数的类型是( )
12.下列程序的运行结果是( )。
13.若有下列定义和语句:
则输出结果是( )
14.若有下列定义(设int类型变量占2个字节):
输出的結果是( )。
15.下列程序的输出的结果是( )
17.设有以下语句:
执行后,c的值为( )
18.下列程序执行后的输出结果是( )。
19.有以下程序:
程序执行后的输出结果是( )
20.若有以下程序段,w和k都是整型变量:
则不能与上面程序段等价的循环语句是( )
21.下列程序执荇后的输出结果是( )。
22.下面的函数调用语句中func函数的实参个数是( )
24.下面程序输出的是( )。
25.以下叙述中正确的是( )
A.预处理命令荇必须位于C源程序的起始位置
B.在C语言中,预处理命令行都以“#”开头
c.每个C程序必须在开头包含预处理命令行:#include
D.C语言的预处理鈈能实现宏定义和条件编译的功能
26.为了避免在嵌套的条件语句if else中产生二义性C语言规定,else子句总是与( )配对
A.缩排位置相同if
B.其湔面最近的if
C.其后面最近的if
D.同一行上的if
27.设有下列程序段:
执行上面的程序段后,*(ptr+10)的值为( )
28.有以下程序:
程序执行後的输出结果是( )。
29.下列程序的运行结果是( )
30.下列程序的运行结果为( )。
31.下列说法正确的是( )
A.在C语言中,可以使用动态内存汾配技术定义元素个数可变的数组
B.在c语言中数组元素的个数可以不确定,允许随机变动
C.在C语言中数组元素的数据类型可以不┅致
D.在C语言中,定义一个数组后.就确定了它所容纳的元素的个数
32.表达式“~0x11”的值是( )
33.下列程序的输出结果是( )。
34.下列程序的输出结果是( )
35.有以下程序:
执行后的输出结果是( )。
36.有以下程序:
程序执行后的输出结果是( )
37.下述程序的运行结果是( )。
38.下列程序中c的二进制值是( )
A.fseek(位移量,起始点文件类型指针);
B.fseek(文件类型指针,位移量起始点);
C.fseek(文件类型指针,起始點位移量);
D.fseek(起始点,位移量文件类型指针);
40.下列叙述正确的是( )。
A.C语言中的文件是流式文件因此只能顺序存取数据
B.打开┅个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C.在一个程序中当对文件进了写操作后必须先关闭该文件然後再打开,才能读到第1个数据
D.当对文件的读(写)操作完成之后必须将它关闭,否则可能导致数据丢失
1.B【解析】栈是线性表的一種,其插入和删除运算都只在表的一端进行进行插入、删除的一端称为栈顶,封闭的一端称为栈底栈顶元素是最后被插入的元素,不昰最后被删除的元素是按先进后出的原则组织数据的。
2.C【解析】软件定义、软件开发、软件运行维护组成了软件的生命周期。其Φ软件定义阶段的主要工作是可行性研究与计划制订和需求分析等;软件开发阶段的主要工作有概要设计、详细设计和测试等;运行维护阶段嘚主要工作是软件的运行及后期的维护等
3.C。【解析】在C语言中各种数据类型在内存中所占的字节数与机器的位数有关16位机中(也就昰在标准c 中),若int类型数据占2个字节则float类型数据占4个字节,double类型数据占8个字节
4.B。【解析】栈的特点是先进后出可知el肯定是最后出棧的,因此正确答案为选项B
(DDL)是SQL语言的一部分,用来定义模式、内模式和外
6.B【解析】①以内模式为框架所组成的数据库,1物理數据库;②以概念模式为框架所组成的数据库叫概念数据库;③以外模式为框架所组成的数据库叫用户数据库它是真实存在于计算机外存中嘚数据库。
7.A【解析】在允许过程的递归调用的程序设计语言中,由于C语言中栈的特性为先进后出因此用栈来实现递归调用中的存儲分配。
8.D【解析】程序调试是由程序开发者完成诊断和改正程序中的错误的过程;软件测试是由专门的测试人员完成,是发现错误而執行程序的过程;软件维护是指软件系统交付使用以后为了改正错误或满足新的需要而修改软件的过程,是软件生存周期中非常重要的一個阶段
9.D。【解析】本题考查do-while循环当--y是0(即y是o)时结束循环,输出--y先将y的值减1再输出Y的值。
10.A【解析】在c语言中,字符都是变为其对应的ASCII码值来参加算术运算的但字符间的相对位置关系还是不变的,字符5和字符1的ASCII码值相差仍是4
11.A。【解析】本题考查函数值的類型在函数调用时,尽管Y的类型是float.x的类型是double但是因为函数定义时没有指定类型说明,系统默认函数值的类型为int 型所以计算后Y的类型昰int型。
12.C【解析】逗号表达式的解题思路是从左到右,依次求解整个逗号表达式的值就是最后一个表达式的值。
13.C【解析】“%o”表示八进制无符号型输出整型数据(即不带前导O);“%x”是示以十六进制无符号型输出整型数据(即不带前导ox或OX);“%d”表示输出带符号的十进制整型数。
14.B【解析】本题考查函数的输出格式。在printf函数格式说明符中有两个“%”说明;将第1个%后面的字符原样输出,并不输出其对应r的變量值
15.C。【解析】根据赋值运算的类型转换规则先将double型的常量l.2转换为int型,因为x的类型是int则X的值为1;执行语句y=(K+3.8)/5.0时,即先将整型变量X嘚值1转换为double型1.0然后3.8相加得4.8,进行除法运算4.8/5.0结果为0.即变量y的值为0d*Y的值也为0,故选C选项
16.B。【解析】因X为2所以!X时表达式值为0,因Y 为1y--表达式的值为1然后自减1,y为0所以!x || y --时表达式的值为1。
18.A【解析】本题考查函数的调用,从主函数传递到调用函数中*a的值为0,因此當执行完调用函数后b[0] 的值为6。
19.B【解析】当i=0时,i<2成立执行第一个for循环x自加为1,接着执行第二个for循环;j=0时j<=3成立此时if不成立,执行x++后x为2;接着j=1时,i<=
3成立继续循环,此时if成立continue是跳出本次循环,继续下一次循环不再执行x++了;接着j=2时,j<=3成立此时if不成立,执行其后的语句;當j=4时退出第二个循环,接着执行循环外部的x++x为4;当i=1时,i<2成立执行第一个循环,x=5此时接着执行循环外部的语句,即第二个循环;j=0时j<3成立此时if不成立,x++后x
为6,接着j为1时j<=3成立,继续循环此时if成立,不再执行x++了;接着J=2时j<=3成立,此时if不成立执行其后的x++,x为7;i=3时j<=3成立,此時if成立不再执行其后的语句了;当j=4时,退出第二个循环执行循环外部的语句,最终x为8故选B选项。
21.C【解析】因为x=0x FFFF=,因此当以整型形式输出时对应的数为一1
22.A。【解析】实参是在调用时传递该函数的参数故选A。
23.C【解析】先输出a、b表示退一格,当执行到:\b後光标往后退,接着输出re ’hi ’y\(反斜杠后又加一个反斜杠的意思是要输出一个反斜杠)此时又执行:\b后,\就被ou覆盖
24.D。【解析】本题栲查双重函数调用及for循环使用fun函数中第一个for循环语句的作用是给数组a赋值。当第一次调用fun函数时把实参1传给形参,输出a数组的元素为13,5;第二次调用fun函数时由于数组a为静态局部变量,故输出a数组的元素为一13,7
25.B。【解析l本题是对基本知识点的理解预处理命令荇的位置没有规定,只是习惯写在起始位置而已当需要时才用#include头文件,预处理的作用就是实现宏定义和条件编译
26.B。【解析】C语言規定在if…else语句中,else总是与它前面的最近的if配对
27.A。【解析】本题主要考查字符数组和指针在c语言中,字符型数组在存放字符串时會自动在末尾加上’\0 ’所以数组str有11个元素;ptr指向数组str的首地址,ptr+ 10是指向str[10]*(ptr+10)是引用str[10]的值。
28.C【解析】本题考查swap函数,它的作用是把x、Y 所指的内容互换其他的不变,因此当执行完调用函数后仅仅’a’与’1’互换,其他的没有变
29.A。【解析】本题考查指针用法if语句嘚功能是判断两个数组中的字符是否相同,如果相同则输出
31.D。【解析】在C语言中数组元素的个数是确定的,不允许随机变动数組定义好后,它所能容纳的元素的个数也就确定了并且同一个数组中所有元素都是同一类型。
32.A【解析】本题主要考查按位求反运算:十六进制整型常量的形式是以数字Ox开头的十六进制字符串;位求反运算的规则是:将二进制表示的运算对象按位取反,即将1变0将0变1。
33.B【解析】C语言中,数组的下标默认为0因此数组P的下标从0开始,所以p[8]的范围为0~7第l次循环i=0,执行循环得出i=1,因此p[i]为p[1]=1212%2= 0,不执行後面的语句;接着进行第2次循环此时i=1,小于7执行循环并且i自加,得i=2因此p[i]为p[2]=13,13%2=1执行后面的语句;依此类推最后退出循环。最后j
34.C【解析】本题考查do-while循环,在fun函数中首先定义了静态变量i=0,do-while循环要实现的功能是以b[0]=b[0]+b[1]b[1]=b[1]+b[2],其他元素不变的规则重新给b数组赋值在主函数中,通过调用fun函数按上面的规则对数组a重新赋值,最后输出数组a
35.C。【解析】本题中指针p1、p2、p3指向a、b、c值所存放的地址空间然后再将指针变量*p1、*p2中值的乘积赋给指针变量*P,即赋给变量c输出c的值3。
37.A【解析】本题考查符符串比较函数和两个字符串比较的原则这两个知识点。
(1)两字符串比较的原则是依次比较两个字符串同一位置的一对字符若它们的ASCII码值相同,则继续比较下一对字符若它们的ASCII码徝不同,则ASCII码值较大的字符所在的字符串较大;若所有字符相同则两个字符串相等;若一个字符串全部i个字符与另一个字符串的前i个字符相哃,则字符串较长的较大
38.A【解析】本题主要者查右移运算和按位异或。把b化为二进制数为右移两位后为,a的二进制为两者异或為。
到要确定的新位置的字节数以起点为基准,向前移动字节数“position”为起始点,指出以文件的什么位置为基准进行移动position的值用整型瑺数表示,“0”表示文件的开头“1”表示文件的当前位置,“2”表示文件的末尾
40.D。【解析】在C语言巾文件的存取方式有两种:順序存取和直接存取。如果以“a”的方式对已打开的文件进
行写操作后则原文件中内容将保存,新的数据写在原有内容之后如果鉯“a+”的方式勾读和写操作而打开文件,则可以对文件进行读写而且在读和写操作之间不必关闭文件,可以从头开始读当对文件的读(寫)操作完成之后,必须将它关闭
考试吧推荐:2014年3月计算机二级考前冲刺备考专题
2014年全国计算机二级考试VF上机冲刺试卷汇总
2014姩计算机二级C语言考试上机冲刺试题及答案集