2013年9月全国计算机等级《二级C语言程序设计》上机临考冲刺试卷(5)

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

试卷介绍: 2013年9月全国计算机等级《二级C语言程序设计》上机临考冲刺试卷(5)

开始答题

试卷预览

  • 1. 下列给定程序中,函数ptoc()的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入前两个字符中,插入后前3个字符依然有序;再把第4个字符插入前三个字符中,待排序的字符串已在主函数中赋予。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include#defineM80voidproc(char*arr){inti,j,n;charch;n=strlen(arr):for(i=1;i=o)&&(ch<ARR[J])){arr[j+1]=arr[j];j--;}arr[j+1]=ch;}}voidmain(){chara[M]="QWERTYUIOPASDFGHJKLMNBVCXZ";printf("Theoriginalstring:%s\n",a);proc(a);printf("Thestringaftersortin9:%s\n\n",a);}[24分]
  • 2. 规定输入的字符串中只包含字母和*号。编写函数fun(),其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为“****A*BC*DEF*G****”,删除后,字符串中的内容应当是“ABCDEFG”。注意:部分源程序给出如下。请勿改动maini)函数和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include#includevoidfun(chara){voidmain(){chars[81];print{("Enterastring:\n");gets(s):fun(S);printf("Thestringafterdeleted:\n");puts(s);}[18分]
  • 3. 请补充main()函数,该函数的功能是:先以只写方式打开文件file.dat,再把字符串S中的字符保存到这个磁盘文件中。请勿改动main()函数与其他函数中的任何内容,仅在的横线上填写所需的若干表达式或语句。注意:部分源程序给出如下。试题程序:#include#include#defineN100voidmain(){FILE*f:inti=0:charch;chars[N]="Welcome!";if((f=fopenl("【1】","w"))==NULL){printf("cannotopenfile.dat\n");exit(0);}while(s[i]){ch=s[i];【2】;putchar(ch);i++:}【3】;}[18分]
  • 4. 有下列二叉树,对此二叉树前序遍历的结果为()。[1分]

    AACFXDBEYZ

    BABEFXYZCD

    CABCDEFXY7

    DABDYECFXZ

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

    A17

    B37

    C6

    D13

  • 6. 下列字符数组初始化语句中,不正确的是()。[1分]

    Acharc[]='goodmorning';

    Bcharc[20]="goodmorning";

    Ccharc[]={'a','b','c','d');

    Dcharc[]={"ffgoodmorning"};

  • 7. 若有定义语句:“charsE10]="1234567\0\0";”,则strlen(s)的值是()。[1分]

    A7

    B8

    C9

    D10

  • 8. 下列说法正确的是()。[1分]

    A在C语言中,可以使用动态内存分配技术定义元素个数可变的数组

    B在c语言中,数组元素的个数可以不确定,允许随机变动

    C在C语言中,数组元素的数据类型可以不一致

    D在C语言中,定义一个数组后.就确定了它所容纳的元素的个数

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

    A队列

    B

    C双向链表

    D二叉树

  • 10. 有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printS(”%d,”,k);k=fun(j,m);printf(”%d\n”,k);)执行后的输出结果是()。[1分]

    A5,5

    B5,11

    C11,11

    D11,5

  • 11. 当c的值不为0时,在下列选项中不能正确将c的值赋给变量a、b的是()。[1分]

    Ac=b=a;

    B(a=c)||(b=c);

    C(a=c)&&(b=c);

    Da=c=b;

  • 12. 在Internet中,域名服务器的主要功能是实现()的转换。[1分]

    AIP地址到域名(主机名字)

    B域名到IP地址

    C主机IP地址和路由器IP地址之间

    D路由器IP地址之问

  • 13. 有以下程序:main(){inta=0,b=0;a=10;/*给a赋值b=20;给b赋值*/printf("a+b=%d\n",a+b);//输出计算机结果}程序运行后的输出结果是()。[1分]

    Aa+b=10

    Ba+b=30

    C30

    D出错

  • 14. 以下程序的输出结果是()。main(){inta=3:printf("%d\n",(a+a-=a*a));}[1分]

    A-6

    B12

    C0

    D-12

  • 15. 下列关于栈的描述中错误的是()。[1分]

    A栈是先进先出的线性表

    B栈只能顺序存储

    C栈具有记忆作用

    D对栈的插入删除操作中,不需要改变栈底指针

  • 16. 常采用的两种存储结构是()。[1分]

    A顺序存储结构和链式存储结构

    B散列方法和索引方式

    C链表存储结构和数组

    D线性存储结构和非线性存储结构

  • 17. 若有定义“inta=5,b=7;”,则表达式a%-(b%2)运算后,a的值为()。[1分]

    A0

    B1

    C11

    D3

  • 18. 当执行以下程序段时,()。x=-l:do{x=x*X;)while(!x);[1分]

    A循环体将执行一次

    B循环体将执行两次

    C循环体将执行无限次

    D系统将提示有语法错误

  • 19. 语句int(*ptr)()的含义是()。[1分]

    Aptr是一个返回值为int的函数

    Bptr是指向int型数据的指针变量

    Cptr是指向函数的指针,该函数返回一个int型数据

    Dptr是一个函数名,该函数的返回值是指向int型数据的指针

  • 20. 在下列语句中,其含义为“q是一个函数指针,该指针指向整型数据”的定义语句是()。[1分]

    Aint**q;

    Bint(*q)();

    Cint*q;

    Dint*q();

  • 21. 有以下程序#includevoidfun(int*a,intn)/*fun函数的功能是将a所指数组元素从大到小排序*/{intt,i,j;for(i=0;i<N-1;J++)for(j=i+l;j<N;J++)if(a[i]}main(){intc[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序运行的结果是()。[1分]

    A1,2,3,4,5,6,7,8,9,0,

    B0,9,8,7,6,5,1,2,3,4,

    C0,9,8,7,6,5,4,3,2,1,

    D1,2,3,4,9,8,7,6,5,0,

  • 22. 相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和()。[1分]

    A可重用性差

    B安全性差

    C非持久性

    D冗余性

  • 23. 下列合法的声明语句是()。[1分]

    Aintabc=50;

    Bdoubleint=3+5e2.5;

    Clongdo=1L;

    Dfloat3asd=3e一3;

  • 24. 下列程序的输出的结果是()。main(){doubled=3.2;intx,Y;x=1.2;v=(x+3.8)/5.0;printf("%d\n",d*y);}[1分]

    A3

    B3.2

    C0

    D3.07

  • 25. 有定义:“inta=2,b=3,c=4;”,则下列选项中值为0的表达式是()。[1分]

    A(!a==1)&&(!b==0)

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

    Ca&&b

    Da||(b+b)&&(c-a)

  • 26. 执行下面的程序后,a的值为()。main(){inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}[1分]

    A7

    B8

    C9

    D10

  • 27. 若fp是指向某文件的指针,且尚未读到文件末尾,则函数feof(fp)的返回值是()。[1分]

    AEOF

    B-l

    C非零值

    D0

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

    A-1

    B1

    C4

    D0

  • 29. 设x为int型变量,则执行以下语句后,x的值为()。x=10;x=x-=x-x;[1分]

    A10

    B20

    C40

    D30

  • 30. 执行下述程序后,输出的结果是()。#include#defineS(X)X*Xvoidmain(){inta=9,k=3,m=2;a/=S(k+m)/s(k+m);printf("%d",a);}[1分]

    A1

    B4

    C9

    D0

  • 31. 下述程序的运行结果是()。#includedstdio.h>#includedstrin9.h>main(){char*s1="abDuj";char*s2="ABdUG";intt;t=strcmp(s1,s2);printf("%d",t);}[1分]

    A正数

    B负数

    C

    D不确定的值

  • 32. 设变量已正确定义,则以下能正确计算f=n!的程序是()。[1分]

    Af=0:for(i=1;i<=n;i++)f*=i:

    BF=1:for(i=l;i<2n;i++)f*=i:

    Cf=l:for(i=n;i>1;i++)f*=i:

    Df=1;for(i=n;i>=2;i--)f*=i:

  • 33. 有以下程序:main(){chara='a',b;printf("%c,",++a);printf("%c\n",b=a++):)程序运行后的输出结果是()。[1分]

    Ab,b

    Bb,c

    Ca,b

    Da,c

  • 34. 以下程序的输出结果是()。unionmyun{struct{intx,y,z;)u;intk:}a;main(){a.u.x=4;a.u.y=5;a.u.z=6;k=0;printf(%d\n",a.u.x);}[1分]

    A4

    B5

    C6

    D0

  • 35. 若有说明语句:double*p,a;则通过scanf语句正确给输入项读人数据的程序段是()。[1分]

    A*p=&a;scanf("%1f”,p);

    B*p=&a;scanf("%f",p);

    Cp=&a;scanf("%",*p);

    Dp=&a;scanf("%1f",p);

  • 36. 函数调用strcat(strcpy(str1,str2),str3)的功能是()。[1分]

    A将字符串str1复制到字符串str2中后再连接到字符串str3之后

    B将字符串str1连接到字符串str2之后再复制到字符串str3之后

    C将字符串str2复制到字符串str1之后再将字符串str3连接到字符串str1之后

    D将字符串str2连接到字符串str1之后再将字符串strl复制到字符串str3中

  • 37. 对两个数组a和b进行下列初始化:charm[]1="l234567":charn[]={'1','2','3','4','5','6','7');则下列叙述正确的是()。[1分]

    A数组m与数组n完全相同

    B数组m与数组n长度相同

    C数组m比数组n长1

    D数组m与数组n中都存放字符串

  • 38. 有下列程序段:intn,t=1,S=0;scanf("%d",&n);do{s=s+t;t=t-2;while(t!=n);为使此程序段不陷入循环,从键盘输入的数据应该是()。[1分]

    A任意正奇数

    B任意负偶数

    C任意正偶数

    D任意负奇数

  • 39. 若变量a,b已正确定义,且b已正确赋值,则合法的语句是()。[1分]

    Ab=double(b);

    B(int)a=(int)b;

    Ca=a++=5;

    Da=double(b);

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

    A2143

    B1212

    C1234

    D2112

  • 41. C语言可执行程序的开始执行点是()。[1分]

    A包含文件中的第一个函数

    B程序中第一个函数

    C程序中的main()函数

    D程序中第一条语句

  • 42. 在下列给出的表达式中,与while(E)中的(E)不等价的表达式是()。[1分]

    A(!E==0)

    B(E>0||E<0)

    C(E==0)

    D(E!=0)

  • 43. 下述程序的输出结果是()。#includevoidmain(){intb[6]={2,4,6,8,10,12);int*p=b,**q=&p;printf("%d,",*(p++));printf("%d,",**q);}[1分]

    A4,4

    B2,2

    C4,5

    D2,4

相关试卷
相关题库