




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川省普通高等学校计算机应用知识和能力第三十次等级考试二级(C与C+语言) 笔 试 试 卷时间: 2009年4月 18 日 上午 9:0011:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 能影响中断响应次序的技术是中断优先级和中断屏蔽。( 1 )2. 线性结构中元素的关系是一对一,树形结构中元素的关系也是一对一。( 2 )3. 在操作系统中,进程是一个具有独立运行功能的程序在某个数据集合上的一次运行过程。( 3 )4. 操作系统的存储器管理部分负责对进程进行调度。( 4 )5. 分时操作系统通常采用时间片轮转策略为用户服务。( 5 )6. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。( 6 )7. 顺序查找只适用于存储结构为顺序存储的线性表。( 7 )8. 栈顶的位置是随着进栈和退栈操作而变化的。( 8 )9. 结构化程序设计主要强调的是程序的易读性。( 9 )10.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、判定树。 ( 10 )参考答案:ABABA ABABA二、选择题(每小题1分,共5分)1. 分页式存储管理的主要特点是( 11 ) 。 11 (A) 要求作业全部同时装入内存(B) 不要求作业装入到内存的连续区域 (C) 要求扩充外存容量(D) 不要求处理缺页中断2. 进程从运行状态进入就绪状态的原因可能是( 12 )。 12 (A) 被选中占有处理机(B) 等待某一事件(C) 等待的事件已发生(D) 时间片用完3. 多道程序设计是指( 13 )。 13 (A) 在实时系统中并发运行多个程序(B) 在分布系统工程中同一时刻运行多个程序(C) 在一台处理机上同一时刻运行多个程序 (D) 在一台处理机上并发运行多个程序4. 需求分析中开发人员主要从用户那里了解( 14 )。 14 (A) 软件如何做(B) 软件数据结构(C) 软件做什么(D) 软件模块大小5. 对象实现了数据和操作的结合,使数据和操作 ( 15 )于对象的统一体中。 15 (A) 结合 (B) 隐藏 (C) 封装 (D) 抽象参考答案:BDDCC第二部分C与C+语言程序设计(共85分)一、单项选择题 ( 每小题1分,共10分 ) 1. C语言中,若有说明:(考点:指针)float n=2.0,*p=&n,*q=p;则以下非法的赋值语句是( 16 ) 。16 (A) p=q;(B) *p=*q;(C) n=*q;(D) p=n; 2. C+中,已知int a=6,b=3;将a+b的值输出到屏幕上,下列正确的输出是(17)。(*考点:C+)17 (A) couta+bendl(B) cout”a+b”endl(C) couta+bendl(D) cout”%d”,a+bendl 3. 有类型定义:typedef struct int x; int y; POINT;下面正确的语句是(18)。(考点:自定义类型) 分析:POINT为用typedef定义的一种新的类型名。18 (A) POINT.x=12; POINT.y=10;(B) POINT a;(C) struct POINT a12,10;(D) POINT a(12,10); 4. 下面程序的输出结果是( 19 )。(考点:带参数的宏定义)# define SQURE(N) N*Nvoid main() printf(%d, SQURE(3+2) ); / 3+2*3+2 (注意:先替换再计算)19 (A) 25(B) 11(C) 15(D) 9 5. 要实现一个文件引用另一个文件中的变量,必须通过( 20 )。(考点:存储类型extern)20 (A) 用extern对变量说明(B) #include 预处理命令(C) # define预处理命令(D) 用typedef重新定义 6. 以下定义语句中,错误的是( 21 )。(考点:定义数组)21 (A) int a=1,2;(B) char *a3;(指针数组)(C) char s10=test;(D) int n=5,an; /不能用变量定义数组的长度 7. 下面语句彼此等价的是( 22 )。(考点:关系、逻辑运算表达式)22 (A) !(a10)与 !(a10)(B) !(a=b)与 ab&ab)与 a=10|a=10)与!(a=10) 8. 设有说明:int (*a)M; 其中的标识符a是( 23 )。(考点:行指针)23 (A) 一个指向具有M个整型元素的一维数组的指针 (a是一个行指针变量)(B) 指向M个整型变量的函数指针(C) M个指向整型变量的指针(D) 具有M个指针元素的一维数组指针,每个元素都只能指向整型量 ( int *aM; ) 9. 若有以下说明和语句: (考点:结构体指针)struct student int age; int num; std, *p; /std是结构体类型变量,p是指向结构类型数据的指针变量p=&std; /p指向std变量则以下对结构体变量std中成员age的引用方式不正确的是( 24 )。24 (A) std.age(B) p-age(C) (*p).age(D) *p.age * (p.age) 10. 若有定义:char s100=string; 则执行语句puts( strcat( s, strcpy( s,s ) ) ); 后,屏幕上输出的结果是 ( 25 ) 。(考点:字符串处理库函数)25 (A) s(B) strings(C) ss(D) sstring二、读程序回答问题 ( 每个选择3分,共45分 ) 1. 读程序并回答问题(考点:数组、函数(地址参数)、逆置算法)# include void fun(int *a,int bott,int top) int i,j,t; i=bott; j=top; while(ij) t=ai; ai=aj; aj=t; /交换ai和aj i+;j-; void main() int a10=1,2,3,4,5,6,7,8,9,0,i; fun(a,0,3); / a: 4,3,2,1,5,6,7,8,9,0 fun(a,4,9); / a: 4 3 2 1 0 9 8 7 6 5 fun(a,0,9); / a: 5 6 7 8 9 0 1 2 3 4 for(i=0;i10;i+) printf(%d ,ai);函数fun的功能是( 26 )。26 (A) 将下标为bott 到 top 之间的数组元素逆置(B) 将下标为bott 到 top 之间数组元素进行升序排列(C) 将下标为bott 到 top 之间数组元素进行降序排列(D) 将下标为bott 和下标为 top 的两个元素互换程序的运行结果为( 27 )。27 (A)0987654321(B) 4321098765(C) 5678901234(D) 0987651234 2. 读程序并回答问题。(考点:递归函数)# include long fun(int n) long z; if(n=0| n=1) z=1; else z=n*fun(n-2); return z;void main() long z; int n; scanf(%d,&n); z=fun(n); printf(%ldn,z);若输入n的值为6,则程序的输出结果为( 28 )。28 (A) 21(B) 15(C) 48(D) 720以下哪个非递归程序与函数fun的功能相同( 29 )。(B) long fun(int n) int i; long z; for(i=n,z=0;i0;i-=2) z=z+i; return z;29 (A) long fun(int n) int i; long z; for(i=n,z=1;i0;i-=2) z=z*i; retrun z;(D) long fun(int n) int i; long z; for(i=n,z=0;i0;i-) z=z+i; return z; (C) long fun(int n) int i; long z; for(i=n,z=1;i0;i-) z=z*i; retrun z; 3. 读程序并回答问题(考点:文件、函数(地址参数)、排序算法)# include void fun(int *a,int n) /用冒泡排序法对a数组中的n个数进行升序排序 int i,j,t; for(i=0;in;i+) for(j=0;jaj+1 ) / 相邻元素比较,逆序交换,这是冒泡排序法 t=aj; aj=aj+1; aj+1=t; void main() FILE *fp; int a5,i; if(fp=fopen(data.txt,r+)=NULL) /可读可写方式打开文件 printf(Cannot open the file.n); exit(0); for(i=0;i5;i+) /结束循环后文件位置指针指向文件的末尾 fscanf(fp,%d,a+i); /从文件读出5个整数 fun(a,5); rewind(fp); /重置文件的位置指针到文件的开头 for(i=0;i5;i+) printf(%d ,ai); fprintf(fp,%d ,ai); /向文件写5个整数,将文件中原有内容覆盖掉 fclose(fp);若文件data.txt中的内容为1 3 2 5 4 ,读程序回答下面两个问题程序运行后,屏幕上的输出结果为( 30 )。30 (A) 5 4 3 2 1(B) 1 2 3 4 5(C) 1 3 2 5 4 1 2 3 4 5(D) 1 3 2 5 4 5 4 3 2 1程序运行后,文件data.txt中的内容为( 31 )。31 (A) 5 4 3 2 1(B) 1 2 3 4 5(C) 1 3 2 5 4 1 2 3 4 5(D) 1 3 2 5 4 5 4 3 2 1 4. 有下列程序(考点:循环(continue)# include void main() int i,j,x=0; for(i=0;i2;i+) x+; for(j=0;j=3;j+) if(j%2) continue; /结束本层本次循环 x+; printf( %d,x); x+; printf(n %d,x);(1)程序吉第一条printf语句输出的结果是( 32 )32 (A) 4 5(B) 5 6(C) 5 8(D) 3 7(2)程序吉第二条printf语句输出的结果是( 33 )33 (A) 4 (B) 8(C) 6(D) 12 5. 有下列程序:(考点:ifelse嵌套)# include void main() int x=100,a=10,b=20; int v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; x=-1; printf(%d,x);(1)程序的运行结果是( 34 )34 (A) 100(B) 1(C) 10(D) -1(2)if(v2)与下列选项相同的是( 35 )35 (A) if(v2=0)(B) if( v2!=0)(C) if(v2=1)(D) if(v2!=1) 6. 有下列程序:(考点:switch语句、自增、自减运算)# include void main() int x=10,y=5; switch(x) case 1: x+; default: x+=y; /x=15 case 2: y-; /y=4 case 3: x-; /x=14 printf(x=%d, y=%d,x,y); 执行下列程序后,输出结果为( 36 )。36 (A) x=15, y=4 (B) x=14, y=4(C) x=10, y=5(D) x=15, y=5 7. 有以下程序:(考点:二维数组、循环(continue、嵌套)、自增运算 )# include void main() int array44=9,8,7,6,5,4,3,2,1,2,3,4,5,6,7,8; int i=0,j=0,m=0,n=0; while(i+3) if(i=3|i=1) continue; j=0; do n=arrayij; m+=n;j+; while(j4); printf(%dn,m);(1)程序运行的结果是( 37 )37 (A) 10(B) 9(C) 8(D) 不能运行(2)对于本程序来说,不影响运行结果的是( 38 )38 (A) 将i+改为+i(B) 将i+3改为i+=3(C) 去掉continue(D) 将continue改为break 8. 有以下程序:(考点:函数、全局变量、复合赋值运算、自增运算)# include int d=1;fun(int p) int d=5; d+=p+; /d=d+(p+)d=5+3=8, p=4 printf(%d ,d); /输出局部变量d的值void main() int a=3; fun(a); d+=a+; /d=d+(a+)d=1+3=4, a=4 printf(%dn,d); /输出全局变量d的值 (1)fun函数中的输出结果为( 39 )。39 (A) 6(B) 7(C) 8(D) 9 (2)main函数中的输出结果为( 40 )。40 (A) 12(B) 13(C) 4(D) 5 注意: 请把下面“程序填空”中各小题答案写在主观题答题纸上 每一个空只填一个语句或一个语句所缺的部分内容三、程序填空 ( 每空2分,共30分 ) 1. 以下程序可以把从键盘上输入的十进制数以二或十六进制形式输出,变量n为待转换的十制制整数。变量base确定转换后的类型,若转换成二进制,则输入base的值为2;若转换成十六进制,则base的值为16。请填空。(考点:进位计数制转换算法)# include void main() char a16=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F; int c64,d,i=0,base; long n; printf(enter a number:n); scanf(%ld,&n); printf(enter new base:n); scanf(%d,&base); do ci= n%base ; /保留余数 i+; n=n/base; /保留商 while(n!=0); printf(Transmite new base:n); for(-i; i=0 ;-i) d=ci; printf(%c, ad ); printf(n); 2. 下列程序能从一个词典dict中查找某个单词。如果查到时报告成功并输出该单词,否则报告失败。(考点:指针数组、二级指针、返回指针的函数、查找字符串算法)# include # include char *dict=a,ab,abc,abcd,abcdef;char *check(char *word) /返回指针值的函数 char *d; /d为二级指针变量 int flag; for(d=dict;ddict+5;d+) flag=strcmp(word,*d); if(flag!=0) continue; else if(flag=0) return *d ; return NULL;void main() char word80,*result; printf(Enter a word:); scanf(%s,word); /输入待查找单词 result=check( word ); /调用函数 if( result !=NULL) printf(Success!n); printf(%s,result); else printf(Unsuccess!n); 3. 以下C程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行给出(假定文件名无误)。请填空。(考点:文件、命令行参数、文件复制算法)# include void main(int argc,char *argv) FILE *fp1,*fp2; if(argc 3 ) printf(命令行参数错!n); exit(0); fp1=fopen(argv1, “r” ); fp2=fopen(argv2,w); while( !feof(fp1) ) / 检测fp1是否指向
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铅锌矿洗选建设项目施工方案
- 解码2025年美妆消费:女性用户需求与产品研发趋势研究指南
- 解析微软2025年云计算战略布局下的云计算与物联网应用挑战报告
- 生活垃圾焚烧厂运营成本控制方案
- 校园安全教育小妙招
- 锂电池生产过程中物联网环境监控系统设计
- 共享储能项目风险识别与应对方案
- 政治初一上考试题及答案
- 专项施工方案改变了
- 解析2025年制药行业生产效率提升:药品智能制造技术应用策略研究
- 中城汽车(山东)有限公司审计报告
- 董事会基础知识培训总结课件
- 2025版煤矿安全规程宣贯培训课件
- (教科2024版)科学三年级上册2.1 水到哪里去了 课件(新教材)
- (2025秋新版)青岛版科学三年级上册全册教案
- 上锁挂牌管理培训课件
- 节能减排培训课件
- 葡萄冷藏保鲜技术规程
- 顾客联络服务 人工与智能客户服务协同要求 编制说明
- 以人为本的医院护理服务体系构建
- 新课标(水平三)体育与健康《篮球》大单元教学计划及配套教案(18课时)
评论
0/150
提交评论