![]() ![]() |
||||||||||||||||||||||||||||||||
06年9月计算机等级考试二级C语言考前密卷十 | ||||||||||||||||||||||||||||||||
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:36:10 文章录入:杜斌 责任编辑:杜斌 | ||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
一、选择题 (1)下列叙述中正确的是 A)线性表是线性结构 B)栈与队列是非线性结构 C)线性链表是非线性结构 D)二叉树是线性结构 (2)非空的循环单链表head的尾结点(由p所指向),满足 A)p->next==NULL B)p==NULL C)p->next=head D)p=head (3)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是 A)堆排序 B)直接插入排序 C)快速排序 D)直接选择排序 (4)对建立良好的程序设计风格,下面描述正确的是 A)程序应简单、清晰、可读性好 B)符号名的命名只要符合语法 C)充分考虑程序的执行效率 D)程序的注释可有可无 (5)下列不属于结构化分析的常用工具的是 A)数据流图 B)数据字典 C)判定树 D)PAD图 (6)在软件生产过程中,需求信息的给出是 A)程序员 B)项目管理者 C)软件分析设计人员 D)软件用户 (7)下列工具中为需求分析常用工具的是 A)PAD B)PFD C)N-S D)DFD (8)NULL是指 A)0 B)空格 C)未知的值或无任何值 D)空字符串 (9)数据库的故障恢复一般是由 A)数据流图完成的 B)数据字典完成的 C)DBA完成的 D)PAD图完成的 (10)下列说法中,不属于数据模型所描述的内容的是 A)数据结构 B)数据操作 C)数据查询 D)数据约束
(11)C语言程序的基本单位是 A)程序行 B)语句 C)函数 D)字符 (12)下面四个选项中,均是合法整型常量的选项是 A)160 -0xffff 011 B)-0xcdf 01a 0xe C)-01 986,012 0668 D)-0x48a 2e5 0x (13)以下选项中合法的用户标识符是 A)long B)_2Test C)3Dmax D)A.dat (14)假定x和y为double型,则表达式x=2,y=x+3/2的值是 A)3.500000 B)3 C)2.000000 D)3.000000 (15)以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C语言表达式是 A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z (11)C语言程序的基本单位是 A)程序行 B)语句 C)函数 D)字符 (12)下面四个选项中,均是合法整型常量的选项是 A)160 -0xffff 011 B)-0xcdf 01a 0xe C)-01 986,012 0668 D)-0x48a 2e5 0x (13)以下选项中合法的用户标识符是 A)long B)_2Test C)3Dmax D)A.dat (14)假定x和y为double型,则表达式x=2,y=x+3/2的值是 A)3.500000 B)3 C)2.000000 D)3.000000 (15)以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z的C语言表达式是 A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z
(21)C语言中 while 和do-while循环的主要区别是 A)do-while的循环体至少无条件执行一次 B)while的循环控制条件比do-while的循环控制条件更严格 C)do-while允许从外部转到循环体内 D)do-while 的循环体不能是复合语句 (22)以下程序的输出结果是
A)1,6,3,1,3 B)1,6,3,6,3 C)1,6,3,2,3 D)1,7,3,2,3 (23)下面程序输出的结果是
A)1 5 9 B)7 5 3 C)3 5 7 D)5 9 1 (24)请阅读以下程序:
以上程序 A)有语法错不能通过编译 B)可以通过编译但不能通过连接 C)输出*** D)输出$$$ (25)以下程序的输出结果是
A)a B)Z C)z-25 D)y (26)下面函数的功能是
A)求字符串的长度 B)比较两个字符串的大小 C)将字符串str1复制到字符串str2中 D)将字符串str1接续到字符串str2中 (27)下面函数调用语句含有实参的个数为 func((exp1,exp2),(exp3,exp4,exp5)); A)1 B)2 C)4 D)5 (28)下面程序段的运行结果是
A)cde B)字符′c′ C)字符′c′的地址 D)无确定的输出结果 (29)已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是
A)23 B)24 C)25 D)26 (30)当顺利执行了文件关闭操作时,fclose函数的返回值是 A)-1 B)TRUE C)0 D)1
(21)C语言中 while 和do-while循环的主要区别是 A)do-while的循环体至少无条件执行一次 B)while的循环控制条件比do-while的循环控制条件更严格 C)do-while允许从外部转到循环体内 D)do-while 的循环体不能是复合语句 (22)以下程序的输出结果是
A)1,6,3,1,3 B)1,6,3,6,3 C)1,6,3,2,3 D)1,7,3,2,3 (23)下面程序输出的结果是
A)1 5 9 B)7 5 3 C)3 5 7 D)5 9 1 (24)请阅读以下程序:
以上程序 A)有语法错不能通过编译 B)可以通过编译但不能通过连接 C)输出*** D)输出$$$ (25)以下程序的输出结果是
A)a B)Z C)z-25 D)y (26)下面函数的功能是
A)求字符串的长度 B)比较两个字符串的大小 C)将字符串str1复制到字符串str2中 D)将字符串str1接续到字符串str2中 (27)下面函数调用语句含有实参的个数为 func((exp1,exp2),(exp3,exp4,exp5)); A)1 B)2 C)4 D)5 (28)下面程序段的运行结果是
A)cde B)字符′c′ C)字符′c′的地址 D)无确定的输出结果 (29)已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是
A)23 B)24 C)25 D)26 (30)当顺利执行了文件关闭操作时,fclose函数的返回值是 A)-1 B)TRUE C)0 D)1
(31)设有如下定义 char *s[2]={ "abcd","ABCD"}; 则下列说法错误的是 A)s数组元素的值分别是"abcd"和"ABCD"两个字符串的首地址 B)s是指针数组名,它含有两个元素分别指向字符型一维数组 C)s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素 D)s数组的两个元素中分别存放了字符′a′和′A′的地址 (32)以下不能对二维数组a进行正确初始化的语句是 A)int a[2][3]={0}; B)int a[][3]={{1,2},{0}}; C)int a[2][3]={{1,2},{3,4},{5,6}}; D)int a[][3]={1,2,3,4,5,6}; (33)有以下程序
程序运行后的输出结果是 A)260.00 B)270.00 C)280.00 D)285.00 (34)若有说明:int a[10];则对a数组元素的正确引用是 A)a[10] B)a[3,5] C)a(5) D)a[10-10] (35)下面程序段中,输出*的个数是 char *s="\ta\018bc"; for(;*s!=′\0′;s++)printf("*"); A)9 B)5 C)6 D)7 (36)设有如下函数
则函数的类型是 A)与参数x的类型相同 B)是void C)是int型 D)无法确定 (37)有如下定义
char c=′D′; 则下面选项中错误的是 A)x++; B)y++; C)c++; D)D++; (38)以下程序段的执行结果为
A)SUM=9 B)SUM=12 C)SUM=18 D)SUM=28 (39)C语言规定,函数返回值的类型是由 A)return语句中的表达式类型所决定 B)调用该函数时的主调函数类型所决定 C)调用该函数时系统临时决定 D)在定义该函数时所指定的函数类型所决定 (40)下列程序的运行结果是
A)2004 9 B)9 2004 C)0 0 D)编译时出错
(41)下列程序是用来判断数组中特定元素的位置所在。如果输入如下整数: 876 675 896 101 301 401 980 431 451 777
则输出结果为 A)7,431 B)6 C)980 D)6,980 (42) C语言结构体类型变量在程序执行期间 A)所有成员一直驻留在内存中 B)只有一个成员驻留在内存中 C)部分成员驻留在内存中 D)没有成员驻留在内存中 (43)下面程序应能对两个整型变量的值进行交换。以下正确的说法是
A)该程序完全正确 B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可 C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可 D)以上说法都不对 (44)有以下程序
若从键盘输入:abc def<回车>,则输出结果是 A)def def B)abc def C)abc d D)d d (45)以下程序的输出结果是
A)20 B)24 C)25 D)15 (46)已知 int a=1,b=3则a^b的值为 A)3 B)1 C)2 D)4 (47)如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是 A)fp=fopen("Demo","r"); B)fp=fopen("Demo","ab+"); C)fp=fopen("Demo","w+"); D)fp=fopen("Demo","r+"); (48)若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是 A)fopen("A:\user\abc.txt","r") B)fopen("A:\\user\\abc.txt","rt+") C)fopen("A:\user\abc.txt","rb") D)fopen("A:\user\abc.txt","w") (49)有以下程序
程序运行后的输出结果是 A)12 B)15 C)6 D)5 (50) 有以下程序
程序运行后的输出结果是 A)10 B)20 C)30 D)40
二、填空题 (1)冒泡排序算法在最好的情况下的元素交换次数为 【1】 。 解析: 根据冒泡排序算法思想可知,若待排序的初始序列为“正序”序列,则只需进行一趟排序,在排序过程中进行n-1次关键字间的比较,且不移动和交换记录,这种情况是冒泡排序的最好情况,故冒泡排序算法在最好的情况下的元素交换次数为0。 (2)在最坏情况下,堆排序需要比较的次数为 【2】 。 答案:0(nlog2n) (3)若串s="MathTypes",则其子串的数目是 【3】 。 解析: 串s中共有9个字符,由于串中字符各不相同,则其子串中有0个字符的1个(空串),1个字符的9个,2个字符的8个,3个字符的7个,4个字符的6个,5个字符的5个,6个字符的4个,7个字符的3个,8个字符的2个,9个字符的1个,共有1+2+3+4+5+6+7+8+9+1=46。 (4)软件开发环境是全面支持软件开发全过程的 【4】 集合。 答案:软件工程 (5)关系数据库的关系演算语言是以 【5】 为基础的DML语言。 解析: 关系数据库中的关系演算包括元组关系演算和域关系演算。二者都是由原子公式组成的公式。而这些关系演算都是以数理逻辑中的谓词演算为基础的。 (6)下列y的值是 【6】 。 int y; y=sizeof (2.25*4); 解析: sizeof (2.25*4)为sizeof (10.00)值为8,C语言规定浮点型常量当双精度处理(以IRM-PC机为例)。 (7)下列x的值是 【7】 。 int x;x=sizeof 2.25*4; 解析: sizeof运算符高于算术运算符,所以sizeof 2.25*4等价于(sizeof 2.25)*4为8×4=32(以IBM-PC机为例)。 (8)以下程序的输出结果是 【8】 。
解析: 以0开头的是八进制数。 (9)下列程序的输出结果为 【9】 。
解析: x--的值为3,--y的值为4;注意前缀--和后缀--的区别。 (10)以下程序的输出结果是 【10】 。
解析: 在函数调用时,形参值和改变,不能会改变实参的值。
二、填空题 (1)冒泡排序算法在最好的情况下的元素交换次数为 【1】 。 解析: 根据冒泡排序算法思想可知,若待排序的初始序列为“正序”序列,则只需进行一趟排序,在排序过程中进行n-1次关键字间的比较,且不移动和交换记录,这种情况是冒泡排序的最好情况,故冒泡排序算法在最好的情况下的元素交换次数为0。 (2)在最坏情况下,堆排序需要比较的次数为 【2】 。 答案:0(nlog2n) (3)若串s="MathTypes",则其子串的数目是 【3】 。 解析: 串s中共有9个字符,由于串中字符各不相同,则其子串中有0个字符的1个(空串),1个字符的9个,2个字符的8个,3个字符的7个,4个字符的6个,5个字符的5个,6个字符的4个,7个字符的3个,8个字符的2个,9个字符的1个,共有1+2+3+4+5+6+7+8+9+1=46。 (4)软件开发环境是全面支持软件开发全过程的 【4】 集合。 答案:软件工程 (5)关系数据库的关系演算语言是以 【5】 为基础的DML语言。 解析: 关系数据库中的关系演算包括元组关系演算和域关系演算。二者都是由原子公式组成的公式。而这些关系演算都是以数理逻辑中的谓词演算为基础的。 (6)下列y的值是 【6】 。 int y; y=sizeof (2.25*4); 解析: sizeof (2.25*4)为sizeof (10.00)值为8,C语言规定浮点型常量当双精度处理(以IRM-PC机为例)。 (7)下列x的值是 【7】 。 int x;x=sizeof 2.25*4; 解析: sizeof运算符高于算术运算符,所以sizeof 2.25*4等价于(sizeof 2.25)*4为8×4=32(以IBM-PC机为例)。 (8)以下程序的输出结果是 【8】 。
解析: 以0开头的是八进制数。 (9)下列程序的输出结果为 【9】 。
解析: x--的值为3,--y的值为4;注意前缀--和后缀--的区别。 (10)以下程序的输出结果是 【10】 。
解析: 在函数调用时,形参值和改变,不能会改变实参的值。 答案 选择题 01-05 A C B A A 06-10 D D C C C 11-15 C A B D A 16-20 C C B A C 21-25 A C B D A 26-30 C B C D C 31-35 C C B D C 36-40 C D B D A 41-45 B A D A D 46-50 C D B D D |
||||||||||||||||||||||||||||||||
![]() ![]() |