您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 2011年10月四川省计算机二级考试试卷答案模拟
四川省计算机二级C模拟试题奋斗才精彩,爱拼才会赢1软件技术部分(共15分)一、是非判断题(每小题1分,共10分)(判断下列各小题的叙述,如正确则在客观题答题纸对应编号上选A,否则选B)1.表和线性链表的物理存贮形式都是顺序存贮。()2.数据类型是某种程序设计语言中已实现的数据结构。()3.如果通过软件测试没有发现错误,则说明软件是完全正确的。()4.快速原型模型可以有效地适应用户需求的动态变化。()5.不同进程之间的动作在时间上不能重叠。()6.分区式存储管理能够进行存储空间共享。()7.链接文件和索引文件都可以非连续存放。()8.中断处理一般分为中断响应和中断处理两个步骤。前者由软件实施,后者主要由硬件实施。()9.在C++语言中,“重载”表达了最简单的多态性。()10.进程调度根据一定的调度算法,从等待队列中挑选出合适的进程。()二、选择题(每小题1分,共5分)1.数据结构中,一个存储结点存放一个()。(A)数据项(B)数据元素(C)数据结构(D)数据类型2.把逻辑地址转变为内存的物理地址的过程称作()。(A)编译(B)连接(C)运行(D)重定位3.SPOOLing技术可以实现设备的()分配。(A)虚拟(B)共享(C)独占(D)物理4.允许用户把若干作业提交计算机系统集中处理的操作系统称为()。(A)分时操作系统(B)实时操作系统(C)网络操作系统(D)批处理操作系统5.进程从运行状态进入就绪状态的原因可能是()。(A)被选中占有处理机(B)时间片用完(C)等待的事件已发生(D)等待某一事件第二部分(共85分)一、单项选择题(每个1分,共10分)1以下能正确进行字符串赋值的是()(A)chars[5]={'a','e','i','o','u'};(B)chars[5];s=good;(C)chars[5]=abcd;(D)chars[5];s[]=good;2有下面的说明和语句,则输出结果是()。chara=9,b=020;printf(%o\n,~a&b1);(A)0337(B)040(C)32(D)以上答案均不正确。3若有floatx;则sizeof(x)和sizeof(float)两种描述()。(A)都正确(B)都不正确(C)前者正确,后者不正确(D)后者正确,前者不正确4若有代数式3ae/(bc),则不正确的c语言表达式是()。(A)3*a*e/b*c(B)3*a*e/b/c(C)a/b/c*e*3(D)a*e/c/b*35下面程序的运行结果是()。main(){structcmplx{intx;inty;}cnum[2]={1,3,2,7};printf(%d\n,cnum[0].y/cnum[0].x*cnum[1].x);}(A)0(B)1(C)3(D)6四川省计算机二级C模拟试题奋斗才精彩,爱拼才会赢26若有以下说明和语句,且0=i10,则()是对数组元素的错误引用。inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;(A)*(a+i)(B)a[p-a](C)p+i(D)*(&a[i])7设有以下宏定义;#defineM2#defineX(m)((M+2)*m)则执行语句:z=2*(M+X(3+2));后,z的值为()。(A)44(B)45(C)32(D)338下列函数定义中,会出现编译错误的是()。(A)fun(intx,inty){intz;z=(xy)?x:y;returnz;}(B)fun(intx,inty,int*z){z=(xy)?x:y;returnz;}(C)fun(intx,inty){return((xy)?x:y);}(D)fun(intx,inty,int*z){*z=(xy)?x:y;}9下面C++的语句()能实现printf(%d,%d\n,a,b);的功能。(A)cina,b(B)cinab(C)couta','b(D)couta','bendl10在如下程序段中的while循环()。intk=0;while(k=1)k++;(A)有语法错误,不能执行(B)无限循环(C)一次都不执行(D)执行一次二、读程序回答问题(每个3分,共45分)1下列程序运行的结果为()。#includestdio.hmain(){intk=0;charc='A';do{switch(c++){case'A':k++;break;case'B':k--;case'C':k+=2;break;case'D':k=k%2;continue;case'E':k=k*10;break;default:k=k/3;}k++;}while(c'G');printf(k=%d,k);}(A)k=1(B)k=2(C)k=3(D)k=42读程序并回答问题。#includestdio.hvoidfun(char*p,intn){inti;if((i=n/10)!=0)fun(p+1,i);*p=n%10+'0';}voidmain(){intnum;charstr[10]=;scanf(%d,&num);fun(str,num);puts(str);}若输入整数3567,请回答下列两个问题。四川省计算机二级C模拟试题奋斗才精彩,爱拼才会赢3(1)程序中的fun函数被调用的次数为()。(A)3(B)4(C)5(D)6(2)程序的运行结果为().(A)3567(B)5673(C)6735(D)76533阅读如下程序:#includestdio.habc(s,t,k)int*s,t,*k;{intp;for(p=0,*k=p;pt;p++)if(s[p]s[*k])*k=p;}main(){inta[10],i,k;for(i=0;i10;i++)scanf(%d,&a[i]);abc(a,10,&k);printf(%d,%d\n,k,a[k]);}(A)查询并输出数组中最大值的位置及最大值(B)查询并输出数组中最小值及位置及最小值(C)计算数组中各元素之和(D)计算数组中各元素之乘积4读下列程序并回答问题。#includestdio.hvoidmain(intargc,char*argv[]){charch;FILE*in,*out;if(argc!=3)exit(1);if((out=fopen(argv[1],r))==NULL){printf(Cannotopenthefile.\n);exit(0);}if((in=fopen(argv[2],w))==NULL){printf(Cannotopenthefile.\n);fclose(out);exit(0);}while((ch=fgetc(out))!=EOF)if(ch='a'&&ch='z'){ch='A'+ch-'a';fputc(ch,in);}elsefputc(ch,in);fclose(in);fclose(out);}上述C程序经编译、连接后生成一个可执行文件,文件名为myfile.exe。假设磁盘上有一个文件file1.dat,其内容为Thisisanexample,若在dos提示符下键入:myfilefile1.datfile2.dat回车,请回答下面两个问题。(1)按上述要求运行后,文件file1.dat的内容为()。(A)Thisisanexample(B)THISISANEXAMPLE(C)thisisanexample(D)ThisIsAnExample(2)按上述要求运行后,文件file2.dat的内容为()。(A)Thisisanexample(B)THISISANEXAMPLE(C)thisisanexample(D)ThisIsAnExample5阅读如下程序:voidmain(){charch[2][5]={6934,8254},*p[2];四川省计算机二级C模拟试题奋斗才精彩,爱拼才会赢4inti,j,s=0;for(i=0;i2;i++)p[i]=ch[i];for(i=0;i2;i++)for(j=0;p[i][j]'0'&&p[i][j]='9';j+=2)s=10*s+p[i][j]-'0';printf(%d\n,s);}程序运行的结果是()。(A)6385(B)69825(C)63825(D)6938256阅读如下程序:fun(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}voidmain(){inta,b,c,d;a=30;b=50;fun(a,b,&c,&d);printf(%d,%d\n,c,d);}程序运行的结果是()。(A)50,30(B)30,50(C)80,-20(D)80,207读下列程序,回答问题。#includestdio.hvoidf(ints[][4]){inti,j,k;for(i=0;i3;i++)for(j=i+1;j4;j++){k=s[i][j];s[i][j]=s[j][i];s[j][i]=k;}}main(){ints[4][4],i,j;for(i=0;i4;i++)for(j=0;j4;j++)s[i][j]=i-j;f(s);for(i=0;i4;i++){printf(\n);for(j=0;j4;j++)printf(%4d,s[j][i]);}}(1)程序运行的结果是()。(A)0123(B)0-1-2-31012-10-1-22101-2-10-13210-3-2-10(C)0-1-2-3(D)0-1-2-310-1-2-1012210-1-2-1013210-3-2-10(2)若将函数f中的for(j=i+1;j4;j++)改为for(j=0;j3-i;j++)运行结果是()。在(1)中的矩阵中选择8读下列程序,回答问题。main(){inti,j,k,m=0;for(i=1;i4;i++)四川省计算机二级C模拟试题奋斗才精彩,爱拼才会赢5for(j=1;j4;j++)for(k=1;k4;k++)m++;printf(M=%d,m);}(1)以上程序输出M=()。(A)3(B)6(C)9(D)27(2)如果在以上程序中的语句m++;之前增加一条语句:if(!(i==j||i==k||j==k))则M=()。(A)3(B)6(C)9(D)279下列程序运行的结果为()。#includestdio.hmain(){voidpic(intlen,charc);inti=4,j;pic(27,'');j=i;pic(i+2*j-2,'*');putchar('\n');for(j=2;j=0;j--){pic(30-j,'');pic(i+2*j,'*');putchar('\n');}}voidpic(intlen,charc){intk;for(k=1;k=len;k++)putchar(c);}(A)(B)(C)(D)****************************************************************************************************************10读程序,回答问题()。#includestdio.hchar*cat(char*str1,char*str2){char*pt;for(pt=str1;*pt!='\0';pt++);while(*str2!='\0')*pt++=*str2++;*pt='\0';return(pt);}main(){char*p,s1[30]=210,s2[30]=45;p=cat(s1,s2);printf(%d\n,p-s1);p=cat(s1,s2);printf(%d\n,*(p-1)-*s1);}(1)本程序中第一次调用cat函数后,输出为()。(A)2(B)3(C)5(D)7(2)本程序中第二次调用c
本文标题:2011年10月四川省计算机二级考试试卷答案模拟
链接地址:https://www.777doc.com/doc-3048152 .html