二级C语言历年真题汇总__第6章利用数组处理批量数据—.doc_第1页
二级C语言历年真题汇总__第6章利用数组处理批量数据—.doc_第2页
二级C语言历年真题汇总__第6章利用数组处理批量数据—.doc_第3页
二级C语言历年真题汇总__第6章利用数组处理批量数据—.doc_第4页
二级C语言历年真题汇总__第6章利用数组处理批量数据—.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机等级考试二级C语言历年真题汇总第6章 利用数组处理批量处理2008-04-24、下列错误的定义语句是( )。A)int x3=0,1,1,2,3;B)int x43=1,2,3,1,2,3,1,2,3,1,2,3;C)int x4=1,2,3,1,2,3,1,2,3,1,2,3;D)int x3=1,2,3,4;答案:C解析:如果对全部元素都赋初值,则第一维的长度可以省,但第二维的长度不可省略。2008-04-26、若有定义:int a23;, 下列选项中对a数组元素正确引用的是( )。A)a2!1B)a23C)a 03D)a12!1答案:D2008-04-27、有定义语句:char s10;, 若要从终端给s输入5个字符,错误的输入语句是( )。A)gets(&s0);B)scanf(%s,s+1);C)gets(s);D)scanf(%s,s1);答案:D解析:采用scanf()函数输入时,输入项为字符串的地址值,s1是字符,不是地址,所以选项D是错误的。gets()其中输入项为存放字符串的首地址。&s0为数组的首地址,s也为数组的首地址,因此选项D是错误的。2008-04-31、有下列程序:#include main() int s12=1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i; for(i=0;i12;i+) csi+; for(i=1;i5;i+) printf(%d ,ci); printf(n);程序的运行结果是( )。A)1 2 3 4B)2 3 4 4C)4 3 3 2D)1 1 2 3答案:C解析:c5=c0,c1,c2,c3,c4; 每个元素的初始赋值为0.for循环执行完的结果为:c1+;c2+;c3+;c4+;c4+;c3+;c2+;c1+;c1+;c1+;c2+;c3+;最后总结出c0=0,c1=4,c2=3,c3=3,c4=2。因为for(i=1;i5;i+)是从C数组第二个元素输出即第二个循环输出4 3 3 22008-09-21若有定义语句:intm =5,4,3,2,1,i=4;,则下面对m数组元素的引用中错误的是A)m-iB)m2*2C)mm0D)mm答案:C解析:因为C为m5超界。2008-09-24若有定义语句:chars10=“123456700”;,则strlen(s)的值是A)7B)8C)9D)10答案:A解析:strlen函数是测试字符串长度的函数。它是测试字符串中实际长度,不包括0。2009-03-22.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是()A)n=0; while(ch=getchar( )!=n) n+;B)n=0; while(getchar( )!=n)n+;C)for(n=0;getchar( )!=n;n+);D)n=0;for(ch=getchar( );ch!=n;n+);答案:D解析:getchar()每次从缓冲区读一个字符,当读到回车里,结束循环。前三个执行结果是一样的。而D里面ch=getchar( );是在表达式1里,表达式1只执行一次,所以不能接着输入下一个字符,就不是一行了,需要对D进行改近如下:for(ch=getchar();ch!=n;n+) ch = getchar(); 循环体里加一句。2009-03-30.设有定义:char s81;int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是A)gets(s); /gets函数可以把 how are you?一次输入进去B)while(si+=getchar()!=n);si=0; /*当(si+=getchar()不为换行符时,一直输入,然后在最后加上0结束符*/C)scanf(%s,s); D)doscanf(%c,&si);while(si+!=n); si=0;答案:C解析:scanf(%s,s); /可以用scanf函数输入一个字符串,如果想利用一个scanf函数输入多个字符,则应在输入时以空格分隔。如scanf(“%s%s%s”,str1,str2,str3); 输入数据: how are you?2009-09-20有以下程序 #include main() char s=012xy;int i,n=0; for(i=0;si!=0;i+) if(si=a&si=z) n+; printf(%dn,n); 程序运行后的输出结果是 A)0 B)2 C)3 D)5答案:B2009-09-29有以下程序#include main() int a =2,3,5,4,i; for(i=0;i4;i+) switch(i%2) case 0:switch(ai%2) case 0: ai+;break; case 1:ai-; break; case 1:ai=0; for(i=0;i4;i+) printf(“%d”,ai); printf(“n”); A)3 3 4 4 B)2 0 5 0 C)3 0 4 0 D)0 3 0 4 答案:C2009-09-30有以下程序#include #includemain( ) char a10=”abcd”; printf(“%d,%dn”,strlen(a),sizeof(a); 程序运行后的输出结果是 A)7,4 B)4,10 C)8,8 D)10,10答案:B解析:sizeof函数是求数组分配的存储空间大小,因为一个字符占一个字节,这里分配数组空间为10个字节。2009-09-31下面是有关C语言字符数组的描述,其中错误的是 A)不可以用赋值语句给字符数组名赋字符串 B)可以用输入语句把字符串整体输入给字符数组 C)字符数组中的内容不一定是字符串 D)字符数组只能存放字符串答案:D解析:A是对的,因为不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组名,如:str1=”china”是错的,str1=str2;也是错的。详见课本163注释。D字符数组可以存放字符或者字符串,如char c5=I,a,p,p,y;所在D是错的。2010-03-25下列选项中,能正确定义数组的语句是A)int num0.2008;B)int num;C)int N=2008; int numN;D)#define N 2008int numN; 答案:D解析:D对。方括号中必须是常量或常量表达式,不能是变量,定义时如果没有全部赋值必须标明长度,而D是定义的符号常量,所以方括号中是常量的一种。A没有这种用法。2010-03-29有以下程序#include(stdio.h)main()int a5=1,2,3,4,5,b5=0,2,1,3,0,i,s=0;for(i=0;i5;i+) s=s+abi);printf(%dn, s);程序运行后的输出结果是A)6B)10C)11D)15答案:C2010-03-30有以下程序#include main()int b 33=0,1,2,0,1,2,0,1,2,i,j,t=1;for(i=0;i3;i+)for(j=i;jincludestring.hmain()char x”STRING”;x0=0;x10;x20;printf(”d dn”,sizeof(x),strlen(x);程序运行后的输出结果是A)6 1B)7 0C)6 3D)7 1答案:B解析:char x=string 有6个字符外加一个看不见的字符串结束符,共占用7个存储空间。而x0=0;这时是用ASCII码为赋值时, ASCII 码 为0 就是null, 就是字符串结束符,而strlen(x) 返回字符串长度,是不计入字符串结束符的,所以得0。2010-09-28若要定义一个具有5个元素的整型数组,以下错误的定义语句是A)int a5=0;B)int b=0,0,0,0,0;C)int c2+3; D)int i=5,di;答案:D2010-09-31下列选项中,能够满足“若字符串s1等于字符串s2,则执行ST要求的是A)if(strcmp(s2,s1)= =0)ST; B)if(sl= =s2)ST;C)if(strcpy(s l ,s2)= =1)ST; D)if(sl-s2= =0)ST;答案:A2010-09-33有以下程序( strcat函数用以连接两个字符串)includestdiohincludestring hmain()char a20=“ABCDOEFG0”,b“IJK”;strcat(a,b);printf(”sn”,a);程序运行后的输出结果是A)ABCDEOFGOIJKB)ABCDIJKC)IJKD)EFGIJK答案:B解析:详见课本162页说明2.2010-09-38有以下程序includestdiohmain()int s,t,A=10;double B=6;ssizeof(A);t=sizeof(B);printf(“d,dn”,s,t);在VC6平台上编译运行,程序运行后的输出结果是A)2,4 B)4,4 C)4,8 D)10,6答案:C解析:在VC6里一个整型变量占4个字节,双精度浮点型占8个字节。2011-03-21有以下程序#include main() char s=012xy08s34f4w2; int i,n=0; for(i=0;si!=0;i+) if(si=0&si=9) n+; printf(%dn,n);程序运行后的输出结果是A)0 B)3 C)7 D)8答案:B解析:si!=0后面的0是ASCII码,相对应的字符为0。2011-03-31有以下程序#include main() char a30,b30; scanf(%s,a);gets(b); printf(%sn %sn,a,b);程序运行时若输入:how are you? I am fine则输出结果是A)how are you? B)how I am fine are you? I am fineC)how are you? I am fine D)how are you?答案:B2011-09-26.以下定义数组的语句中错误的是A.int num=1,2,3,4,5,6;B.int num3=1,2,3,4,5,6;C.int num24=1,2,3,4,5,6;D.int num4=1,2,3,4,5,6;答案:C2011-09-28. 有以下程序#include#define N 4void fun(int aN,int b) int i;for(i=0;iN;i+) bj=aij-aiN,1-i; main() int xNN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,yN,i; Fun(x,y);for(i=0;iN;i+) printf(“%d”,yi); printf(“n”);程序运行后的输出结果是A.-12,-3,0,0, B.-3,-1,1,3,C.,0,1,2,3, D.-3,3,-3,-3,答案:B2011-09-32.有以下程序:#include#includemain() char a510=“china”,”beijing”,”you”,”tiananmen”,”welcome”;Int I,j; char t10;for(i=0;i4;i+)for(j=i+1;j0) strcpy(t,ai); strcpy(ai,aj); strcpy(ai,t); puts(a3);程序运行后的输出结果是A.beijing B.china C.welcome D.tiananmen答案:C2011-09-34.有以下程序#includemain() char ch35=“AAAA”,”BBB”,”CC” printf(“%sn”,ch1);程序运行后的输出的结果是A. AAAA B.CC C.BBBCC D.BBB答案:D解析:二维数组可以看作是由三个一维数组组成的,分别为ch0=AAAA ch1=BBB ch2=CC,而每个一维数组又包含5个元素。2012-03-30、有以下函数 #include #include main( ) printf(“%dn”,strlen”ATSn0121”) );程序运行后的输出结果是A 3 B 8 C 4 D 9答案:B解析:n和1是转义字符,是一个字符。2012-03-31、有以下函数 #include main() char a20,b20,c20; scanf(”%s%s”,a,b); get(c);printf(”%s%sn”,a,b,c); 程序运行时从第一行开始输入 this is a cat!,则输出结果是A thisisacat! B this is a C thisis a cat! D thisisa cat!答案:C2012-03-35、有以下函数 #include #define S(x) (x)*x*2main()int k=5,j=2; printf(“%d,”,Sk+j); printf(“%dn”,S(k-j); 程序运行输出结果是A 98,18 B 39,11 C39,18 D98,11答案:B2012-09-22下列叙述中正确的是A)可以用关系运算符比较字符串的大小B)空字符串不占用内存,其内存空间大小是0C)两个连续的单引号是合法的字符常量D)两个连续的双引号是合法的字符串常量答案:D解析:两个连续的单引号是合法的字符常量,如“”也是字符串常量。2012-09-25设有定义:int x23;,则以下关于二维数组x的叙述错误的是A)x0可看作是由3个整型元素组成的一维数组B)x0和x1是数组名,分别代表不同的地址常量C)数组x包含6个元素D)可以用语句x0=0;为数组所有元素赋初值0答案:D2012-09-2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论