2008年9月全国计算机二级C语言考试真题及答案

2020-07-13发布者:郝悦皓大小:52.00 KB 下载:0

2008 年 9 月全国计算机二级 C 语言考试真题及答案 (考试时间 90 分钟,满分 100 分) 一、选择题 下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项涂写 在答题卡相应位置上,答在试卷上不得分。 (1)一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈, 然后再依次出栈,则元素出栈的顺序是 A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA (2)下列叙述中正确的是 A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B)在循环队列中,只需要队头指针就能反应队列中元素的动态变化情况 C)在循环队列中,只需要队尾指针就能反应队列中元素的动态变化情况 D)循环队列中元素的个数是由队头和队尾指针共同决定 (3)在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是 A)O(N) B)O(n2) C)O(log2n) D)O(n log2n) (4)下列叙述中正确的是 A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间 (5)数据流图中带有箭头的线段表示的是 A)控制流 B)事件驱动 C)模块调用 D)数据流 (6)在软件开发中,需求分析阶段可以使用的工具是 A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图 (7)在面向对象方法中,不属于“对象”基本特点的是 A)一致性 B)分类性 C)多态性 D)标识唯一性 (8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是 1 A)一对一 B)一对多 C)多对一 D)多对多 (9)在数据管理技术发展的三个阶段中,数据共享最好的是 A)人工管理阶段 B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同 (10)有三个关系 R、S 和 T 如下: ABC m13 R S T AB m1 n2 BC 13 35 由关系 R 和 S 通过运算得到关系 T,则所使用的运算为 A)笛卡尔积 B)交 C)并 D)自然连接 (11)以下叙述中正确的是 A)C 程序的基本组成单位是语句 C)简单 C 语句必须以分号结束 B)C 程序中每一行只能写一条语句 D)C 语句必须在一行内写完 (12)计算机能直接执行的程序是 A)源程序 B)目标程序 C)汇编程序 D)可执行程序 (13)以下选项中不能作为 C 语言合法常量的是 A)’cd’ B)0.1e+6 C)”a” D)”11” (14)以下选项中正确的定义语句是 A)double a;b; B)double a=b=7; C)double a=7,b=7; D)double ,a,b; (15) 以下不能正确表示代数式 的 C 语言表达式是 A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2 D)2*a*b/c*d (16)C 源程序中不能表示的数制是 A)二进制 B) 八进制 C) 十进制 D) 十六进制 2 (17) 若有表达式(w)?(--x):(++y),)?(--x):(++y),):(++y),),则其中与 w)?(--x):(++y), 等价的表达式是 A) w)?(--x):(++y),= =1 B) w)?(--x):(++y),= =0 C)w)?(--x):(++y),!=1 D) w)?(--x):(++y),!=0 (18) 执行以下程序段后,w)?(--x):(++y), 的值为 int w)?(--x):(++y),=’A’,x):(++y),=14,y),=15; w)?(--x):(++y),=((x):(++y),||y),)&&(w)?(--x):(++y),<’a’)); A)-1 B)NULL C)1 D) 0 (19)若变量已正确定义为 int 型,要通过语句 scanf(“%d,%d,%d ”,&a,&b,&c);给 a 赋 值 1,给 b 赋值 2, 给 c 赋值 3, 以下输入形式中错误的是(u 代表一个空格符) A)uuu1,2,3<回车> B)1u2u3<回车> C)1,uuu2, uuu3<回车> D)1,2,3<回车> (20) 有以下程序段 int a,b,c; a=10; b=50; c=30; if(a>b)a=b,b=c;c=a; printf(“a=%d b=%d c=%d n”,a,b,c); 程序的输出结果是 A) a=10 b=50 c=10 B) a=10 b=50 c=30 C) a=10 b=30 c=10 D) a=50 b=30 c=50 (21) 若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对 m 数组元素的引用中错误的 是 A) m[--i] B)m[2*2] C)m[m[0]] D)m[m] (22)下面的函数调用语句中 func 函数的实参个数是 func(f2(v1,v2),(v3,v4,v5),(v6,max):(++y),(v7,v8))); A)3 B) 4 C)5 D)8 (23)若有定义语句:double x):(++y),[5]={1.0,2.0,3.0,4.0,5.0},*p=x):(++y),; 则错误引用 x):(++y), 数组 元素的是 A)*p B)x):(++y),[5] C)*(p+1) D)*x):(++y), (24) 若有定义语句:char s[10]= “1234567 ”;,则 strlen(s)的值是 A)7 B)8 C)9 D)10 3 (25)以下叙述中错误的是 A) 用户定义的函数中可以没有 return 语句 B)用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值 C)用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型 D)函数的 return 语句中可以没有表达式 (26)以下关于宏的叙述中正确的是 A)宏名必须用大写字母表示 B)宏定义必须位于源程序中所有语句之前 C)宏替换没有数据类型限制 D)宏调用比函数调用耗费时间 (27)有以下程序 #includeinclude main() { int i,j; for(i=3;i>=1;i--) { for(j=1;j<=2;j++) printf("%d",i+j); printf("n ") } } 程序的运行结果是 A) 2 3 4 345 B) 4 3 2 C) 2 3 543 45 34 D) 4 5 34 23 (28) 有以下程序 #includeinclude main() { int x):(++y),=1,y),=2,z=3; if(x):(++y),>y),) if(y), main() { int i=5; do { if(i%3==1) if(i%5==2) { printf(“*%d”,i); break; } i++; } w)?(--x):(++y),hile(i!=0); printf(“n”); } 程序的运行结果是 A) *7 B)*3*5 C)*5 D)*2*6 (30)有以下程序 #includeinclude int fun(int a,int b) { if(b==0) return a; else return(fun(--a,--b)); } main() { printf("%dn", fun(4,2));} 程序的运行结果是 A) 1 B)2 C)3 D)4 5
温馨提示:当前文档最多只能预览 7 页,此文档共14 页,请下载原文档以浏览全部内容。如果当前文档预览出现乱码或未能正常浏览,请先下载原文档进行浏览。
发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

下载需知:

1 该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读

2 除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑修改

3 有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载

4 该文档为会员上传,版权归上传者负责解释,如若侵犯你的隐私或权利,请联系客服投诉

返回顶部