当前位置:首页 > 四川计算机二级c语言31次笔试真题
四川省普通高等学校计算机应用知识和能力
第三十一次等级考试
二级(C与C++语言) 笔 试 试 卷
时间: 2009年10月 24 日 上午 9:00—11:00 第一部分 软件技术基础 (共15分) 一、是非判断题(每小题1分,共10分) ( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B ) 1. 数据在计算机内存中的表示是指数据的存储结构。 2. 作业与进程的主要区别是前者是由系统自动生成,后者是由用户提交。 3. 从逻辑上可以把数据结构分为线性结构和非线性结构。 4. 在设备管理中,通道是处理输入、输出的软件。 5. 链表可以随机访问任意一个结点,而顺序表则不能。 6. 栈顶的位置是随着进栈和退栈操作而变化的。 7. 处于等待状态的进程,若其等待的事件已发生,就立即转入运行状态。 8. 任何两个并发进程之间一定存在互斥关系。 9. 在面向过程方法的软件生存期内,能准确确定软件系统必须做什么和必须具备的 功能阶段是需求分析。 10.在软件测试的基本方法中,静态测试不用测试用例。
( 1 ) ( 2 ) ( 3 ) ( 4 ) ( 5 ) ( 6 ) ( 7 ) ( 8 ) ( 9 ) ( 10 )
二、选择题(每小题1分,共5分)
1. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是( 11 ) 。 11 (A) 1,4,3,2 (B) 2,3,4,1 (C) 3,1,4,2 (D) 3,4,1,2 2. 操作系统本身是计算机系统软件的重要组成部分,而其物质基础是( 12 )。 12 (A) 系统硬件 (B) 程序 (C) 数据结构 (D) 标准程序库 3. 外部设备完成了预定的输入/输出操作所引起的中断是( 13 )。 13 (A) 外中断 (B) I/O中断 (C) 程序中断 (D) 标准程序库 4. 以下的准则中哪个不是软件设计应遵循的( 14 )。 14 (A) 抽象准则 (B) 模块化准则 (C) 信息屏蔽准则 (D) 综合性准则 5. 在结构化设计方法中,设计功能模块算法属于软件开发中的 ( 15 )阶段。 15 (A) 详细设计 (B) 需求分析 (C) 总体设计 (D) 编程调试
四川省计算机二级考试第三十一次C与C++语言笔试试卷 第 1 页 共 10 页
第二部分 C与C++语言程序设计 (共85分) 一、单项选择题 ( 每小题1分,共10分 )
1. 已知:char s[]=\(考点:字符指针)
p=s;
则下列叙述正确的是( 16 ) 。 16 (A) s和p完全相同 (B) *p与s[0]不等 (C) *p与 s[0]相等 (D) *s与p相等
2. 以下可以作为函数fopen中第一个参数的正确格式是(17)。(*考点:文件)
17 (A) c:prog\\file1.dat (B) c:\\\\prog\\\\file1.dat
(C) \ (D) \
3. 若有定义:
union data {
int i; float j; char s[5]; }k;
则在Turbo C 2.0环境中sizeof(k)的值是(18)。(考点:共用体类型) 18 (A) 2 (B) 5 (C) 11 (D) 0
4. 下面四个选项中,合法的用户自定义标识是( 19 )。(考点:标识符命名)
19 (A) int (B) a_b3 (C) 3_bc (D) #mm
5. 已知结构体:( 20 )。(考点:存储类型extern)
struct student {
char name[20]; struct { int year; int month; }birth; char sex; }stu;
20 (A) stu.birth=2009; (B) stu.year=2009;
(C) stucent.birth.year=2009; (D) stu.birth.year=2009;
6. 下面程序的输出结果是( 21 )。(考点:宏定义)
# include
# define N 2*M+1 # define K N/2-5 void main()
{ printf(\ } 21 (A) 2 (B) 1 (C) 0 (D) 3
7. 有以下结构体及其变量的定义:
struct node { int data;
四川省计算机二级考试第三十一次C与C++语言笔试试卷 第 2 页 共 10 页
struct node *next; }*p,*q,*r;
如图所示,指针p、q、r分别指向此链表中的三个连续结点。 data next data next data next p q r 若要将q所指结点从链表中删除,使p所指结点与r所指结点连接,不能完成指定操作的语句是( 22 )。(考点:链表) 22 (A) p->next=q->next; (B) p->next=p->next->next;
(C) p->next=r; (D) p=q->next;
8. 下列程序段中,不是无限循环的是( 23 )。(考点:循环语句)
23 (A) (B) k=0; j=100; do while(1) { ++k; } { j=j0+1;
whiel(k-->=0); if( j>100 ) break; }
(C) (D) s=3333; for( ; ; ); while(s%2+s++%2);
9. 不能把字符串\赋给字符数组b的选项是( 24 )。(考点:字符数组赋值)
24 (A) char b[10]={ 'H','e','l','l','o','!','\\0'};
(B) char b[10]; b=\
(C) char b[10]; strcpy(b, \(D) char b[10]= \
10. 若变量已正确定义并赋值,以下符合C语言语法的表达式是 ( 25 ) 。(考点:表达式)
25 (A) a:=b+1 (B) a=b=c+2 (C) int 18.5%3 (D) a=a+7=c+b
二、读程序回答问题 ( 每个选择3分,共45分 )
1. 在下面程序中(考点:数组、函数(地址参数)、删除字符算法) # include
int i,j;
for(i=0,j=0;s[i]!='\\0';i++) if(s[i]>='0' && s[i]<='9') { s[j]=s[i]; j++; } s[j]='\\0'; }
void main() {
char s[20]=\ fun(s);
printf(\ printf(\
四川省计算机二级考试第三十一次C与C++语言笔试试卷 第 3 页 共 10 页
}
(1) 第1个printf输出的结果为( 26 )。 26 (A) 8 8 (B) 20 8 (C) 20 20 (D) 20 4 (2) 第2个printf输出的结果为( 27 )。 27 (A) abcd (B) ab12cd (C) 1234 (D) ab12cd34
2. 下列程序的输出结果是( 28 )。(考点:函数(地址参数和普通参数)、指针运算)
void fun(char *c,int d) {
*c=*c+1; d=d+1; }
void main() {
char a='A',b='a'; fun(&b,a);
printf(\}
28 (A) B,A (B) a,B (C) A,B (D) A,b
3. 下列程序的输出结果是( 29 )。(考点:带参数的宏定义)
# include \
# define GOOD(y) 2.84+y
# define PR(a) printf(\# define PRINT(a) PR(a);putchar('\\n') void main() {
int x=2;
PRINT(GOOD(5)*x); }
29 (A) 11 (B) 15 (C) 13 (D) 12
4. 下列程序运行后的输出结果是( 30 )。(考点:结构体类型、函数(普通参数)、全局变量和局部变量)
# include \struct tree {
int x; char *s; }t;
func(struct tree t) {
t.x=10;
t.s=\ return(0); }
void main() {
t.x=1;
t.s=\
四川省计算机二级考试第三十一次C与C++语言笔试试卷 第 4 页 共 10 页
共分享92篇相关文档