




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川省普通高等学校计算机应用知识和能力第三十三次等级考试二级(C与C+语言) 笔 试 试 卷时间: 2010年10月 23 日 上午 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 )二、选择题(每小题1分,共5分)1. 如果进栈序列为1、2、3、4,则可能的出栈序列是( 11 ) 。 11 (A) 3、1、4、2(B) 2、4、3、1(C) 3、4、1、2(D) 任意顺序2. 已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,则它的前序遍历序列是( 12 )。 12 (A) acbed(B) decab(C) deabc(D) cedba3. 下列的进程状态变化中,( 13 )变化是不可能发生的。 13 (A) 运行就绪(B) 运行等待(C) 等待运行(D) 等待就绪4. 很好地解决了碎片问题的存储管理方法是( 14 )。 14 (A) 页式存储管理(B) 段式存储管理(C) 可变分区管理(D) 多重分区管理5. 在软件生命周期中,所花费用最多的阶段是( 15 )。 15 (A) 详细设计 (B) 软件编码 (C) 软件测试(D) 软件维护第二部分C与C+语言程序设计(共85分)一、单项选择题 ( 每小题1分,共10分 ) 1. 已知int i=10; 表达式5=i=10的值是( 16 ) 。(考点:关系运算表达式)16 (A) 0(B) 1(C) 10(D) 没有正确答案 2. 求取满足式12+22+32+n21000的n,正确的语句是( 17 )。(考点:循环结构)17 (A) for(i=1,s=0;(s=s+i*i)=1000;n=i+);(B) for(i=1,s=0;(s=s+i*i)=1000;n=+i);(C) for(i=1,s=0;(s=s+i*+i)=1000;n=i);(D) for(i=1,s=0;(s=s+i*i+)=1000;n=i); 3. 以下叙述中正确的是( 18 )。(考点:循环语法)18 (A) C语言中所有的循环语句都是先判断条件再执行循环体(B) break语句只能中断循环(C) continue 语句可以结束所有的循环(D)C语言中,任意表达式都可作为循环条件,只要能做出0和非0的判断即可 4. 设有以下定义:struct node int data; struct node *next;*p;则以下的语句中正确的是( 19 )。(考点:结构体指针、动态分配存储空间函数)19 (A) p=malloc(sizeof(struct node)(B) p=(struct node *)malloc(sizeof(struct node)(C) *p=(struct node *)malloc(4)(D) p=(struct node )malloc(sizeof(struct node) 5. 运行以下程序的输出结果为( 20 )。(考点:枚举类型)# include void main() enum color Black=1,Red,Blue,Green; enum color c1,c2; c1=Red; c2=Blue; printf(%d,%dn,c1,c2);20 (A) 2,3(B) 1,2(C) 1,1(D) 0,-1 6. 若变量x和y都为int类型,x=100,y=200,下面程序段的输出结果是( 21 )。(考点:逗号运算)printf(%d,(x,y);21 (A) 200(B) 100(C) 100 200(D) 输出不确定的值 7. 以下程序的输出结果是( 22 )。(考点:带参数的宏)# include # define f(x) x*xvoid main() int a=6,b=2,c; c=f(a+b)/f(a-b); printf(%dn,c);22 (A) -2.5(B) -2(C) 64(D) 4 8. C语言中fscanf函数的正确调用形式是(考点:文件)23 (A) fscanf(文件指针,格式字符串,输出列表);(B) fscanf(格式字符串,输出列表,文件指针);(C) fscanf(格式字符串,文件指针,输入列表);(D) fscanf(文件指针,格式字符串,输入列表); 9. 设有定义:int a=1,b=2,c=3; ,以下语句中执行效果与其它三个不同的是( 24 )。(考点:if语句)24 (A) if(ab) c=a,a=b,b=c;(B) if(ab) c=a,a=b,b=c; (C) if(ab) c=a;a=b;b=c;(D) if(ab) c=a;a=b;b=c; 10. 以下选项中与if(a=1)a=b; else a+; 语句功能不同的switch语句是 ( 25 ) 。(考点:switch语句)25 (A) switch(a) (B) switch(a=1) case 1: a=b;break; case 0: a=b;break; default:a+; case 1:a+;(C) switch(a)(D) switch(a=1) default:a+;break; case 1:a=b;break; case 1: a=b; case 0:a+; 二、读程序回答问题 ( 每个选择3分,共45分 ) 1. 有如下程序:(考点:函数、变量的作用域)# include int k=1;void fun(int m) m+=k; k+=m; char k=D; printf(n%d,k-C); /* */ void main() int i=4; fun(i); printf(n%d,%d,i,k); /* */ 处输出结果为( 26 )。26 (A) 2 (B) 1(C) 3(D) A、B、C参考答案都不对 处输出结果为( 27 )。27 (A) 4,1(B) 5,6(C) 4,6(D) A、B、C参考答案都不对 2. 有如下程序(考点:函数、字符数组)# include void fun(char *s) int i;char c; c=s0; for(i=1;si!=0;i+) si-1=si; si-1=c;void main() char s10=abcdefg; int i; for(i=1;i=3;i+) fun(s); puts(s); 函数fun的功能是( 28 )。28 (A) 左移一个字符,并将第一个字符放到字符串末尾(B) 右移一个字符,并将最后一个字符放到字符串开头(C) 删除第一个字符(D) 删除最后一个字符程序的运行结果是( 29 )。29 (A) bcdefga(B) defgabc(C) efgabcd(D) bcdefg 3. 有下列程序(考点:递归函数)# include void fun(int n) int m; m=n/10; if(m!=0) fun(m); putchar(n%10+0);void main() int n; scanf(%d,&n); if(n0) putchar(-); n=-n; fun(n);若输入整数-1234,请回答下面两个问题:函数fun的调用次数为( 30 )。30 (A) 5(B) 4(C) 3(D) 2程序的输出结果为( 31 )。31 (A) 4321 (B) 1234(C) -4321(D) -1234 4. 有下列程序(考点:函数(地址参数)、指针运算)# include void fun1(int *x,int *y) int *z; z=x; x=y; y=z;void fun2(int *x,int *y) int z; z=*x; *x=*y; *y=z; (*x)+; (*y)+;void main() int a=5,b=9; fun1(&a,&b); printf(a=%d,b=%dn,a,b); fun2(&a,&b); printf(a=%d,b=%dn,a,b);main函数中第一个printf输出结果为( 32 )。32 (A) a=9,b=5(B) a=5,b=9(C) a=10,b=6(D) a=6,b=10main函数中第二个printf输出结果为( 33 )。33 (A) a=9,b=5(B) a=5,b=9(C) a=10,b=6(D) a=6,b=10 5. 有如下程序(设其文件名为2-5.c)(考点:命令行参数)# include void main(int argc,char *argv) int i; char *p; printf(%dn,argc); if(argc2) p=argv1; puts(p+1); 若运行该程序时,在命令提示符后输入(表示回车换行符):2-5 file1 file2 file3则执行printf(%dn,argc); 时,输出结果为( 34 )。34 (A) 1(B) 2(C) 3(D) 4执行puts(p+1); 时,输出结果为( 35 )。35 (A) file1(B) file2(C) ile1(D) ile2 6. 有下列程序(考点:字符数组、函数(地址参数))# include # include long fun(char str) int i; long s=0,t; for(i=0; stri!=0;i+) t=0; while(stri=0 & stri=9) t=t*10+stri-0; i+; s=s+t; return s;void main() char string=Welcome123To456Sichuan789; long len; len=fun(string); printf(%ldn,len);(1)程序运行的输出结果为( 36 )36 (A) 123456789(B) 9(C) 1368(D) 450(2)该程序的功能是( 37 )37 (A) 取出字符串中的数字子串连接起来(B) 统计数字子串在字符串中出现的次数(C) 将数字了串转换为整数并累加(D) 将字符串中的数字字符转换为数字,结果加起来乘以10 7. 有如下程序:(考点:字符数组、循环、switch语句)# include void main() static char s=SSSWiL TECH111W1WALLMP1; int j; char ch; for(j=2;(ch=sj)!=0;j+) switch(ch) case A: putchar(a); continue; case 1: break; case 1: while( (ch=s+j)!=n & ch!=0); case 9: putchar(#); case E: case L: continue; default : putchar(ch); continue; putchar(*); printf(n); 程序的运行结果是( 38 )。38 (A) SWi TCH*#(B) SSSWi TCH*#(C) SWi TCH*#W#(D) SSSWi L TECHWWALLMP 字符串SSSWiL TECH111W1WALLMP1中的 “1”是( 39 )。39 (A) 字符1(B) 十制制数值1(C) 两个字符(D) 八进制数值1 8. 在下面程序中,若file.dat文件中原有内容为:abc,则运行程序后file.dat文件中的内容为( 40 )。(考点:文件打开方式)# include void main() FILE *fp; fp=fopen(file.dat,w); fprintf(fp,def); fclose(fp); 40 (A) abcdef(B) abc(C) def(D) NULL注意: 请把下面“程序填空”中各小题答案写在主观题答题纸上 每一个空只填一个语句或一个语句所缺的部分内容三、程序填空 ( 每空2分,共30分 ) 1. 下面程序的功能是按学生的姓名(假设没有重名)查询其成绩排名和平均成绩。查询可以连续进行,直到输入0时查询结束。请填空。(考点:结构体类型,顺序查找算法)# include # include # define NUM 4struct stud int code; char *name; float score; ;struct stud stu=2,liuying,85.5,3,wangyong,79.6, 4,ligang,92.5,1,tianling,88.2;void main() char str10; int i; do prnitf(Enter a name:); scanf(%s,str); for(i=0;iNUM;i+) if(strcmp( ,str)=0) printf(Name : %sn,); printf(Code: %3dn,stui.code); printf(Average: %5.1fn,suti.score); ; if( )printf(Not found.n); while(strcmp(str,0)!=0);2. 函数fun的功能是:求出无符号十进制数n中包含0的个数,及各位数字的最大值。最大值通过函数值返回,0的个数通过形参指针zero带回。在main函数中输入n的值,调用fun函数并输出结果。例如:n=300800,则0的个数为4,各位数字的最大值为8。请填空。(考点:求最值、整数的分解算法)# include int fun(unsigned int n,int *zero) int cnt=0,max=0,t; while(n!=0) t= ; if(t=0) cnt+; if(maxt) max=t; n=n/10; =cnt; return max;void main() unsigned int n; int zero,max; printf(Input n:); scanf(%u,&n); max=fun( ); printf(max=%d,zero=%dn,max,zero);3.以下程序的功能是把从键盘输入的字符依次存放在文件test.txt中,但是要过滤掉其中的数字字符,在输入字符%并回车作为结束标志。请填空。(考点:文件、字符串)#include void main() FILE *fp; char ch; char fname12=test.txt; if(fp=fopen(fname,w)= ) printf(File open error!n); else printf(Please enter characters:n); while(ch=getchar()!=%) if(ch=0 & ch=9) ; else fputc(ch, ); fclose(fp); 4. 以下程序是建立一个带头结点的单向链表,并用随机函数为各个结点赋值。函数fun的功能是将单向链表结点(不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。请填空。(考点:单链表)# include # include typedef
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030儿童财商教育行业发展路径与投资回报预测
- 2025-2030儿童艺术教育行业政策环境与投资风险评估报告
- 2025-2030儿童职业体验馆市场沉浸式技术应用与客单价提升策略分析研究
- 2025-2030儿童绘本出版市场IP开发与跨界合作案例分析报告
- 2025-2030儿童科学启蒙教具研发趋势与供应链优化分析报告
- 2025-2030儿童环保教育行业市场供需分析与绿色理念及投资价值研究报告
- 2025-2030儿童户外教育市场发展现状与商业模式探讨报告
- 2025-2030儿童戏剧培训行业发展现状与竞争态势及市场潜力研究报告
- 2025-2030儿童博物馆教育IP授权开发生态系统建设研究报告
- 商务活动流程优化合作协议
- 财务预算培训课件
- 高桩码头施工培训课件
- 砂石加工现场管理制度
- it部门考核方案(3篇)
- 山东C类人员安全考核模拟练习题及参考答案解析
- 中通规章管理制度
- 茶山管理协议书
- 代办土地证协议书
- 创意美术课程教学大纲
- 2025年生物性污染对人体健康的危害与生物安全防控措施
- 现代文献检索与利用3-文献检索技术
评论
0/150
提交评论