




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川省普通高等学校计算机应用知识和能力第二十八次等级考试二级(C与C+语言) 笔 试 试 卷时间: 2008年4月 19 日 上午 9:0011:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 在程序设计中,常用一维数组来表示线性表的顺序存储空间。( 1 )2. 数据在计算机内存中的表示是指数据的存储结构。( 2 )3. Windows是多用户多任务操作系统。( 3 )4. 能影响中断响应次序的技术是中断优先级和中断屏蔽。( 4 )5. 链表可以随机访问任意一个结点,而顺序表则不能。( 5 )6. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。( 6 )7. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。( 7 )8. 中断控制方式适用于外存同CPU之间进行大量数据交换。( 8 )9. 提供没有错误的程序是提高软件的可维护性的基本措施。 ( 9 )10.软件结构是以指令为基础而组成的一种控制层次结构。( 10 )二、选择题(每小题1分,共5分)1. 数据流图是用于描述结构化方法中( 11 ) 工作阶段的工具。 11 (A) 可行性分析(B) 程序编码 (C) 详细设计(D) 需要分析2. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能的出栈序列是( 12 )。 12 (A) 1,4,3,2(B) 3,1,4,2(C) 2,3,4,1(D) 3,4,2,13. 任何两个并发进程之间( 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. C+语言对C语言做了很多改进,C+语言相对于C语言的最根本的变化是( 16 ) 。16 (A) 增加了一些新的运算符(B) 允许函数设置缺省参数(C) 规定函数说明符必须用原型 (D) 引进了类和对象的概念 2. 决定C+语言中函数的返回值类型的是( 17 )。17 (A) return语句中的表达式类型(B) 在定义该函数时所指定的数据类型(C) 调用该函数时的主调函数类型(D) 调用该函数时系统随机产生的类型 3. C语言中运算对象必须是整型的运算符是 ( 18 )。18 (A) %(B) /(C) =(D) = 4. 若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是( 19 )。19 (A) EOF(B) -1(C) 1(D) NULL 5. 已知:int a=15,b=16; 则表达式(a&b)&br的结果是( 20 )。 20 (A) 1(B) 0(C) 16(D) 31 6. 已知:int arr10; 则对arr数组元素的正确引用是( 21 )。21 (A) arr10(B) arr3.5 (C) arr(5)(D) arr10-10 7. 下列程序中,循环结束后b的值是( 22 )。vpod main() int a=1,b=10; do b-=a; a+; while(b-10); 22 (A) -1 (B) -2 (C) 8 (D) 9 8. 以下程序的输出结果是 ( 23 )。# define M(x,y,z) x*y+zmain() int a=1,b=2,c=3; printf(%dn,M(a+b,b+c,c+a);23 (A) 12(B) 15(C) 17(D) 19 9. 下面程序把数组元素中的最大值放入a0中,则在if语句下划线的条件表达式应填入的是 ( 24 )。 main() int a10=6,7,2,9,1,10,5,8,4,3,*p=a,i; for(i=0;ia(B) *pa0(C) *p*a0(D) *p0a0 10. 若在下面程序段中使指针变量p指向一个存储整型数据的动态存储单元,则在下划线处应填入 ( 25 ) 。int *p;p= malloc(sizeof(int);25 (A) int(B) int *(C) (* int)(D) (int *)二、读程序回答问题 ( 每个选择3分,共45分 ) 1. 读程序写出程序运行结果。# include void fun(char *s,char t) while(*s) if(*s=t) *s=t-a+A; s+; void main() char s100=abcddfefdbd,c=d; fun(s,c); printf(%sn,s);程序运行后的输出结果是( 26 )。26 (A) ABCDDFEFDBD(B) abcDDfefDbD(C) abcAAfefAbA(D) Abcddfefdbd 2. 读程序并回答问题。# include void fun(int a,int n) int i,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; void main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0; fun(b,8); for(i=6;i10;i+) s+=bi; printf(%dn,s); (1)函数fun的功能是( 27 )。27 (A) 将数组a的前n个元素逆置(B) 对数组元素进行升序排列(C) 交换数组第一个元素和最后一个元素(D) 对数组元素进行降序排列 (2)程序的运行结果是( 28 )28 (A) 34(B) 30(C) 22(D) 10 3. 读程序,回答问题# include void main() int a=0,x=0; for(;!x&a10;a+) a+; x+; coutaendl;程序的运行结果为:( 29 )。29 (A) 10(B) 4(C) 3(D) 2 4. 读程序回答问题。# include void fun(char *str) int i,j=0; for(i=0;stri!=0;i+) if(stri!= ) strj+=stri; sj=0;void main() char str80; int n; printf(Input a string:); gets(str); fun(str); printf(%sn,str);程序运行时输入字符串asd_ab_123(注:用“_”表示空格),则程序的运行结果为( 30 )30 (A) asdab123(B) asd_ab123(C) asdab_123(D) asd 5. 读程序,回答问题。# include # include struct modint 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); getch(); 程序运行输出total=( 31 )。31 (A)5(B) 6(C) 7(D) 8 6. 有下列程序:# include void main() int x=10,y=5; switch(x) case 1: x+; default: x+=y; case 2: y-; case 3: x-; printf(x=%d,y=%d,x,y);程序输出结果为( 32 )。32 (A) x=14,y=4(B) x=15,y=4(C) x=10,y=5(D) x=15,y=5 7. 读程序,回答问题。# include int f(int m) static int n=1; m/=2; m=m*2; if(m) n*=m; return(f(m-2); else return(n);void main() int a,i,j; for(i=0;i2;i+) a=f(4+i); printf(%dn,a); (1)程序第一次的输出结果是( 33 )。33 (A) 8(B) 0(C) 64 (D) 4(2)程序第二次的输出结果是( 34 )。34 (A) 8(B) 0(C) 64 (D) 4 8. 有下列程序,若程序编译连接后生成可执行文件CAD.EXE,则输入以下命令行: cad FILE1 FILE2 (表示回车) 程序的运行结果是( 35 )。# include void main(int argc,char *argv) int i; printf(%dn,argc); for(i=0;i=argc-1;i+) printf(%s,argvi); printf(n);35 (A) 2(B) 3 Cadfile1file2 file1file2(C) 2(D)3 CAD.EXE FILE1 FILE2 CAD.EXEFILE1FILE2 9. 下面程序的功能是把316表示为两个数的和,且这两具加数分别能被13和11整除。程序while语句下划线处应填入( 36 )。# include void main() int i=0,j,k; do i+; k=316-13*i; while ( ); j=k/11; printf(316=13*%d+11*%d,i,j);36 (A) k/11(B)k%11(C) k(D) k%11=0 10. 读程序并回答问题。# include void main() int a=1,b=3,c=5,d=4,x; if(ab) if(cd) x=1; else if(ac) if(bd) x=2; else x=3; else x=6; else x=7; printf(%d,x);(1)程序执行完后x的值是( 37 )。37 (A)1(B) 2(C) 3(D) 6(1)当d的值改为2时,程序执行完后x的值是( 38 )。38 (A)1(B) 2(C) 3(D) 6 11. 以下程序的运行结果为( 39 )。# include void sub(int x,int y,int *z) *z=y-x; void main() int a=1,b=2,c=3; sub(a,b,&a); sub(b,a,&b); sub(a,b,&c); printf(%d,%d,%dn,a,b,c);39 (A) 1,1,0(B) 1,2,3(C) 1,-1,-2(D) 1,2,1 12. 下面程序的输出结果是( 40 )。# include # include void main() char *p1=abc,*p2=ABC,str50=xyz; strcpy(str+3,p2); strcat(str+2,p1); printf(%sn,str);40 (A) xyzabcABC(B) xyzABabc(C) yzabcABC(D) xyzABCabc注意: 请把下面“程序填空”中各小题答案写在主观题答题纸上 每一个空只填一个语句或一个语句所缺的部分内容三、程序填空 ( 每空2分,共30分 ) 1. 函数fun的功能是:求出s所指字符串中指定字符的个数,并返回个数。例如,在main函数中,若输入字符串abcdabacaa ,输入指定字符a,则输出结果为5,即字符串abcdabacaa中有5个字符a。请填空。# include # define M 81int fun(char *s,char c) int i,cnt=0; for(i=0; ;i+) if(*(s+i)=c) cnt+; void main() char strM,ch; printf(nPlease enter a string:); gets(str); printf(nPlease enter a char:); ch=getchar(); printf(nThe number of the char is : %dn, ); 2. 函数fun的功能是根据公式计算级数前n项的和s,计算结果通过形参指针s传回;n值大于等于0。请填空。# include void fun(float *s,int n) float t=0.0; int i,k=-1; for(i=0;i=n;i+) k= *k; t=t+k*1.0/ ; void main() int n; float s; printf(Input n:); scanf(%d,&n); fun(&s,n); printf(s=%fn,s); 3. 下列程序的功能是:求一个M*N二维数组每行元素的和,并将和依次放入一个一维数组中传回主函数。例如,若有以下二维数组:6102101517141586418101912012127则输出为:43606322。请填空。# define M 4# define N 5# include fsum(int aN),int b) int i,j; for(i=0;iM,i+) ; for(i=0;iM;i+) for(j=0;jN;j+) =aij;void main() int xMN,yM,i,j; printf(The %d x %d Array :n,M,N); for(i=0;iM;i+) for(j=0;jN;j+) =rand()%20; printf(%6d,xij); printf(n); fsum(x,y); printf(The sum of each line:n); for(i=0;iM;i+) printf(%6d,yi); printf(n); 4. 下面的程序求ab.c文件中最长的行的字符数len及其行号line。请填空。# include void main() int line,i,j=0,len=0; char c; FILE *fp; fp=fopen(ab.c,r); rewind(fp); while(fgetc(fp)!EOF) i=1; while(fgetc(fp)!=n) ; j+; if(ilen) len=i; ; printf(n%dt%dn,len,line); ; 5. 下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数按位放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其他依此类推。请填空。# include int fun(int x,int b) int k=0,r; do r=x%2; b =r; x/= ; while(x); return ;void main() int k,n,a20; printf(nEnter n:); scanf(%d,&n); k=fun(n,a); while(k=0) printf(%d,ak-);四川省普通高等学校计算机应用知识和能力第二十七次等级考试二级(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 )。 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 ) 。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. 读程序,回答问题# 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; whil
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度大型活动策划与执行包年服务合同
- 二零二五年雨棚安装与拆除作业安全协议
- 二零二五财产清算离婚协议书制作范本
- 二零二五年度个人农业机械购置贷款合同范本
- 二零二五年度水利水电工程爆破作业劳务分包合同
- 二零二五年度GZ事业单位合同制聘用员工薪酬及福利协议
- 危重患者抢救流程培训手册
- 小学阶段心理健康辅导计划
- 新能源车制造劳动力和材料机械设备投入计划及保证措施
- 小学舞蹈社团技术提升计划
- 门诊部医保管理制度
- JT-T 329-2025 公路桥梁预应力钢绞线用锚具、夹具和连接器
- 三通四通尺寸数据及标准表
- 职业技术学院《农业物联网》课程标准
- 物流公司2025年度仓储管理培训计划
- 2025年杭州钱塘新区产业发展集团有限公司招聘笔试参考题库附带答案详解
- 电动车团购协议合同协议
- 面神经炎中医的护理常规
- 光伏清洁维护合同协议
- 护理质量成果改善项目
- 中国健康体育课程模式
评论
0/150
提交评论