2014年全国计算机等级《二级C语言程序设计》上机考试冲刺试题(3)

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

试卷介绍: 2014年全国计算机等级《二级C语言程序设计》上机考试冲刺试题(3)

开始答题

试卷预览

  • 1. 请补充函数proc(),函数proe()的功能是求7的阶乘。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。试题程序:#includelongproc(intn){if(【1】)reurn(n”proc(【2】);elseif(【3】)return1:}voidmain(){intk=7:printf(”%d!=\n”,k,proc(k));}[18分]
  • 2. 下列给定程序中函数fun()的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:l,1,2,3,5,8,13,21,…例如,若给n输入7,则该项的斐波拉契数值为13。请改正程序中的错误,使它能得出正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构!试题程序:#includelongfun(intg)(//**+*found****switch(g);{case0:return0;//****found****casel:case2:return1;}return(fun(g-1)+fun(g-2));)voidmain(){longfib;intn;printf(”Inputn:”);scanf(”%d”,&n);printf(”n=%d\n”,n);fib=fun(n);printf(”fib=%d\nkn”,fib);}[24分]
  • 3. 某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数,其功能是:求出该学生的平均分,并放入记录的ave成员中。例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数fun()部位中填入你编写的若干语句。试题程序:#include#defineN8typedefstruct{charnurn[10];doubles[N];doubleave;)STREC;voidfun(STREC*a){)voidmain(){STRECs={¨GA005”,85.5,76,69.5,85,91,72,[18分]
  • 4. 设变量已正确定义,则以下能正确计算f=n!的程序是()。[1分]

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

    Bf=1for(i=1:i

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

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

  • 5. 有以下程序:#include45678则输出结果是()。[1分]

    A1267

    B1256

    C1278

    D1245

  • 6. 若有定义:“inta=4,b=5;floatx=3.4,y=2.1;”,则下列表达式的值为()。(float)(a+b)/2+(int)x%(int)y;[1分]

    A5.5

    B55

    C5.500000

    D55.00000

  • 7. 若有定义:intc[4][5],(*cp)[5];和语句cp=c;,则能正确引用C数组元素的是()。[1分]

    Acp+1

    B*(cp+3)

    C*(cp+1)+3

    D*(*cp+2)

  • 8. 有以下程序片段:y=-1;if(X!=0)if(x>0)y=1;elsey=0;其能正确表示的数学函数关系是()。[1分]

    A-1(x-<0)

    B1(x0)0(x>0)

    C0(x<0)

    D-1(x0)0(x>0)

  • 9. 在结构化分析方法中,数据字典的作用是()。[1分]

    A存放所有需要处理的原始数据

    B存放所有处理的结果

    C存放所有程序文件

    D描述系统中所用到的全部数据和文件的有关信息

  • 10. 有如下程序:#includei=sizeof(a);j=strlen(a):printf("%d,%d",i,j);)main(){FILE*fpl;fpl=fopen(”f1.txt”,”w“);fprintf(fpl,”abe”);fclose(fpl);)若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为()。[1分]

    Agoodabc

    Babed

    Cabe

    Dabcgood

  • 11. 有以下程序:fun(intx){intP;if(x==0|1x==1)return(3);p=x-fun(x-2);.returnP;}main(){printf(”%d\n”,fun(7));)程序执行后的输出结果是()。[1分]

    A7

    B3

    C2

    D0

  • 12. 以下叙述中错误的是()。[1分]

    A改变函数形参的值,不会改变对应实参的值

    B函数可以返回地址值

    C可以给指针变量赋一个整数作为地址值

    D当在程序的开头包含文件stdi0.h时,可以给指针变量赋NULL

  • 13. 数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为()。[1分]

    AC

    BBasic

    CDDL

    DDML

  • 14. 有以下程序:main(){intnum]-4][4]={{1,2,3,4),{5,6,7,8),{9,10,11,12,),(13,14,15,16)},i,j;for(i=0;i<4;i4-+)(for(j=0;j<I;J++)PRINT{(”%4C”,“);for(j=______;j<4;j++)print{(”%4d”,num[i][j]);print{(”n”);))若要按以下形式输出数组右一k半三角1234678111216则在程序下划线处应填人的是()。[1分]

    Ai-1

    Bi

    Ci+1

    D4~i

  • 15. 下列叙述中错误的是()。[1分]

    A线性表是由n个元素组成的一个有限序列

    B线性表是一种线性结构

    C线性表的所有结点有且仅有一个前件和后件

    D线性表可以是空表

  • 16. 设计软件结构是软件生命周期的()。[1分]

    A软件定义期

    B软件开发期

    C软件维护期

    D以上3个都不是

  • 17. 设有以下定义和语句:charstr[20]一”Program”,*P;P=str:则以下叙述中正确的是()。[1分]

    A*P与str[0]的值相等

    Bstr与P的类型完全相同

    Cstr数组长度和P所指向的字符串长度相等

    D数组str中存放的内容和指针变量P中存放的内容相同

  • 18. 有以下结构体说明和变量的定义,且指针P指向变量a’指针q指向变量b,则不能把结点b连接到结点a之后的语句是()。structnode{chardata;structnode*next;}a,b,*p=&a,*q=&b;[1分]

    Aa.next=q;

    BP.next=&b:

    Cp—>next=&b;

    D(*p).next=q;

  • 19. 若变量已正确定义并赋值,符合C语言语法的表达式是()。[1分]

    Aa=a+7:

    Ba=7+b+e,a++

    Cint(12.3%4)

    Da=a+7=c+b

  • 20. 以下程序执行后SUm的值是()。main(){inti,SUm;for(i=1;i<6;i++)skim+一i;printf(”%d\n”,sum);)[1分]

    A15

    B14

    C不确定

    D0

  • 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. 在16位编译系统上,若有定义“inta[]={10,20,30),*P=&a;”,当执行“P++;”后.下列说法错误的是()。[1分]

    AP向高地址移了一个字节

    BP向高地址移了一个存储单元

    CP向高地址移了两个字节

    DP与a+1等价

  • 23. 设有定义语句:chara='\72';,则变量a()。[1分]

    A包含1个字符

    B包含2个字符

    C包含3个字符

    D定义不合法

  • 24. 下列程序执行后的输出结果是()。main(){charx一0xFFFF;printf(”%d\n”,x——);)[1分]

    A-32767

    BFFFE

    C-1

    D-32768

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

    Ado-while语句构成的循环不能用其他语句构成的循环来代替

    Bdo-while语句构成的循环只能用break语句退出

    C用do-while语句构成循环时,只有在while后的表达式为非零时结束循环

    D用do-while语句构成循环时,只有在while后的表达式为零时结束循环

  • 26. 若已包括头文件且已有定义chars1[18],s2={”ABCDE”)和inti,现要将字符串”ABCDE”赋给sl,下列语句错误的是()。[1分]

    Astrcpy(s1,s2)

    Bstrcpy(s1,”ABCDE”);

    Cs1=”ABCDE”:

    Dfor(i=0;i<6;i++)s1[i]=s2[i]

  • 27. 若i、j已定义成int型,则下列程序段中内循环体的总执行次数是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}[1分]

    A20

    B24

    C25

    D30

  • 28. 下列程序执行后的输出结果是()。main()(intx='f';printf("%c\n”,'A'+(x-‘a’+1));}[1分]

    AG

    BH

    CI

    DJ

  • 29. 有以下程序#include#includetypedefstruct{charYlain@[9];charsex;floatscore[2];)STU;STUf(STUa)(STUb=(”Zhao”,'m',85.0,90.0);inti;strcpy(a.name’b.name):a.sex=b.SeX:for(i=0;i<2;i++)a.scoreEi]=b.sooreEi];retklrrla:}main()(STUc={”Qian”,'f',95.0,92.0},d;d=f(c);printf(”%s.%c,%2.Of,%2.Of”,d.name,d.SeX,d.score[0],d.scoreEl]);)程序的运行结果是()。[1分]

    AQian,f,95,92

    BQian,m,85,90

    CZha0,m,85,90

    DZha0,f,95,92

  • 30. 有以下程序:intfun(intx){intP;if(x==0||x==1)return(3);p=x-fun(x-2);returnP;)main(){printf(”%d\n”,fun(7));)执行后的结果是()。[1分]

    A7

    B3

    C2

    D0

  • 31. 下列程序的运行结果是()。#includemain(){staticchara[]="Languagef",b[]=”programe”;char*p1,*p2;intk;p1=a;p2=b;for(k=0;k<=8;k++)if(*(p1+k)==*(p2+k))printf(”%c”,*(p1十k));)[1分]

    Agae

    Bang

    Cprogram

    D有语法错

  • 32. 对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为()。[1分]

    A125

    Bn/2

    Cn

    Dn+]

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

    Aa是实型变量,C允许进行赋值a=10,但不可以这样说:实型变量中允许存放整型值

    B在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式

    C执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0

    D已有a=3,b=5,当执行了表达式a=b,b=a之后,使a中的值为5,b中的值为3

  • 34. 若变量已正确定义,有以下程序段i=0:doprintf(”%d,”,i);while(i++);printf(”%d”,i)其输出结果是()。[1分]

    A0,0

    B0,l

    C1,1

    D程序进入无限循环

  • 35. 设在c语言中,float类型数据占4个字节,则double类型数据占()个字节。[1分]

    A1

    B2

    C8

    D4

  • 36. 没有如下定义:int(*ptr)();则以下叙述中正确的是()。[1分]

    Aptr是指向一维组数的指针变量

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

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

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

  • 37. 下面程序输出的是()。main(){intt-1;fun(fun(t));)fun(inth){staticinta[3]-{1,2,3};intk;for(k-0;k%3;k++)a[k]+=a[k]-h;for(k-0;k<3;k++)printf(”%d”,a[k]);printf(”\n”);return(a[h]);)[1分]

    A1,2,3,

    B1,3,5,1,5,9,1,3,5,

    C1,3,5,

    D1,3,5,0,4,8,-l,3,7,

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

    Abreak

    Bchar

    CSwithch

    Dreturn

  • 39. 下列程序的输出结果是()。char+point(char*pt):main(){charb[4]={'a','c','s','f'),*pt=b;pt=point(pt);printf(”%c\n“,*pt);》point(char*p){p+=3;returnp;)[1分]

    As

    Bc

    Cf

    Da

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

    Axy,aaaacc

    Baaaacc,xy

    CXCC,aabcc

    Dace,xabcc

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

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

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

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

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

  • 42. 有以下程序段:intx=3;do{printf(”%3d”,x-=2);)while(!(--x));程序段的输出结果是()。[1分]

    A1

    B30

    C1-2

    D死循环

  • 43. 若变量已正确定义为int型,要给a、b、c输人数据,正确的输入语句是()。[1分]

    Aread(a,b,C);

    Bscanf(”%d%d%d”,a.b,c);

    Cscanf(”%D%D%D”,&a,%b,%c);

    Dscanf(”%d%d%d”,&a,&b,&c);

相关试卷
相关题库