已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川省普通高等学校计算机应用知识和能力第二十七次等级考试二级(C与C+语言) 笔 试 试 卷时间: 2007年10月 27 日 上午 9:0011:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 数组也是一种数据结构,一维数组就是一种顺序表结构。( 1 )2. 递归算法的程序结构比迭代算法的程序结构更为精炼。( 2 )3. 进程调度按一定的调度算法,从就绪队列中挑选出合适的进程。( 3 )4. 在单处理器系统中,程序的并发执行,实质上是程序的交替执行。( 4 )5. 数据的基本单位是数据元素。( 5 )6. 分页存储管理中,页面可以映射到不连续的内存块中。( 6 )7. 通道方式能实现外设与CPU之间直接进行数据交换。( 7 )8. 软件测试和软件调试没有任何区别。( 8 )9. 白盒测试方法一般适合用于系统测试。 ( 9 )10.瀑布模型的突出缺点是不适应用户需求的变化。( 10 )二、选择题(每小题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) 低偶合、低内聚第二部分C与C+语言程序设计(共85分)一、单项选择题 ( 每小题1分,共10分 ) 1. 以下程序的输出结果是( 16 ) 。(考点:逻辑运算、自增自减运算)# include void main() int a=-1,b=4,k; k=(+a0)&!(b-age(D) (*p).age 3. 在下列条件语句中,功能与其他语句不同的是 ( 18 )。(考点:条件语句)18 (A) if(a) printf(%dn,x); else printf(%dn,y);(B) if(a=0) printf(%dn,y); else printf(%dn,x); (C) if(a!=0) printf(%dn,x); else printf(%dn,y);(D) if(a=0) printf(%dn,x); else printf(%dn,y); 4. 以下叙述中完全正确的是( 19 )。(考点:文件)19 (A) C语言中的文件是流式文件,因此只能顺序存取文件(B) 对一个已存在的文件进行了写操作后,原有文件中的全部数据必定被覆盖(C) 在一个程序中当对文件进行了写操作后,必须先关闭该文件后再打开,才能读到第一个数据(D) 当对文件的读写操作完成之后,必须将它关闭,否则可能导致数据丢失 5. C+中,下列关键字中哪个不是类定义中使用的关键字 ( 20 )。(*考点:C+)20 (A) class (B) public(C) switch(D) private 6. 以下程序的输出结果是( 21 )。(考点:带参数的宏定义)# include # define f(x) (x*x)void main() int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf(%d,%dn,i1,i2);21 (A) 64,28(B) 4,4 (C) 4,3(D) 64,64 7. 有下面的说明和语句,则输出结果是( 22 )。(考点:位运算)char a=9,b=020;printf(%on,a&b1);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 ) 。(*考点:C+)25 (A) 重载函数的参数个数和类型至少有一个不同(B) 重载函数的参数个数可以相同(C) 重载函数的参数个数不同但类型可以相同(D) 重载函数的返回值类型必须相同二、读程序回答问题 ( 每个选择3分,共45分 ) 1. 阅读下面程序,回答问题。(考点:二维数组求最值算法)# include void main() int i,j,row,column,m; static int array33=100,200,300,28,72,-30,-850,2,6; m=array00; for(i=0;i3;i+) for(j=0;j3;j+) if(arrayijm) m=arrayij; row=i; column=j; printf(%d,%d,%dn,m,row,column);该程序的功能是( 26 )。26 (A) 计算二维数组的元素和(B) 求二维数组的最小值及其下标(C) 对二维数组进行排序(D) 求二维数组的最大值及其下标 2. 阅读下面程序,回答问题。(考点:字符数组处理字符串中单词数算法)# include # include void main() int i=0,n=0; char s80,*p; p=s; strcpy(p,This is test!); for(;*p!=0;p+) if(*p= ) i=0; else if(i=0) n+; i=1; printf(n=%dn,n);该程序的功能是( 27 )。27 (A) 统计字符串中的单词个数(B) 统计字符串中的空格个数(C) 统计字符串中的字母个数(D) 统计字符串中全部字符个数 3. 读程序,回答问题。(考点:循环、switch语句)# include void main() int i,m=0,n=0,k=0; for(i=9;i=11;i+) switch(i%10) case 0: m+;n+;break; case 10:n+;break; default: k+,n+; printf(%4d%4d%4dn,m,n,k); 28 (A) 1 3 2(B) 1 4 2(C) 0 1 1(D) 0 3 2 4. 读程序,回答问题。(考点:命令行参数)# include # include void main(int argc,char *argv) int i=1,n=0; while(iargc) n=n+strlen(argvi); i+; printf(%dn,n);若该程序生成的可招待文件名为2-4.exe,运行时输入命令行:2-4 123 45 67则程序的运行结果是( 29 )。29 (A) 3(B) 5(C) 7(D) 11 5. 读程序,回答问题。(考点:全局变量、静态局部变量、函数)# include int a=2;int f(int n) static int a=3; int t=0; if(n%2) static int a=4; t+=a+; else static int a=5; t+=a+; return t+a+;void main() int s=a,i; for(i=0;i3;i+) s+=f(i); printf(%dn,s);程序运行结果是( 30 )。30 (A)26(B) 28 (C) 29 (D) 25 6. 读程序,回答问题。(考点:结构体数组)# include struct mod int a,b,c;void main() struct mod st3=1,2,3,4,5,6,7,8,9; int total; total=st0.a+st1.b; printf(total=%dn,total);程序的运行结果是( 31 )。31 (A) total=5(B) total=6(C) total=7(D) total=8 7. 读程序,回答问题。(考点:函数、循环处理图形输出)# include pic(int len,char c) int k; for(k=1;k=0;j-) pic(30-j, ); pic(i+2*j,*); putchar(n); 程序的运行结果是( 32 )。32 (A)(B)(C) (D) * * * * * * * * * * * * * * * 8. 以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请选择填空。(考点:结构体处理单链表建立算法)# include struct node char data; struct node *next;( 33 ) CreatList(char *s) struct node *h,*p,*q; h=(struct node *)malloc(sizeof(struct node); p=q=h; while(*s!=NULL) p=(struct node *)malloc(sizeof(struct node); p-data=( 34 ); q-next=p; q=( 35 ); s+; p-next=NULL; return h; void main() char str=link list; struct node *head; head=CreatList(str); 33 (A) char *(B) char(C)struct node (D) struct node *34 (A) *s(B) s(C) *s+(D) *(s)+35 (A) p-next(B) p(C) s(D) s-next 9. 读程序并回答问题。(考点:递归函数)# include # include void fun(char *s,char *t) char k; k=*s; *s=*t; *t=k; s+;t-; if(*s) fun(s,t);void main() char str10=abcdefg,*p; p=str+strlen(str)/2+1; fun(p,p-2); printf(%sn,str);程序中的fun函数被调用的次数是( 36 )。36 (A) 2 (B)3 (C) 4 (D) 5程序的运行结果为( 37 )。37 (A) abcdefg(B)defgabc(C) acegbdf(D) gfedcba 10. 读程序并回答问题。(考点:指针数组)# include void main() int m12,k; int *p3,sum=0; for(k=0;k12;k+) mk=2*k; if(k3) pk=m+2*k*k; for(k=0;k3;k+) sum+=(*(p+k)4-k; printf(%dn,sum); 程序的运行结果是( 38 )。38 (A) 18(B) 28(C) 38(D) 8 int *p3定义的是( 39 )。39 (A) 指针数组(B) 指向函数的指针(C) 指向一维数组的指针(D) 指向指针的指针 11. 以下程序的输出结果是( 40 )。(考点:带参数的宏定义)# include # define FUN(x,y) xy?y:xvoid main() int x=5,y=10,z; z=10*FUN(x+y,x*y); printf(%dn,z);40 (A) 100(B) 150(C) 15 (D) 60注意: 请把下面“程序填空”中各小题答案写在主观题答题纸上 每一个空只填一个语句或一个语句所缺的部分内容三、程序填空 ( 每空2分,共30分 ) 1. 下面函数的功能是将一个字符串逆序存放,请填空。(考点:字符串逆置算法)# include # include void fun(char str) ; int i,j; for(i=0,j=strlen(str); ;i+,j-) m=stri; stri= ; strj-1=m; printf(%sn,str); 2. 下面程序功能是将命令行指定的一个文件内容追加到另一个文件末尾。(考点:文件追加算法)# include void main(int argc,char *argv) FILE *fp1,*fp2; char ch; if(argc!=3) printf(usage:linenum filenamen); else if(fp1=fopen( ,a)=NULL) printf(Cant open %sn,argv1); return; else if(fp2=fopen(argv2,r)=NULL) printf(Cant open %sn,argv2); return; else while( )!=EOF) ; fclose(fp1); fclose(fp2); 3. 程序功能是:用筛选法求2100之间的所有素数。方法是:首先将2100的数放入一个数组中,然后从2开始,将数组中所有2的倍数的数置为0;接着从数组中找到下一个非0数,并将数组中所有该的倍数的数置为0;依此类推,直到所找到的下一个数大于100为止,最后将数组中不为0的数输出即为2100之间的素数,一行输出10个。(考点:筛选法求素数算法)# include void main() int a100; int i,j,count=0; for(i=0;i99;i+) ai= ; for(i=0;i=50;i+) for(j=i+1;j99;j+) if( ) aj=0; for(i=0;i99;i+) if(ai!=0) printf(%4d,ai); count+; if( ) printf(n); 4. 下面程序的功能是:将一个数字字符串转换为一个整数。例如,有字符串“-1234567”程序将它转换为整数 -1234567。(考点:数字字符串转换为整数算法)# include # include long fs(char *p) int i=0,sign=1; long num=0; if(pi=-) sign= ; if(pi=+|pi=-) i=1; else i=0; while(pi!=0) =10; num+=pi-48; i+; num=sign*num; return(num);void main() char s9;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护士中医项痹病题库及答案
- 2025 八年级道德与法治下册法治游戏设计教育目标课件
- 浙江省绍兴市嵊州市三界片2025-2026学年八年级上学期11月期中考试语文试题(含答案)
- 2026年税务筹划培训合同(增值税)
- 2026年内蒙古锡林郭勒盟单招职业适应性考试题库完整参考答案详解
- 2026年克拉玛依职业技术学院单招职业倾向性考试题库及答案详解(新)
- 2026年内蒙古能源职业学院单招综合素质考试题库带答案详解(突破训练)
- 2026年南昌工学院单招职业适应性测试题库完整参考答案详解
- 2026年南充科技职业学院单招职业倾向性测试题库附答案详解(精练)
- 2026年兰考三农职业学院单招职业技能测试题库附参考答案详解(研优卷)
- 2026年金融科技支付创新报告及全球市场应用分析报告
- 卵巢交界性肿瘤的病理特征与长期随访策略
- 2025年普通高中学业水平选择性考试地理河北卷
- 2025至2030心理咨询行业市场发展分析与发展前景及有效策略与实施路径评估报告
- 中国临床肿瘤学会(csco)小细胞肺癌诊疗指南2025
- 初中英语单词表2182个(带音标)
- 2025年专升本化学专业无机化学真题试卷(含答案)
- 医患沟通学课件
- 监理百日攻坚阶段工作总结分享
- 大一英语期末考试题及答案
- 钢结构施工方案模板及范例
评论
0/150
提交评论