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

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. str是一个由数字和字母字符组成的字符串,由变量num传人字符串长度。请补充函数proc(),该函数的功能是:把字符串str中的数字字符转换成数字并存放到整型数组1,b中,函数返回数组bh的长度。例如.str=”abc123de45f967”.结果为:1234567。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容.仅在函数proc()的横线上填入所编写的若干表达式或语句。试题程序:#include#defineM80intbb[M];intproc(charstr[].intbh[],intnum){inti.n=0;for(i=0;i<NUM:I++){if(【1】){bb[n]=【2】;n++:)return【3】;}voidmain(){charstr[M];intnum=0.n,i:printf(”Enterastring:n”);gets(str);while(str[num])num++on=proc(str,bb,num);prinlf(”\nbb=”);for(i=0;i<N;I++)printf(”%d”,bb[i]);)[18分]
  • 2. 下列给定程序中函数proc的功能是:取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为123456789时,t中的数为2468。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include#include//****found****voidproc(1ongs,longt){longs1=10;s/=10:*t=s;//****found****while(s<0){s=s/100;*t=s*s1+*t;s1=s1*10:}voidmain(){longS,t;system(”CLs”);printf(”\nPleaseenters:”);scanf(”%ld”,&s);proc(s,&t):printf(”Theresultis:%ld\\n”,t);}[24分]
  • 3. 请编写函数proc(),其功能是:将str所指字符串中除下标为偶数,同时ASCII码值为奇数的字符外,其余的字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若str所指字符串中的内容为ABCDEFGl2345,其中字符8的ASCII码值为偶数,所在元素的下标为奇数,因此必须删除;而字符A的ASCII码值为奇数,所在数组中的下标为偶数,因此不应当删除。依次类推,最后t所指的数组中的内容应是ACEG。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所写的若干语句。试题程序:#include#include#include#includevoidproc(char*str,chart[]){)voidmain()(charstr[100],t[100];system(”CLS”);printf(”\nPleaseenterstringstr:");scanf(”%s”,str);proc(str,t);printf(”\nTheresultis:%s\n”,t):)[18分]
  • 4. 软件生命周期是指()。[1分]

    A软件产品从提出、实现、使用维护到停止使用退役的过程

    B软件从需求分析、设计、实现到测试完成的过程

    C软件的开发过程

    D软件的运行维护过程

  • 5. 已有定义:charC;,程序前面已在命令行中包含ctype.h文件,不能用于判断e中的字符是否为大写字母的表达式是()。[1分]

    Aisupper(c)

    B'A'<一c<='Z'

    C'A'<一c&&c<='Z'

    Dc<=('z'-32)&&('a'—32)<=c

  • 6. 表达式'5'-'1'的值是()。[1分]

    A整数4

    B字符4

    C表达式不合法

    D字符6

  • 7. 在C语言中,函数返回值的类型最终取决于()。[1分]

    A函数定义时在函数首部所说明的函数类型

    Breturn语句中表达式值的类型

    C调用函数时主调函数所传递的实参类型

    D函数定义时形参的类型

  • 8. 合法的八进制数是()。[1分]

    A0

    B028

    C-077

    D01.0

  • 9. 若有以下程序:#includevoidfun(float*a,float*b)(floatw;*a=*a+*a;w=*a;*a=*h;*b=W;}main(){floatx=2..0,y=3.0,*px=&x,*py=&y;fun(px,py);printf(”%2.of,%2.0fkn”,X,y);)程序的输出结果是()。[1分]

    A4,3

    B2,3

    C3,4

    D3,2

  • 10. 下列程序输出结果是()。#include%stdio.h>main(){charaE3一{'a','b','c','d','e','f','\o');inti,j;[1分]

    A7,7

    B7,6

    C6,6

    D6.7

  • 11. 按照“先进后出”原则组织数据的结构是()。[1分]

    A队列

    B

    C双向链表

    D二叉树

  • 12. 若有定义:“inta[2][3];”,则对a数组的第i行第j列元素的正确引用为()。[1分]

    A*(*(a+i)+j)

    B(a+i)[j]

    C*(a+j+j)

    D*(a+i)+j

  • 13. 若二维数组a有m列,则在a[i][j]前的元素个数为()。[1分]

    Ai*m+j-1

    Bi*m+j

    Cj*m+i

    Di*m+j+1

  • 14. 下列选项中非法的字符常量是()。[1分]

    A'\t'

    B'\039'

    C','

    D'\n'

  • 15. 下列函数的类型是()。fun(doublex){floaty;y=3*x-4;returny;}[1分]

    Aint

    B不确定

    Cvoid

    Dfloat

  • 16. 下列程序的运行结果是()。#includedstdio.h>voidmain(){ints=0,k;for(k=7;k>1;k--){switch(k){case1:case4:case7:s++:break;case2:case3:case6:break;case0:case5:s+=2:break;))print[(”S=%d”,s);}[1分]

    AS=3

    Bs=4

    Cs=5

    D无输出结果

  • 17. 没x为jnt型变量,则执行以下语句后,X的值为()。x=10;x=x-=x-X:[1分]

    A10

    B20

    C40

    D30

  • 18. 有以下程序:#includevoidWriteStr(char*fn.char*str){FILE*fpfp=fopen(fn,”w”);fputs(str,fp);fclose(fp);)main(){WriteStr(”t1.dat”,”start”);WriteStr(”t1.dat”,”end”);)程序运行后,文件t1.dat中的内容是()。[1分]

    Astart

    Bend

    Cstartend

    Dendrt

  • 19. 若程序中有宏定义行:#defineN100,则以下叙述中正确的是()。[1分]

    A宏定义行中定义了标识符N的值为整数100

    B在编译程序对C源程序进行预处理时用100替换标识符N

    C对C源程序进行编译时用100替换标识符N

    D在运行时用100替换标识符N

  • 20. 若有定义:“int*P,x=0,*P,P=&x;”,则语句“printf(”%d\n”,*p);”的输出结果是()。[1分]

    A随机值

    B0

    Cx的地址

    DP的地址

  • 21. 下列程序中C的二进制值是()。chara=2,b=4,c;c=a-b>>2;[1分]

    A00000011

    B00010100

    C000111OO

    D00011000

  • 22. 有下列程序:main(){char*p[]={¨3697”.”2584”);inti,j;longntlm=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0'){if((p[i][j]-'\0')%2)num=10*num+p[j][j]-'0';j+=2;}}print[(“%d\n”,num);程序执行后的输出结果是()。[1分]

    A35

    B37

    C39

    D3975

  • 23. 有下列二叉树,对此二叉树前序遍历的结果为()。[1分]

    AACFXDBEYZ

    BABEFXYZCD

    CABCDEFXYZ

    DABDYECFXZ

  • 24. 有如下程序:main()fintx=23:do{printf(”%d”,x——);}while(!x);}该程序的执行结果是()。[1分]

    A321

    B23

    C不输出任何内容

    D陷入死循环

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

    A在c语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

    B在c的函数中,最好使用全局变量

    C外部变量可以在函数之间传递数据

    D自动变量实质上是一个函数内部的局部变量

  • 26. 下列关于定点数与浮点数的叙述中错误的是()。[1分]

    A在实数的浮点表示中,阶码是一个整数

    B整数是实数的特例,也可以用浮点数表示

    C实数的补码是其对应的反码在最后一位加1

    D相同长度的浮点数和定点数,前者可表示数的范围要大于后者

  • 27. 有以下程序:#includemain(){inta[10]={1,2,3,4,5,6,7,8,9,10),*p=a;printf(”%a\n”,*(p+2));)程序的输出结果是()。[1分]

    A3

    B4

    C1

    D2

  • 28. 以下选项中不合法的用户标识符是()。[1分]

    A_123

    Bprintf

    CA$

    DDim

  • 29. 下列程序的运行结果是()。#include#defineADD(x)X+Xmain(){intm=1,n=2,k=3:ints=ADD(m十n)*k;printf(”s=%d”,s):}[1分]

    Asum=18

    Bsum=10

    Csum=9

    Dsum=25

  • 30. 有以下程序#includeinta=1:intf(intc){staticinta=2;c=c+1.return(a++)+c;}main(){inti,k一0;for(i=0;i<2;i++){inta=3;k+=f(a);)k+=a;printf(”%d\n”,k);程序运行结果是()。[1分]

    A14

    B15

    C16

    D17

  • 31. 若整型变量a、b、c、d中的值依次为2、2、3、4,则条件表达式a<B?A:C[1分]

    A1

    B2

    C3

    D4

  • 32. 设有如下关系表:则下列操作中正确的是()。[1分]

    AT=RnS

    BT=RUS

    CT—R×S

    DT—R/s

  • 33. 设有以下语句:inta=1,b=2,c;c=a^(b<<2);执行后,c的值为()。[1分]

    A6

    B7

    C8

    D9

  • 34. 定义下列结构体(联合)数组:struetSt{charname[15];intage;)a[10]={”ZHA()”,14,”WANG”,15,”LIU”,16,”ZHANG”,l7);执行语句print[(”%d,%c”,a[2].age,*(a[3].name+2))的输出结果为()。[1分]

    A15,A

    B16,H

    C16,A

    D17,H

  • 35. 若变量已正确定义为float型,要通过输入语句:seanf(”%f%f%f”,&a,&b,&c);给a赋值11.0,b赋值22.0,e赋值33.0,不正确的输入形式是()。[1分]

    A112233

    B11.0,22.0,33.0

    C11.022.033.0

    D1122

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

    A在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误地表示

    BC程序由主函数组成

    CC程序由若干函数组成

    DC程序中只允许包含一个函数

  • 37. C语言中运算对象必须是整型的运算符是()。[1分]

    A

    B

    C!

    D**

  • 38. 若有以下说明,则()不是对strcpy库函数正确的调用。strcpy库函数用于复制一个字符串:char*str1==”abed”,strZ[10],*str3="hijklmn",*str4[-2],*str5=”aaaa”;[1分]

    Astrcpy(str2,str1)

    Bstrcpy(str3,slrl)

    Cstrcpy(str1,str2)

    Dstrcpy(str5,strl)

  • 39. C语言中,字符(char)型数据在微机内存中的存储形式是()。[1分]

    A反码

    B补码

    CEBCDIC码

    DASCIl码

  • 40. 有以下程序:#includemain(){inta[J一{1,2,3,4,5,6,7,8,9,10,11,12),*P=a+5;*q=NULL;+q=*(p+5);printf(”%d%d\n”,*q,*q);}程序运行后的输出结果是()。[1分]

    A运后后报错

    B66

    C611

    D510

  • 41. 有以下程序:#includemain(){inti,X[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(”%d,”,x[i][2-i]);{程序的输出结果是()。[1分]

    A1,5,9,

    B1,4,7,

    C3,5,7,

    D3,6,9,

  • 42. 有以下程序:main(){inta=0,b=10,c=0,d=0;if(a=1)b=1;c=2;elsed=3:printf(”%d,%d,%d,%d\n”,a,b,c,d);}程序输出()。[1分]

    A0,1,2,0

    B0,0,0,3

    C1,1,2,0

    D编译有错

  • 43. 已知大写字母A的ASCIl码是65,小写字母a的ACSII码是97。下列能将变量C中的大写字母转换为对应小写字母的语句是()。[1分]

    Ac=(c-'A')%26+'A'

    BC=c+32

    Cc=c-'A'+'A'

    Dc=('A'+C)%26—'a'

相关试卷
相关题库