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

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. 给定程序的功能是将n个人员的考试成绩进行分段统计,考试成绩放在a数组中,各分段的人数存到b数组中:成绩为60~69的人数存到b[0]中,成绩为70~79的人数存到b[1]中,成绩为80~89的人数存到b[2]中,成绩为90~99的人数存到b[3]中,成绩为100的人数存到b[4]中,成绩为60分以下的人数存到b[5]中。例如,当a数组中的数据是:93、85、77、68、59、43、94、75、98,调用该函数后,b数组中存放的数据应是:1、2、1、3、0、2。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若于表达式或语句。试题程序:#includedstdi0.h>voidfun(inta[],intb[],intn){inti;for(i=0;i<6;I++)b[i]=0;for(i=0:i<【1】;i++)if(a[i]<60)b[5]++;【2】b[(a[i]一60)/10]++;}voidmain(){inti,a[100]={93,85,77,68,59,43,94,75,98),b[6];fun(【3】,9);printf("theresultis:");for(i=0;i<6;i++)printf("%d",b[i]);printf("\n,");}[18分]
  • 2. 下列给定程序中,函数proc()的功能是:根据输入的:个边长(整型值),判断能否构成三角形:若能构成等边三角形,则返回3;若是等腰三角形,则返回2;若能构成三角形则返回l;若不能,则返回0。例如,输入3个边长为3,4,5,实际输入时,数与数之间以Enter键分隔而不是逗号。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#includeintproc(inta,intb,intc){if(a+b>c&&b-c>a&&a+c>b){if(a==b&&b==c)//****found****return1;elseif(a==b||b==C||a==c)return2;//****found****elsereturn3;}elsereturn0;}voidmain(){inta,b,c,shape;printf("\nInputa,b,c:");scanf("%d%d%d",&a,&b,&c);printf("\na=%d.b=%d,c=%d\n",a,b,c);shape=proc(a,b.c):printf("\n\nTheshape:%d\n",shape);}[24分]
  • 3. 请编一个函数fun(ohlr*str),该函数的功能是把字符串中的内容逆置。例如,字符串中原有的字符串为asdf9,则调用该函数后,串中的内容为9fdsa。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。试题程序:#include#include#include#defineN100voidfun(char*str){}voidmain(){chara[N];FILE*out:printf("Enterastring:");gets(a);printf("Theorigiralstringis:");puts(a);fun(a):printf("Thestringaftermodified:");puts(a);strcpy(a,"Welcome!");fun(a);out=fopen("outfile.dat","w");fprintf(out,"%s".a);fclose(out);}[18分]
  • 4. 链表不具有的特点是()。[1分]

    A不必事先估计存储空间

    B可随机访问任意元素

    C插入、删除不需要移动元素

    D所需空间与线性表长度成正比

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

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

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

    Cif(x>=O)y=sqrt(x);If(x

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

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

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

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

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

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

  • 7. 下述程序的输出结果是()。#includemain(){inti;for(i=l;i=20)&&(i*i<=100))break;}printf("%d\n",i*i);}[1分]

    A49

    B36

    C25

    D64

  • 8. 运行下列程序,若从键盘输入字符“a”,则输出结果是()。charc;c=getchar();if(c>='a'&&c='9'&&c<='2')c=c-21:elseprintf("inputerror!\n");putchar(c);[1分]

    Af

    Bt

    Ce

    Dd

  • 9. 设有如图所示二叉树,对此二叉树后序遍历的结果为()。[1分]

    AZBTYCPXA

    BATBZXCYP

    CTZBACYXP

    DATBZXCPY

  • 10. 以下程序的输出结果是()。main(){charch[3][4]={"123","456","78"),*p[3];inti;for(i=0;i<3;i++)p[i]=ch[i];for(i=0;i<3;i++)printf("%s",p[i]);}[1分]

    A123456780

    B123456780

    C12345678

    D147

  • 11. 下列程序的运行结果是()。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

  • 12. 一些重要的程序设计语言(inC语言和Pascal语言)允许过程的递归调用,而实现递归调用中的存储分配通常用()。[1分]

    A

    B

    C数组

    D链表

  • 13. 有下列程序:#includemain(){inta=6,b=7,m=1;switch(a%2){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}}printf("%d\n",m);}程序的运行结果是()。[1分]

    A3

    B2

    C4

    D1

  • 14. 下列程序的输出结果是()。main(){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j);}[1分]

    A42

    B45

    C56

    D60

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

    A调用函数时,实参可以是表达式

    B调用函数时,实参与形参可以共用内存单元

    C调用函数时,将实参的值复制给形参,使实参变量和形参变量在数值上相等

    D调用函数时,实参与形参的类型必须一致

  • 16. 若有下列定义和语句: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

  • 17. 设有下列程序段:charstr[]="HelloWorld":char*plr;ptr=str:执行上面的程序段后,*(ptr+10)的值为()。[1分]

    A'\0'

    B'0'

    C不确定的值

    D'0'的地址

  • 18. 有以下程序:#includemain(){charp[20]={'a','b','c','d'),q[]="abc",r[]="abcde";strcpy(p+strlen(q),r);strcat(p,q);printf("%d%d\n",sizeof(p),strlen(p));}程序运行后的输出结果是()。[1分]

    A209

    B99

    C2011

    D1111

  • 19. 设j为Int型变量,则下面for循环语句的执行结果是()。for(j=10;j>3;j--){if(j%3)j--;--j;--j;printf("%d",j);}[1分]

    A63

    B74

    C62

    D73

  • 20. 有以下程序,其中函数f的功能是将多个字符串按字典顺序排序()。#includevoidf(char*p[],intn){char*t;inti,j;for(i=0;i0){t=p[i];p[i]=p[j];p[j]=t;}}main(){char*P[5]={"abe","aabdfg","abbd","dcd-be","cd"};f(p,5);printf("%d\n",strlen(p[1]));}程序运行后的输出结果是()o[1分]

    A2

    B3

    C6

    D4

  • 21. 以下程序的输出结果是()。main(){inti=0,S=0;for(;;){if(i==3||i==5)continue;if(i==6)break;i++;s+=i:};printf("%d\n",s);}[1分]

    A10

    B13

    C21

    D程序陷入死循环

  • 22. 下列选项中,均属于通用软件的是()。[1分]

    AWindowsXP、AutoCAD、PowerPoint

    BVisualFoxPro、Excel、SPSS

    CWord、Photoshop、Excel

    DC++、CorelDraw、Firefox2.0

  • 23. 以下程序输出结果是()。main(){intm=5;if(m++>5)printf("%d\n",m):elseprintf("%d\n",m--);}[1分]

    A7

    B6

    C5

    D4

  • 24. 下列程序的运行结果是()。#includevoidmain(){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;}}printf("s=%d",s);}[1分]

    As=3

    Bs=4

    Cs=5

    D无输出结果

  • 25. 有以下程序#include#includevoidfun(chars[][10],intn){chart;inti,j;for(i=0;is[i][c]{t=s[i][o];s[i][o]=s[j][o];s[j][0]=t;}}main(){charss[5][10]="bcc","bbcc","xy","aaaacc","aabcc"}fun(ss,5);printf("%s,%s",ss[0],ss[4]);}程序运行结果是()。[1分]

    Axy,aaaacc

    Baaaacc,xy

    Cxcc,aabcc

    Dacc,xabcc

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

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

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

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

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

  • 27. 在执行完下列的c语句段之后,则B的值是()。chara='A';intb;B=((34&&56)&&(a<'b'));[1分]

    A0

    B1

    CTRUE

    DFALSE

  • 28. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用(双引号)括起时,寻找被包含文件的方式是()。[1分]

    A直接按系统设定的标准方式搜索目录

    B先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索

    C仅仅搜索源程序所在目录

    D仅仅搜索当前目录

  • 29. 有下列程序:#includemain(){intx=0;inty=0;while(x<7&&++v){y--;x++;}printf("%d,%d",y,x);}程序的输出结果是()。[1分]

    A0,7

    B7,7

    C0,6

    D1,6

  • 30. 下列程序的输出结果是()。main(){inta=6,b=3,C;if(a<B){c=a*b;printf("%d%d,%d\n",b,a,c);)else{c=b/a;printf("%d,%d,%d\n",b,a,c);)}[1分]

    A3,6,18

    B3,6,2

    C6,3,18

    D6,3,2

  • 31. 执行语句printf(“%u\n”,+12345)的输出结果是()。[1分]

    A12345

    B0

    C-1

    D非定值

  • 32. 下列标识符不是关键字的是()。[1分]

    Abreak

    Bchar

    CSwithch

    Dreturn

  • 33. 有以下程序#include#includetypedefstrlIct{charname[9];charsex;floatscore[2];}STU;STUf(STUa){STUb={"Zhao",'m',85.0,90.0);inti;strcpy(aname,b.name);sex:b.sex;for(i=0;i<2;i++)a.score[i]=b.score[i];returna;}main(){STUc="Qian",'f',95.0,92.0},d;d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);}程序的运行结果是()。[1分]

    AQian,f,95,92

    BQian,m,85,90

    CZhao,m,85,90

    DZhao,f,95,92

  • 34. 下列程序的输出结果是()。intfl(intx,inty){returnx>y?x:y;)intf2(intx,inty){returnx>y?y:x;}main(){inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);}[1分]

    A4,3,7

    B3,4,7

    C5,2,7

    D2,5,7

  • 35. C语言的基本单位是()。[1分]

    A函数

    B过程

    C子程序

    D子函数

  • 36. 以下程序的输出结果是()。voidprt(int*m.intn){inti;for(i=0;i<N;I++)M[I]++;)main(){inta[]={1,2,3,4,5),i;prt(a,5);for(i=0;i<5;i++)printf("%d,",a[i]);)[1分]

    A1,2,3,4,5

    B2,3,4,5,6

    C3,4,5,6,7

    D2,3,4,5,1

  • 37. 以下关于字符串的叙述中正确的是()。[1分]

    AC语言中有字符串类型的常量和变量

    B两个字符串中的字符个数相同时才能进行字符串大小的比较

    C可以用关系运算符对字符串的大小进行比较

    D空串一定比空格打头的字符串小

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

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

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

    C数组m比数组n长1

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

  • 39. 下面程序的运行结果是()。#ineludevoiddel(char*s){inti,j;char*a;a=s:for(i=0,j=0;a[i]!='\0';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

  • 40. 设有程序段:intk=12:while(k=1)k=k一1;则下列描述中正确的是()。[1分]

    Awhile循环执行10次

    B循环是无限循环

    C循环体语句一次也不执行

    D循环体语句执行一次

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

    AC语言中的文件是流式文件,因此只能顺序存取数据

    B打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖

    C在一个程序中当对文件进了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据

    D当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失

  • 42. 三种基本结构中,能简化大量程序代码的是()。[1分]

    A顺序结构

    B分支结构

    C选择结构

    D重复结构

  • 43. 现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指定一个链表中连续的3个结点。structnode{bardata;structnode*next;}*p,*q,*r;现要将q和r所指结点交换前后位置,同时要保持链表的结构,下列不能完成此操作的语句是()。[1分]

    Aq->next=r->next;P>next=r;r->next=q;

    Bq->next=r;q->next=r->next;r->next=q;

    Cq->next=r->next;r->next=q;P->next=r:

    Dq->next=q;P->next=r;q->next=r->next;

相关试卷
相关题库