四川省普通高等学校计算机应用知识和能力
第二十七次等级考试
二级(C与C++语言) 笔 试 试 卷
时间: 2007年10月 27 日 上午 9:00—11:00 第一部分 软件技术基础 (共15分) 一、是非判断题(每小题1分,共10分) ( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B ) 1. 数组也是一种数据结构,一维数组就是一种顺序表结构。 2. 递归算法的程序结构比迭代算法的程序结构更为精炼。 3. 进程调度按一定的调度算法,从就绪队列中挑选出合适的进程。 4. 在单处理器系统中,程序的并发执行,实质上是程序的交替执行。 5. 数据的基本单位是数据元素。 6. 分页存储管理中,页面可以映射到不连续的内存块中。 7. 通道方式能实现外设与CPU之间直接进行数据交换。 8. 软件测试和软件调试没有任何区别。 9. 白盒测试方法一般适合用于系统测试。 10.瀑布模型的突出缺点是不适应用户需求的变化。
( A ) ( A ) ( B ) ( A ) ( A ) ( A ) ( B ) ( B ) ( A ) ( A )
二、选择题(每小题1分,共5分)
1. 线性表不具有的特点是 ( A )。 11 (A) 随机访问 (B) 无须事先估计所需存储空间大小 (C) 插入时不必移动元素 (D) 所需空间与纯属表长度成正比 2. 以下 ( D )不是实时操作系统的特点。 12 (A) 高可靠性 (B) 及时响应
(C) 中断管理 (D) 独立性
3. 若当前进程因时间片用完而让出处理机时,该进程应转变为 ( B )状态。 13 (A) 运行 (B) 就绪
(C) 等待 (D) 完成
4. 以下( C ) 不是数据结构研究的主要问题。 14 (A) 数据元素之间的逻辑关系 (B) 数据元素之间的存储结构
(C) 软件开发方法 (D) 实现操作的算法
5. 软件开发中,模块设计的原则是 ( A )。 15 (A) 低偶合、高内聚 (B)高偶合、高内聚 (C) 高偶合、低内聚 (D) 低偶合、低内聚
四川省计算机二级考试第二十七次C与C++语言笔试试卷 共11页 第1页
第二部分 C与C++语言程序设计 (共85分) 一、单项选择题 ( 每小题1分,共10分 )
1. 以下程序的输出结果是( 16 ) 。
# include
int a=-1,b=4,k;
k=(++a<0)&&!(b--<=0); printf(\}
16 (A)0 0 4 (B) 1 0 3 (C) 0 0 3 (D) 1 0 4
2. 以下对结构体变量stu1中成员age的不正确引用是( 17 )。
struct st {
int age; int num; }stu1,*p; p=&stu1;
17 (A) stu1.age (B) age (C) p->age (D) (*p).age
3. 在下列条件语句中,功能与其他语句不同的是 ( 18 )。
18 (A) if(a) printf(\ else printf(\
(B) if(a==0) printf(\ else printf(\ (C) if(a!=0) printf(\ else printf(\(D) if(a==0) printf(\ else printf(\
4. 以下叙述中完全正确的是( 19 )。
19 (A) C语言中的文件是流式文件,因此只能顺序存取文件
(B) 对一个已存在的文件进行了写操作后,原有文件中的全部数据必定被覆盖
(C) 在一个程序中当对文件进行了写操作后,必须先关闭该文件后再打开,才能读到第
一个数据
(D) 当对文件的读写操作完成之后,必须将它关闭,否则可能导致数据丢失
5. C++中,下列关键字中哪个不是类定义中使用的关键字 ( 20 )。
20 (A) class (B) public (C) switch (D) private
6. 以下程序的输出结果是( 21 )。
# include
int i1,i2; i1=f(8)/f(4);
i2=f(4+4)/f(2+2);
printf(\}
四川省计算机二级考试第二十四次C与C++语言笔试试卷 共11页 第2页
21 (A) 64,28 (B) 4,4 (C) 4,3 (D) 64,64
7. 有下面的说明和语句,则输出结果是( 22 )。
char a=9,b=020;
printf(\22 (A) 0377 (B) 40 (C) 32 (D) 以上答案均不正确
8. 下列描述,错误的是 ( 23 )。
23 (A) n维数组可以用n级指针来表示
(B) 数组下标从0开始
(C) 一个二维数组可以用一维指针数组表示
(D) 使用没有赋地址值的指针,只有当程序比较长时才可能赞成系统崩溃
9. C语言中局部变量的存储类别默认值是 ( 24 )。
24 (A) 自动(auto) (B) 静态(static)
(C) 寄存器(register) (D) 外部(extern)
10. 下列关于C++重载函数的描述中,错误的是 ( 25 ) 。
25 (A) 重载函数的参数个数和类型至少有一个不同
(B) 重载函数的参数个数可以相同
(C) 重载函数的参数个数不同但类型可以相同 (D) 重载函数的返回值类型必须相同
二、读程序回答问题 ( 每个选择3分,共45分 )
1. 阅读下面程序,回答问题。
# include
int i,j,row,column,m;
static int array[3][3]={{100,200,300},{28,72,-30},{-850,2,6}}; m=array[0][0]; for(i=0;i<3;i++) for(j=0;j<3;j++) if(array[i][j] m=array[i][j]; row=i; column=j; } printf(\} 该程序的功能是( 26 )。 26 (A) 计算二维数组的元素和 (B) 求二维数组的最小值及其下标 (C) 对二维数组进行排序 (D) 求二维数组的最大值及其下标 2. 阅读下面程序,回答问题。 # include 四川省计算机二级考试第二十七次C与C++语言笔试试卷 共11页 第3页 # include int i=0,n=0; char s[80],*p; p=s; strcpy(p,\ for(;*p!='\\0';p++) if(*p==' ') i=0; else if(i==0) { n++; i=1; } printf(\} 该程序的功能是( 27 )。 27 (A) 统计字符串中的单词个数 (B) 统计字符串中的空格个数 (C) 统计字符串中的字母个数 (D) 统计字符串中全部字符个数 3. 读程序,回答问题 # include int i,m=0,n=0,k=0; for(i=9;i<=11;i++) switch(i) { case 0: m++;n++;break; case 10:n++;break; default: k++,n++; } printf(\} 28 (A) 1 3 2 (C) 0 1 1 4. 读程序,回答问题。 # include void main(int argc,char *argv[]) { int i=1,n=0; (B) 1 4 2 (D) 0 3 2 四川省计算机二级考试第二十四次C与C++语言笔试试卷 共11页 第4页