四川计算机二级第34次C语言笔试真题答案 联系客服

发布时间 : 星期四 文章四川计算机二级第34次C语言笔试真题答案更新完毕开始阅读

四川省普通高等学校计算机应用知识和能力

第三十四次等级考试

二级(C与C++语言) 笔 试 试 卷

时间: 2011年4月 16 日 上午 9:00—11:00 第一部分 软件技术基础 (共15分) 一、是非判断题(每小题1分,共10分) ( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B ) 1. 作业与进程的主要区别是前者由用户提交,后者是由系统自动生成。 2. 从循环链表中任意一个结点出发都能访问到整个链表。 3. 如果分时操作系统的时间片一定,那么用户数越少,则响应时间越长。 4. 队列在操作系统的各种资源请求排队及数据缓冲区管理中广泛使用。 5. 死锁产生的根本原因是操作系统能够提供的资源比请求该资源的进程数少。 分析:死锁产生原因:争夺共享资源;进程推进顺序不当

6. 虚拟设备技术能将独占设备转换为可共享的设备,提高资源利用率。 7. 链栈与顺序栈相比,有一个明显的优点是通常不会出现栈满的情况。 8. 软件维护是长期的过程,交付使用的软件仍然需要排错、修改和扩充。 9. 墨盒测试要求测试人员根据程序内部逻辑结构设计或选择测试用例。 分析:白盒测试才是根据程序内部逻辑结构设计测试用例,黑盒测试是功能测试 10.软件设计时,应力求增加模块的耦合,减少模块间的内聚。 分析:软件设计时,应力求增加模块的内聚,减少模块间的耦合

( A ) ( A ) ( A ) ( A ) ( B ) ( A ) ( A ) ( A ) ( B ) ( B )

二、选择题(每小题1分,共5分)

1. 设已将元素a1、a2、a3依次入栈,元素a4正等待进栈。那么下列4个序列中不可能出现的出栈序列是( A ) 。

11 (A) a3、a1、a4、a2 (B) a3、a2、a4、a1

(C) a3、a4、a2、a1 (D) a4、a3、a2、a1

2. 以下哪一个不是操作系统的特征( B )。 12 (A) 并发 (B) 分解 (C) 共享 (D) 虚拟 3. 下列的进程状态变化中,( C )变化是不可能发生的。 13 (A) 运行?就绪 (B) 运行?等待 (C) 等待?运行 (D) 等待?就绪 4. 很好地解决了碎片问题的存储管理方法是( D )。 14 (A) 多重分区管理 (B) 段式存储管理 (C) 可变分区管理 (D) 页式存储管理 5. 作业从进入后备队列到被调度程序选中的时间间隔称为( B )。 15 (A) 周转时间 (B) 等待时间 (C) 响应时间 (D) 触发时间

四川省计算机二级考试第三十四次C与C++语言笔试试卷 第 1 页 共 11 页

第二部分 C与C++语言程序设计 (共85分) 一、单项选择题 ( 每小题1分,共10分 )

1. 以下合法的字符常量是( C )。

16 (A) “a” (B) ‘\\72’ (C) ‘\\0x12’ (D) ‘ab’

2. 以下程序的结果是( B )。

#include \void main() {

unsigned int a=3,b=10; printf(\}

17 (A) 1 (B) 13 (C) 12 (D) 5

3. 以下程序的输出结果是( D )。

#include \void main() {

int a=-1,b=4,k;

k=(++a)&&!(b--<=0);

printf(\}

18 (A)1 0 4 (B)1 0 3 (C) 0 0 3 (D)0 0 4

4. 以下程序的输出结果是( C )。

#include void main() {

char p[20]={'a','b','c','d'},q[]=\ strcpy(p+strlen(q),r); strcat(p,q);

printf(\}

19 (A) 20 9 (B) 9 9 (C)20 11 (D)11 11

5. 下列对C语言字符数组的描述中错误的是( C )。

20 (A) 字符数组可以存放字符串

(B) 字符数组的字符串可以整体输入、输出

(C) 可以在程序中用赋值运算符“=”对字符数组进行整体赋值 (D) 不可以用关系运算符对字符数组中的字符串进行比较

6.下述程序的输出结果是( D )。

#include \void main() {

int a[]={7,4,6,3,10}; int m=10,k,*ptr=&a[0]; for(k=0;k<5;k++) m=*(ptr+k)

四川省计算机二级考试第三十四次C与C++语言笔试试卷 第 2 页 共 11 页

printf(\}

21 (A) 10 (B) 4 (C) 6 (D) 3

7. 有如下程序

#include \void main() { int a=2,b=-1,c=2; if(a

该程序的输出结果是( C )。 22 (A) 0 (B) 1 (C) 2 (D) 3

8. 根据下面的结构体类型及其结构数组的定义,值等于‘A’的表达式是( D )。 struct season { char name[10]; int day; }; struct season s[4]={“Spring”,90,”Summer”,91,”Autumn”,92,”Winter”,92};

23 (A) s[3].name[0] (B) s[3].name

(C) s[2].name (D) s[2].name[0]

9. 运行以下程序的输出结果为( B )。 #include \

#define R 1+2 #define S(r) r*r #define V(r) S(r)*R void main() { int r1=1+2; printf(\}

24 (A) 27 (B) 11 (C)9 (D)7

10.以下不能对二维数组a进行正确初始化的语句是 ( A ) 。

25 (A) int a[ 2 ][ 3 ]={{1,2},{3,4},{5,6}}; (B) int a[ ][ 3 ]={{1,2},{0}};

(C) int a[ 2 ][ 3 ]={0};

(D) int a[ ][ 3 ]={1,2,3,4,5,6};

二、读程序回答问题 ( 每个选择3分,共45分 )

1. 读下面程序并回答问题:

#include \void main() {

四川省计算机二级考试第三十四次C与C++语言笔试试卷 第 3 页 共 11 页

int x=1,y=0,a=0,b=0; switch(x) {

case 1: switch(y) { case 0:a++;break; case 1:b++;break; } case 2: a++;b++;break; }

printf(\}

(1)程序的运行结果为( A )。 26 (A) 2,1 (B) 1,2 (C) 1,1 (D) 0,0

(2)将程序中的switch(x)更改为switch(x!=1),其程序运行结果是( D )。 27 (A) 2,1 (B) 1,2 (C) 1,1 (D) 0,0

2. 读下面程序并回答问题:

#include \#include \

void abc(char *name[],int len) { char *temp; int i,j,k; for(i=0;i0) k=j; if(i!=k) { temp=name[i];name[i]=name[k];name[k]=temp; } } }

void main() { static char *name[]={\ int i,n=5; abc(name,n); for(i=0;i<5;i++) printf(\ printf(\}

函数abc的功能是( B )。

28 (A) 按字符排序 (B) 按字符串排序

(C) 交换字符串 (D) 字符串倒序 程序的运行结果是( C )。

四川省计算机二级考试第三十四次C与C++语言笔试试卷 第 4 页 共 11 页