您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 四川计算机等级考试二级C语言笔试题(第十九次)一
四川省计算机等级考试二级C语言笔试题(第十九次)一2009-03-2914:44:45四川省普通高等学校计算机应用知识和能力第十九次等级考试二级(C与C++语言)笔试试卷时间:2003年10月18日上午9:00—11:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)(判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B)1.在目前,用于保证软件质量的主要手段是进行软件测试。(A)2.使用DMA方式传送数据期间不需要CPU干预。(A)3.线性顺序队列会产生“假溢出”,而线性循环队列则不会。(A)4.对同一种算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。(B)5.在线性表中,数据的存储方式有顺序和链接两种。顺序和链式(B)6.进程是由程序块、文件控制块和数据块三部分组成。(程序、数据、和程序控制块)(B)7.在面向对象的程序设计中,派生类只能从一个基类产生。(B)8.操作系统是用户和硬件的接口。(A)9.个人计算机中可配置的最大内存容量受地址总线位数的限制。(A)10.软件维护中最困难的问题是软件配置不全。(B)二、选择题(每小题1分,共5分)1.在排序法中,从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放入已排序序列的正确位置称为(C)。11(A)选择排序(B)快速排序(C)插入排序(D)冒泡排序2.有X、Y、Z三个元素依次入栈,不可能的出栈顺序是(B)。12(A)Z,Y,X(B)Z,X,Y(C)Y,X,Z(D)X,Y,Z3.进程的状态是可以转换的,而以下哪个状态转换是不可能的(D)。没有等待状态13(A)就绪状态执行状态(B)执行状态就绪状态(C)阻塞状态就绪状态(D)等待状态执行状态4.线性链表的地址(D)。14(A)必须连续(B)部分地址必须连续(C)一定不连续(D)连续与否均可以5.在软件测试中,(A)主要分析程序的内部结构。15(A)白盒法(B)黑盒法(C)因果图法(D)错误推测法第二部分C与C++语言程序设计(共85分)一、单项选择题(每小题1分,共10分)1.对下列程序段的描述正确的是(B)。#includeiostream.hintFun(intx,inty){returnx+y;}voidmain(){inti=10;coutFun(i++,i)endl;}16(A)程序输入结果不确定(B)程序输出结果是20(C)程序输出结果是21(D)程序输出是222.下列描述正确的是(A)。17(A)C++程序中cout时需要用到预处理命令#includeiostream.h(B)C++程序必须有return语句(C)C++程序中的变量必须定义在主程序内部(D)C++程序中所有使用的符号常量可以不进行定义3.下述程序的输出结果是(D)。#includestdio.hvoidmain(){inty=10;while(y--);printf(y=%d,y);}18(A)y=0(B)y=1(C)y=随机值(D)y=-14.若有以下说明:char*str1=copy(定义错误),str2[20],*str3=str,*str4,*str5=good;则正确的串操作语句是(D)。(待看)19(A)strcpy(str4,str1);(B)strcat(str1,str3);(C)str2=newstr;(D)strcpy(str5,str3);5.下面程序运行后,x,y,z的值分别为(A)。#includestdio.hvoidmain(){intx=0,y=0,z=0;++x||++y||++z;///x+1后以为真,后面yz未加1printf(%d%d%d\n,x,y,z);}20(A)100(B)000(C)111(D)0016.以下程序运行的结果是(C)。先是456后4被0取代就变成056#includestdio.hunionmyun{struct{intx,y,z;}u;intk;}a;voidmain(){a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf(%d%d%d\n,a.u.x,a.u.y,a.u.z);}21(A)456(B)654(C)056(D)0657.关于C++和C语言学关系描述中,错误的是(D)。22(A)C语言与C++是兼容的(B)C++对C语言进行了一些改进(C)C语言是C++的一个子集(D)C++和C语言都是面向对象的8.下列描述中,正确的是(B)。23(A)子类可以继承其父类的所有属性和操作,但子类不能定义自己特有的属性和操作(B)消息传递是类与类之间通信的手段(C)C++允许函数重载,但不允许运算符重载(D)C++中可以定义虚函数,通过它来支持动态联编9.下面程序运行的结果是(A)。#definef(x)1+x+x*x1+a+b+a+a*b+b是把a+b替换x#includestdio.hvoidmain(){inta=2,b=3;printf(%d\n,f(a+b));}24(A)17(B)31(C)13(D)710.下面局部程序代码是C++中的(B)特性的表现。voiddisplay(intvar){coutvar;}voiddisplay(charvar){coutvar;}voiddisplay(intvar1,intvar2){coutvar1var2;}25(A)继承(B)重载(C)多态性(D)封装四川省计算机等级考试二级C语言笔试题(第十九次)二2009-03-2915:06:15二、读程序回答问题(每个选择3分,共45分)1.有下列程序:#includestdio.hintf(intm){staticintx[3]={2,3,4};inti;for(i=0;i3;i++)x[i]+=x[i]-m;for(i=0;i3;i++)printf(%d,,x[i]);printf(\n);return(x[m]);}voidmain(){inty=1;f(f(y));}(1)第一次调用f函数的结果是(D)。26(A)5,7,9,(B)1,5,9,(C)0,1,3,(D)3,5,7,(2)第二次调用f函数的结果是(B)。27(A)3,5,7,(B)1,5,9,(C)0,1,3,(D)5,7,9,2.读下列程序,运行时输入:Thisisabook!#includestdio.hintchange(char*c,intfg){if(*c=='')L1:return1;elseif(fg&&*c='z'&&*c='a')*c+='A'-'a';return0;}voidmain(){intflag=1;charch;do{ch=getchar();flag=change(&ch,flag);putchar(ch);}while(ch!='\n');}(1)程序的运行结果是(C)。28(A)THISISABOOK!(B)thisIsABook!(C)ThisIsABook!(D)ThisIsaBook!(2)与L1:return1等效描述的为(D)。29(A)return0(B)return–1(C)return1-1(D)return!(-1)3.读下列程序,回答问题。(28)。#includeiostream.hintsb(int*s,inty){staticinti=3;y=s[i--];returny;}voidmain(){ints[]={1,2,3,4};inti,x=0;for(i=0;i4;i++){x=sb(s,x);coutx',';}coutendl;}(1)程序结束后i的值为(A)。30(A)4(B)0(C)2(D)1(2)该程序的输出结果是(D)。31(A)1,2,3,4,(B)2,3,4,1,(C)3,4,1,2,(D)4,3,2,1,4.读下列程序,回答问题。#includeiostream.h关键是有没有breakvoidmain(){char*s=213142;inta=0,b=0,c=0,d=0;intk;for(k=0;s[k];k++)switch(s[k]){default:d++;case'1':a++;case'3':c++;case'2':b++;}couta=a,b=b,c=c,d=dendl;}(1)该程序运行结束时,k的值是(C)。32(A)8(B)7(C)6(D)5(2)该程序的输出结果是(C)。33(A)a=4,b=5,c=4,d=1(B)a=4,b=9,c=3,d=1(C)a=3,b=6,c=4,d=1(D)a=8,b=8,c=8,d=85.下列程序运行的结果为(B)。(待定)#includestdio.hvoidfun(char*s){chart;if(*s){t=*s++;fun(s);if(t!='\0')putchar(t);}}voidmain(){char*a=1234;fun(a);}34(A)1234(B)4321(C)1324(D)42316.读下列程序,回答问题。#includestdio.hvoidsub1(chara,charb){charc;c=a;a=b;b=c;}voidsub2(char*a,charb){charc;c=*a;*a=b;b=c;}voidsub3(char*a,char*b){charc;c=*a;*a=*b;*b=c;}voidmain(){chara,b;a='A';b='B';sub3(&a,&b);putchar(a);putchar(b);sub2(&a,b);putchar(a);putchar(b);sub1(a,b);putchar(a);putchar(b);}(1)程序中调用完函数sub3后,输出为(C)。35(A)AB(B)ABBA(C)BA(D)BAAB(2)该程序的最终输出结果为(D)。(待定)36(A)ABBBAB(B)ABBBBB(C)BABABA(D)BAAAAA7.读以下程序,并回答问题。#includestdio.hunionbt{inta;intb[2];}voidfun(unionbt*c){c-a=-7;c-b[0]=9;c-b[1]=8;};voidmain(){unionbtc;fun(&c);printf(%d\n,c.a);}(1)程序的输出结果为(B)。(待定)36(A)8(B)9(C)-7(D)7(2)若将程序中的所有的union换成struct,则程序的输出结果为(C)。参考:union先存储a(-7),然后存储一个数组b【0】、b【1】,b【0】就把a给覆盖了,所以选9而struct不同,先存a,再接着存b,所以第一个就是a了.9的下一个存储位置才是8(A)8(B)9(C)-7(D)78.读程序,回答问题。#includestdio.h#includestdlib.hvoidmain(intargc,char*argv[]){FILE*fp;voidfun(FILE*fp);inti=1;while(--argc0)if((fp=fopen(argv[i++],r))==NULL){printf(Cannotopenfile!\n);exit(0);}else{fun(fp);fclose(fp);}}voidfun(FILE*fp){charc;c=fgetc(fp);while((c!=EOF)){if(c='A'&&c='Z')putchar(c);elseif(c='a'&&c='z')putchar(c-('a'-'A'));c=fgetc(fp);}}上述C程序经编译、连接后生成一个可执行文件,文件名为ex2_8。假设磁盘上有两个文本文件file1.txt和file2.txt,file1.txt的内容为SiChuan,file2.txt的内容为Test。若在
本文标题:四川计算机等级考试二级C语言笔试题(第十九次)一
链接地址:https://www.777doc.com/doc-3753069 .html