2014年全国计算机等级《二级C语言程序设计》考前押密试题(2)

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

试卷介绍: 2014年全国计算机等级《二级C语言程序设计》考前押密试题(2)

开始答题

试卷预览

  • 1. 请补充main()函数,该函数的功能是:把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存在原来的字符串中。例如,当str[M]=”abcdefl23ABCD”,结果输出:“ABCDEF123ABCD”。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。试题程序:#include#include#include#defineM80voidmain(){intj;charstr[M]="abcdefl23ABCD”;char*pf=str;system(”CLS”):printf(”***originalstring***\n”):puts(str);【1】while(*(pf+j)){if(*(pf+j)>='a'&&*(pf+j)<='Z'){*(pf+j)=【2】;【3】;)elsej++;)printf(”****newstring****\n”);puts(str);system(”pause”);}[18分]
  • 2. 下列给定程序中,函数proc()的功能是:根据整型形參n的值,计算如下公式的值。t=i-1/(2*2)-1/(3*3)-…-1/(n*n)例如.当n=7时。t=0.188203。请修改函数proc()中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include#includedoubleproc(intn){doubley=1.0;inli;//****found****for(i=2;i<N;I++)//****found****y-=1/(i*i):telurn(y);}voidmain(){intn=7:system(”CLS”):print[(”\nTheresultis%lf\n”,proe(n))。1[24分]
  • 3. 请编写函数proc(),它的功能是计算:s=(1-In(1)-ln(2)-In(3)-…-In(m))2S作为函数值返回。在C语言中可调用log(n)函数求In(n)。log函数的引用说明是doublelog(doublex)。例如,若m的值为10,则proc()函数值为198.934454。注意;部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。试题程序:#include#include#include#includedoubleproc(intm){voidmain(){system(”CLS”);printf(”%f\n”,proc(10));}[18分]

    A(1)-ln

    B(2)-In

    C(3)-…-In(m))2S作为函数值返回。在C语言中可调用log(n)函数求In(n)。log函数的引用说明是doublelog(doublex)。例如,若m的值为10,则proc()函数值为198.934454。注意;部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。试题程序:#include#include#include#includedoubleproc(intm){voidmain(){system(”CLS”);printf(”%f\n”,proc(10));}[18分]

  • 4. 有以下程序#includemain(){inty=9;for(;y>0;ym一)if(y%3==0)printf(”%d”,——y);)程序的运行结果是()。[1分]

    A741

    B963

    C852

    D87542l

  • 5. 下列程序的运行结果是()。main()(intx=1,y=3,a=0;while(x++!=(y-=1)){a+=1;if(y<X)&NBSP;break;}printf(”%d,%d,%d\n”,x,y,a);}[1分]

    A2,3,2

    B2,3,1

    C1,3,3

    D3,1,2

  • 6. 有以下程序#includemain(){FILE*fp;inta[10]=(1,2,3,0,0),i;fp—fopen(”d2.dat,”wb”);fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp—fopen(”d2.dat”,”rb”);fread(a,sizeof(int),10,fp);fclose(fp);for(i=0;i<10;i十f-)printf("%d",a[i]);}程序的运行结果是()。[1分]

    A1,2,3,0,0,0.0,0,0,0,

    B1,2,3,1,2,3,0,0,0,0,

    C123,0,0,0,0,123,0,0,O,O,

    D1,2,3,0,0,1,2,3,0,0,

  • 7. 有以下程序,其中函数f的功能是将多个字符串按字典顺序排序()。#{nc[ude%string.h>void{(char*p[],intn){char*t;inti,j;for(i=0:iO){t=p[i];p[i]=p[j];p[j]=t;}}main(){char*P[5]={¨abc”,”aabdfg”,”abbd”,”dcdbe”,”ed”);f(p,5):print[("%d\n",strlen(p[1]));程序运行后的输出结果是()。[1分]

    A2

    B3

    C6

    D4

  • 8. 当输入为"hello?"时,下面程序的执行结果是()。#includedstdio.h>main()(charC;c=getchar();while(c!='?')(putchar(c);break;)}[1分]

    ARvfsu

    Bh

    C?

    Dhello

  • 9. 若有下列定义和语句:intu一011,v一0x11,w一11:printf(”%o,%x,%d\n”,u,v,w):则输出结果是()。[1分]

    A9,17,11

    B9,11。11

    C11,11,11

    D11,17。11

  • 10. 有如下程序:main()(intx=1,a=O,b=0;switch(x){CgtSC0:b++;case1:a++;CaSe2:a++;b++;)printf(”a=%d.b=%d\n”,a.b);}该程序的输出结果是()。[1分]

    Aa=2,b=1

    Ba=1,b=1

    Ca=1,b=0

    Da=2b=2

  • 11. 若有定义“intb[8],*p=b;”,则p+6表示()。[1分]

    A数组元素b[6]的值

    B数组元素b[6]的地址

    C数组元素bE73的地址

    D数组元素hEo]的值加上6

  • 12. 有以下程序段:intx:for(x=3:x<6:X++print[((x%2)?(”**%d”):(”##%d\n”),x);程序段的输出结果是()。[1分]

    A**3

    B##3##4**4**5##5

    C##3

    D**3##4**4##5**5

  • 13. 下面程序的运行结果是()。#includevoiddel(char*s){inti,j;char*a:a=s:for(i=0,j一0;a[i]!='\o';i++){if(a[i]>='0'&&a[i]<='9'){s[j]=a[i];j++;}s[j]='\0';})main(){char*s==”aa89gggh”:del(s);printf(”\n%s”,s);[1分]

    A1

    B2

    C3

    D4

  • 14. 有以下程序:main(){inta[]={2,4,6,8,10},y=0,x,*p;p=&a[1];for(x-:1;x<3;x++)y+=p[x];printf(“%d\n,y”);}程序运行后的输出结果是()。[1分]

    A10

    B1.1

    C14

    D15

  • 15. 若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是()。[1分]

    Abdgcefha

    Bgdbeefha

    Cbdgaechf

    Dgdbehfca

  • 16. 下述程序的输出结果是()。#includedstdio.h>main(){charehE2][5]={”1234”,”5678”),*p[2];inti,j,s=0;for(i一0;i<2;i++)pEi]=ch[i];for(i一0;i<2;i++){s=p[i][j]-'0';printf(”%d”,s);)}[1分]

    A6357

    B6135

    C37

    D69j357

  • 17. 下列程序的输出结果是()。voidfun(int*x,inty){printf(”%d%d”,*x,”y);*x=3;。y=4;)main(){intx=1.y=2:fun(&y,&x);printf(”%dXd”,X,y);)[1分]

    A2143

    B1212

    C1234

    D2112

  • 18. 有以下计算公式若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是()。[1分]

    Aif(x>=0)y=-sqrt(x);elsey=sqrt(-x);

    By=sqrt(x)if(x<0)y=sqrt(~x);

    Cif(x>=0)y—sqrt(x);If(x<0)y=sqrt(一x);

    Dy=sqrt(x>=0?x:-x);

  • 19. 下列选项中不是C语句的是()。[1分]

    A{inti;i++;printf(”%d\n”,i);)

    B

    Ca=5,c=10

    D{;}

  • 20. 有以下程序:#includemain(){intk=-3:if(k<=0)printf(”****\n”)elseprintf(”&&&&\n”);}程序的输出结果是()。[1分]

    A输出####

    B输出&&&&

    C输出####&&&&

    D有语法错不能通过编译

  • 21. 有下列程序:main(){chars[]=”abode”;s+=2:printf(”%d\n”,s[o]);)执行后的结果是()。[1分]

    A输出字符a的ASCII码

    B输出字符c的ASCII码

    C输出字符c

    D程序出错

  • 22. 下列程序的运行结果是()。inty一5,x一14;y=((x=3*y,x+1),x-1);printf(”x=%d,y=%d”,x,y);[1分]

    Ax=27,y=27

    Bx=12,y=13

    Cx=15,y=14

    Dx=y=27

  • 23. 有以下程序:#includemain(){intx,i;for(i=1:i<=100:i++){x=i:if(++x$2==0)if(++x%3==0)if(++x%7==0)printf(“%d”,x);printf(”\n”);程序的输出结果是()。[1分]

    A2870

    B4284

    C2668

    D3981

  • 24. 没有定义:charp[]={'1','2','3'),*q=p;,以下不能计算出一个char型数据所占字节数的表达式是()。[1分]

    Asizeof(p)

    Bsizeof(char)

    Csizeof(*q)

    Dsizeof(p[o])

  • 25. 结构化程序没计主要强调的是()。[1分]

    A程序的规模

    B程序的效率

    C程序设计语言的先进性

    D程序的易读性

  • 26. 标准库函数fgets(S,n,file)的功能是()。[1分]

    A从文件file中读取长度为n的字符串存入字符数组s中

    B从文件file中读取长度不超过n-1个字符的字符串放到字符数组S中

    C从文件file中读到n个字符串存入字符数组s中

    D从文件file中读取长度为n-1个字符的字符串存人字符数组s中

  • 27. 下面程序的功能是输m以下形式的金字塔图案:main(){inti,j;for(i-1;i<-4;i++)***{for(j=1;j<=4-i;j++)printf("");*****for(j=1;j<=________;j++)printf(”*”);******printf(”\n”):}}在下划线处应填入的是()。[1分]

    Ai

    B2*i-1

    C2*i+1

    Di+2

  • 28. 设a、b和C都是int型变量。且a=3,b=4,c=5,则以下的表达式中值为0的表达式是()。[1分]

    Aa&&.b

    Ba<=b

    Ca||b+c&&b-c

    D!((a<B)&&!C||1)

  • 29. 下列变量声明合法的是()。[1分]

    Ashorta=1.4e-1;

    Bdoubleb=1+3e2.8;

    C10ngdo=0xfdaL;

    Dfloat2_aaa=1e-3;

  • 30. 以下程序的输出结果是()。main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=p;p=q;q=r;printf(”%d,%d,%d,%d\n”,*P,*q,a,b);)[1分]

    A8,7,8,7

    B7,8,7,8

    C8,7,7,8

    D7,8,8,7

  • 31. 有下列程序:main(){inty=10do(y--;}while(--y);printf(”%d\n”,--y);)当执行程序时,输出的结果是()。[1分]

    A-1

    B1

    C4

    D0

  • 32. 有以下程序:#includemain(){intw=4,x=3,y=2,z=1;printf(”%d\n”,(w<X?W:Z<Y?Z:X));程序的输出结果是()。[1分]

    A1

    B2

    C3

    D4

  • 33. 下列程序的运行结果是()。#includevoidfun(int*s,int*p){staticintt=3;*p=set];t——:}voidmain(){inta[]={2,3,4,5),k;intx:for(k=0,k<4,k++){fun(a,&.x);printf(”%d,”,x);)}[1分]

    A5,4,3,2

    B2,3,4,5

    C2,2,2,2

    D5,5,5,5

  • 34. 若有以下程序()。#includemain(){int**k,*j,i=100;j=&i;k=&j;printf(”%d\n”,**k);}程序的输出结果是(>。[1分]

    A运行出错

    B100

    Cj的地址

    Di的地址

  • 35. c语言中,下列不合法的字符常量是()。[1分]

    A'\xff'

    B'\65'

    C'&'

    D'\028'

  • 36. 下列工具中为需求分析常用工具的是()。[1分]

    APAD

    BBFD

    CN-S

    DDFD

  • 37. 对线性表进行二分法检索,其前提条件是()。[1分]

    A线性表以顺序方式存储,并按关键码值排好序

    B线性表以顺序方式存储,并按关键码的检索频率排好序

    C线性表以链式方式存储,并按关键码值排好序

    D线性表以链式方式存储,并按关键码的检索频率排好序

  • 38. 下列叙述中正确的是()。[1分]

    A用E-R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系

    B用E-R图只能表示实体集之间一对一的联系

    C用E-R图只能表示实体集之间一对多的联系

    D用E-R图表示的概念数据模型只能转换为关系数据模型

  • 39. 有以下程序:#includevoidfun(char*t.char*s){while(*tl=0)t++;while((*t++-*s++)!一0);)main(){charssElo]=”aCC”,aaElo]=”bbxxyy”;fun(SS,aa);printf(”%s,%s”,SS,aa);)程序运行结果是()。[1分]

    Aaccxyy,bbxxyy

    Bacc,bbxxyy

    Caccxxyy,bbxxyy

    Daccbbxxyy,bbxxyy

  • 40. 执行下列程序中的输出语句后,a的值是()。main(){inta;printf(”%dkn”,(a=2*3,a*5,a+7));)[1分]

    A17

    B37

    C6

    D13

  • 41. 下列选项中不会引起二义性的宏定义是()。[1分]

    A#defineS(x)X*x

    B#defineS(x)(x)*(x)

    C#defineS(x)(x*x)

    D#defineS(x)((x)*(x))

  • 42. 下列程序的输出结果是()。#include%stdio.h>main(){inti;for(i=1;i=20)&&(i*i<=100))break;)print[(”%d\n”,i*i);)[1分]

    A49

    B36

    C25

    D64

  • 43. 有以下程序:#includedstdio.h>main(){charcl='1',c2='2';cl=getchar():c2=getchar();putchar(c1);putchar(c2);}当程序运行时输入a后,下列叙述中正确的是()。[1分]

    A变量c1被赋予字符a,c2被赋予回车符

    B程序将等待用户输入第2个字符

    C变量c1被赋予字符a,c2中仍是原有字符2

    D变量c1被赋予字符a,c2中将无确定值

相关试卷
相关题库