您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 四川计算机二级c语言考试20次笔试真题
四川省计算机等级考试第二十次C与C++笔试试卷第1页共10页四川省普通高等学校计算机应用知识和能力第二十次等级考试二级(C与C++语言)笔试试卷时间:2004年4月10日上午9:00—11:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)1.数据元素是数据的基本单位,数据项是数据的最小单位。(1)2.栈是特殊的线性表,须用一组地址连续的存储单元来存储其元素。(2)3.引入虚拟存储技术后,逻辑内存总容量是由地址总线的位数确定的。(3)4.编译程序是一种常用的应用软件。(4)5.顺序文件和链接文件的长度都可以动态变化。(5)6.在文件系统中彩目录管理文件。(6)7.允许多用户在其终端上同时交互地使用计算机的操作系统称为实时系统。(7)8.程序、数据、和程序控制块是构成一个进程的三要素。(8)9.黑盒测试时,既要考虑程序的内部逻辑结构又要考虑其外部特性。(9)10.软件的总体设计和详细设计都要用PAD图形工具。(10)二、单项选择题(每小题1分,共5分)1.允许用户把若干作业提交计算机系统集中处理的操作系统称为(11)。11(A)分时操作系统(B)实时操作系统(C)网络操作系统(D)批处理操作系统2.分配到必要资源并获得了处理机时的进程的状态称为(12)。12(A)就绪状态(B)执行状态(C)等待状态(D)阻塞状态3.利用通道技术可以在(13)之间直接交换数据。13(A)内存与CPU(B)CPU与外设(C)内存与外设(D)内存、CPU和外设三者4.以下的准则中哪个不是软件设计的准则(14)。14(A)编程语言选择准则(B)信息屏蔽准则(C)结构化和模块化准则(D)抽象准则5.有一数列:97657613294958经过一趟排序后得到:65971376294958请问使用的是何种排序方法(15)。15(A)简单插入排序(B)冒泡排序(C)2路归并排序(D)快速排序四川省计算机等级考试第二十次C与C++笔试试卷第2页共10页第二部分C与C++语言程序设计(共85分)一、单项选择题(每小题1分,共10分)1.定义如下枚举类型:enumDay{Monday,Tuesday,Wednesday,Thursday,Friday=2};则下列语句正确的是(16)。16(A)表达式Wednesday==Friday的值是true(B)enumDayday;day=3;(C)enumDayday;day=Tuesday-3;(D)enumDayday;day=Monday+10;2.下列程序片段的输出结果是(17)。intm=4;do{printf(%d,,m-=3);}while(!(--m));17(A)1(B)1,-3,(C)3,0(D)死循环3.执行下列程序片段时的输出结果是(18)。intx,y;x=3;y=5;printf(%d,x%=(y/=2));18(A)3(B)2(C)1(D)04.对于下述程序,判断正确的是(19)。#includestdio.hvoidf(int*p){*p=10;}int*p;voidmain(){f(p);printf(%d,(*p)++);}19(A)输出的值是随机值(B)运行时出错(C)输出值为10(D)输出值为115.下列程序运行的结果是(20)。#defineFU(y)2.8+y#definePR(a)printf(%d,(int)(a))#definePRINT(a)PR(a);#includestdio.hvoidmain(){intx=2;PRINT(FU(5)*x);}20(A)12(B)14(C)13(D)15四川省计算机等级考试第二十次C与C++笔试试卷第3页共10页6.下列程序运行的结果是(21)。#includestdio.hvoidmain(){inta[10]={9,8,7,6,5,4,3,2,1,0},*p=a+4;printf(%d,*++p);printf(%d,++*p);}21(A)4,3(B)4,6(C)5,5(D)4,57.关于对类要领的描述中,错误的是(22)。22(A)类就是C语言中的结构类型(B)类是创建对象的样板(C)类是具有共同行为的若干对象的统一描述体(D)类是抽象数据类型的实现8.已知inta=9,b=4;将a-b的值输出显示到屏幕上,下列各种实现方法中,正确的是(23)。23(A)couta'-'bendl(B)couta-bendl(C)couta-bendl(D)cout%d\n,a-b9.下列循环语句会进入死循环的是(24)。24(A)i=0;do{i++;}while(i==100);(B)for(i=0;i100;i+=3.14);(C)for(i=0;;i+=2);(D)k=1;do{k--;}while(k);10.下面程序运行的结果是(25)。#includestdio.hintfun(char*str){intn=0;while(*str='0'&&*str='9'){n=n*10+*str-'1';str++;}returnn;}voidmain(){printf(%d\n,fun(567.89));}25(A)89(B)567.89(C)567(D)456二、读程序回答问题(每个选择3分,共45分)。1.有下列程序:#includeiostream.hvoidmain(){inta,b,c,x;a=b=c=0;for(inti=0;i10;i++){cinx;switch(x%3){case0:a+=x;break;case1:b+=x;break;case2:c+=x;break;}四川省计算机等级考试第二十次C与C++笔试试卷第4页共10页}couta','b','cendl;}程序运行时依次输入x的值为:12345678910①程序运行的结果是(26)。26(A)3,12,21(B)18,22,15(C)3,4,3(D)9,10,8②switch(x%3)与(27)相同。27(A)switch(!(x%3)!=0)(B)switch(x%3==0)(C)switch(x%3!=0)(D)他们都不相同2.有下列程序:#includestdio.hvoidmain(){char*str[]={One,Two,Three,Four};char=str;inti;for(i=0;i3;i++)printf(%s,(ptr+1)[i]);}①为程序中空白处选择填空(28)。28(A)**ptr(B)*ptr(C)ptr[](D)&ptr②运行结果是(29)。29(A)newohree(B)Two(C)TwoThreeFour(D)指针运行非法,无输出3.读下列程序,回答问题。#includeiostream.hvoidmain(void){intm,n;doublex,y;intdivide(intm,intn);doubledivide(intm,doubley);doubledivide(doublex,doubley);coutEntertwointegerandtworealnumber:;cinmnxy;L1:coutdivide(m,n)endl;L2:coutdivide(n,x)endl;L3:coutdivede(x,y)endl;}intdivide(intm,intn){returnm/n;}doubledivide(intm,doubley){returnm/(int)y;}四川省计算机等级考试第二十次C与C++笔试试卷第5页共10页doubledivide(doublex,doubley){returnx/y;}①输入数据727.02.0,语句L1输出结果是(30)。30(A)0(B)1(C)3(D)3.5②输入数据727.02.0,语句L2输出结果是(31)。31(A)0(B)1(C)3(D)3.5③输入数据727.02.0,语句L3输出结果是(32)。32(A)0(B)1(C)3(D)3.54.#includestdio.hvoidmain(){unsignedinta=0112,x,y,z;x=a3;y=~(~04);z=x&y;printf(%o%o%o\n,x,y,z);printf(%x\n,!(x&&y&&z));}该程序中执行第一个printf函数后,输出为(33)。33(A)111711(B)171117(C)111717(D)171711该程序中执行第二个printf函数后,输出为(34)。34(A)171(B)0112(C)1(D)05.以下程序运行的结果为(35)。#includestdio.hvoidswap1(inta,intb){inttemp;temp=a;a=b;b=temp;}voidswap2(int&a,int&b){inttemp;temp=a;a=b;b=temp;}voidmain(){inti=3,j=5;swap1(i,j);printf(%d%d\n,i,j);swap2(i,j);printf(%d%d\n,i,j);}35(A)35(B)53(C)53(D)35355335536.读下列递归程序,回答问题。#includestdio.hvoidfun(char*strp)四川省计算机等级考试第二十次C与C++笔试试卷第6页共10页{char*t;if(*strp){t=strp;t++;fun(t);putchar(*strp);}}voidmain(){inti,a[10]={0,1,2,3,4,5,6,7,8,9};charstr[11];for(i=0;i10;i++)str[i]=a[i]+'0';str[i]='\0';fun(str);}程序中的fun函数被调用(36)次。36(A)9(B)10(C)11(D)12程序的输出结果为(37)。37(A)0123456789(B)9876543210(C)01234(D)9876556789432107.读下列C程序,若输入字符串Examination,请选择正确的输出结果。#includestdio.hvoidmain(){charstr[20];inti=0;staticintcount[2]={0};gets(str);do{switch(str[i++]){case'a':case'A':case'e':case'E':case'i':case'I':case'o':case'O':case'u':case'U':count[0]++;/*break;*/default:count[1]++;}}while(str[i]!='\0');printf(count[0]=%d,count[1]=%d\n,count[0],count[1]);}程序的输出结果为(38)。38(A)count[0]=6,count[1]=11(B)count[0]=6,count[1]=12(C)count[0]=5,count[1]=11(D)count[0]=5,count[1]=12若将程序中注释语句的注释标记去掉,则程序的输出结果为(39)。39(A)count[0]=6,count[1]=11(B)count[0]=6,count[1]=5(C)count[0]=5,count[1]=11(D)count[0]=6,count[1]=6四川省计算机等级考试第二十次C与C++笔试试卷第7页共10页8.下面程序输出的结果为(40)。#includeiostream.hinta=5;voidmain(){inta=3;a++;couta::a;}程序中的fun函数被调用(36)次。40(A)54(B)45(C)53(D)44注意:①请把下面“程序填空”中各小题答案写在主观题答题纸上②每
本文标题:四川计算机二级c语言考试20次笔试真题
链接地址:https://www.777doc.com/doc-2590065 .html