2013年9月全国计算机等级《二级C语言程序设计》专家预测卷(2)

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

试卷介绍: 2013年9月全国计算机等级《二级C语言程序设计》专家预测卷(2)

开始答题

试卷预览

  • 1. 请编写函数proc(),其功能是:将str所指字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t所指数组中。例如,当str所指字符串中的内容为abcdefg,则在t所指数组中的内容应是bdf。注意:部分源程序给出如下。请勿改动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分]
  • 2. 请补充函数proc(),该函数的功能是计算下面公式SN的值:SN=1+1/3十4/5+...+2N-1/SN-1例如,当N=20时,SN=29.031674。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。试题程序:#include#include#includedoubleproc(intn){doubles=1.0,sl=0.0;intk;for(【1】;k<=n;k++){s1=S;【2】}return【3】;}voidmain(){intk=0:doublesum;system("CLS");printf("\nPleaseinputN=");scanf("%d",&k);sum=proc(k);printf("\nS=%If",sum);}[18分]
  • 3. 给定程序中,函数proc()的功能是:使数组中的元素的值缩小5倍。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#include#includefloatm[10];//****found****intproc(void){intj;printf("Insubfuncaftercalling\n");for(j=0;j<10;j++){//****found****printf("%f",m[j]%5);}}voidmain(){inti;printf("Inmainbeforecalling\n");for(i=0;i<10;i++){m[i]=i+20;printf("%f",m[i]);}proc();printf("\nlnmainaftercalling\n");for(i=0;i<10;i++)printf("%f",m[i]/5);}[14分]
  • 4. 以下关于算法的叙述中错误的是()。[1分]

    A算法可以用伪代码、流程图等多种形式来描述

    B一个正确的算法必须有输入

    C一个正确的算法必须有输出

    D用流程图描述的算法可以用任何一种计算机高级语言编写成程序代码

  • 5. 有以下程序:#includevoidf(int*p);main(){inta[5]={1,2,3,4,5),*r=a;f(r);printf("%d\n",*r);}voidf(int*p){p=p+3;printf("%d,",*p);}程序运行后的输出结果是()。[1分]

    A1,4

    B4,4

    C3,1

    D4,1

  • 6. 下面是有关C语言字符数组的描述,其中错误的是()。[1分]

    A不可以用赋值语句给字符数组名赋字符串

    B可以用输入语句把字符串整体输入给字符数组

    C字符数组中的内容不一定是字符串

    D字符数组只能存放字符串

  • 7. 有以下程序(strcat函数用以连接两个字符串)#include#include。main(){chara[20]="ABCD\oEFG\0",h[]="IJK";strcat(a,b);printf("%s\n",a);)程序运行后的输出结果是()。[1分]

    AABCDE\0FG\0IJK

    BABCDIJK

    CIJK

    DEFGIJK

  • 8. 有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数):#include#includemain(){chara[10]="abc",b[10]="012",c[10]="xyz";strcpy(a+1,b+2);puts(strcat(a,c+1));}程序运行后的输出结果是()。[1分]

    Aal2xyz

    B12yz

    Ca2yz

    Dbc2yz

  • 9. 有以下程序:#includemain(){chars[]="rstuv";printf("%c\n",*s+2);}程序运行后的输出结果是()。[1分]

    Atuv

    B字符t的ASCIl码值

    Ct

    D出错

  • 10. 有以下程序:#include#defineN8voidfun(int*x,inti){*x=*(x+i);)main(){inta[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=0;i<n/2;i++){printf("Ha",a[i]);}printf("\n");}程序运行后的输出结果是()。[1分]

    A1313

    B2234

    C3234

    D1234

  • 11. 有以下程序:#includeintf(intt[],intn);main(){inta[4]={1,2,3,4},s;s=f(a,4);printf("%d\n",s);intf(intt[],intn){if(n>0)returnt[n-1]+f(t,n-1);elsereturn0;}程序运行后的输出结果是()。[1分]

    A4

    B10

    C14

    D6

  • 12. 若有以下语句:typedefstructS{intg;charh;}T;以下叙述中正确的是()。[1分]

    A可用S定义结构体变量

    B可用T定义结构体变量

    CS是struct类型的变量

    DT是structS类型的变量

  • 13. 一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是()。[1分]

    A1:1联系

    B1:m联系

    Cm:1联系

    Dm:n联系

  • 14. 以下不能将S所指字符串正确复制到t所指存储空间的是()。[1分]

    Awhile(*t=*s){t++;s++;)

    Bfor(i=0;t[i]=s[i];i++);

    Cdo{*t++=*s++;)while(*s);

    Dfor(i=0,j=o;t[i++]=s[j++];);

  • 15. 有以下程序,其中k的初值为八进制数:#includemain(){intk=011;printf{"%d|n",k++};}程序运行后的输出结果是()。[1分]

    A12

    B11

    C10

    D9

  • 16. 有以下定义:“inta;longb;doubleX,Y;”,则以下选项中正确的表达式是()。[1分]

    Aa%(intx—y)

    Ba=x!=Y;

    C(a*y)%b

    Dy=x+y=X

  • 17. 以下选项中关于程序模块化的叙述错误的是()。[1分]

    A把程序分若干相对独立的模块,可便于编码和调试

    B把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块

    C可采用自低向上、逐步细化的设计方法把若干独立模块组装成所要求的程序

    D可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序

  • 18. 某系统总体结图如下图所示:该系统总体结构图的深度是()。[1分]

    A7

    B6

    C3

    D2

  • 19. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的事()。[1分]

    AC语言程序仅可以编译执行

    BC语言程序仅可以解释执行

    CC语言程序既可以编译执行又可以解释执行

    D以上说法都不对

  • 20. 有以下程序:#include#includemain(){chara[5][10]={"china","beijing","you","tiananmen","welcome");inti,j;chart[10];for(i=0;iO){strcpy(t,a[i]);strepy(a[i],a[j]);strcpy(a[j],t)};puts(a[3]);}程序运行后的输出结果是()。[1分]

    Abeijing

    Bchina

    Cwelcome

    Dtiananmen

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

    A一个逻辑数据结构只能有一种存储结构

    B逻辑结构属于线性结构,存储结构属于非线性结构

    C一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率

    D一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率

  • 22. 若有以下程序段:intr=8;print("%d\n",r>>1):输出结果是()。[1分]

    A16

    B8

    C4

    D2

  • 23. 有以下程序:#includedstdio.h>intf(intn);main(){inta=3,s;s=f(a);s=s+f(a);printf("%dkn",s);}intf(intn){staticinta=1;n+=a++;returnn;}程序运行后的输出结果是()。[1分]

    A7

    B8

    C9

    D10

  • 24. 有下列程序:main(){intk=5;while(--k)printf("%d",k=1);printf("/n");}执行后的输出结果是()。[1分]

    A1

    B2

    C4

    D死循环

  • 25. 若有定义语句intb=2;,则表达式(b<<2)/(3||b)的值是()。[1分]

    A4

    B8

    C0

    D2

  • 26. av9功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不超过则下列函数说明语句错误的是()。[1分]

    Aintavg(int*a,intn);

    Bintavg(inta[lO],intn);

    Cintavg(inta,intn);

    Dintavg(inta[],intn);

  • 27. 有以下程序:#include#includetypedefstruct{charname[9];charsex;intscore[2];}STU;STUf(STUa){STUb={"Zha0","m",85,90};inti;strcpy(a.name,b.name);sex=b.sex;for(i=o;i<2;i++)a.score[i]=b.score[i];returna;}main(){STUc={"Qian",f,95,92),d;d=f(c);printf("%S,%C,%d,%d,",d.name,d.sex,d.score[0],d.score[l]);printf("%s,%c,%d,%d\n",C.name,C.sex,c.score[0],C.score[1]);}程序运行后的输出结果是()。[1分]

    AZhao,m,85,90,Qian,f,95,92

    BZhao,m,85,90,Zhao,m,85m90

    CQian,f,95,92,Qian,f,95,92

    DQian,f,95,92,zhan,m,85,90

  • 28. 在面向对象方法中,实现信息隐蔽是依靠()。[1分]

    A对象的继承

    B对象的多态

    C对象的封装

    D对象的分类

  • 29. 有以下程序:#include#defineN4voidfun(inta[][N],int[]){inti;for(i=o;i}main(){intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;fun(X,y);for(i=0;i}程序运行结果为()。[1分]

    A-l2,-3,0,0,

    B-3,-l,1,3,

    C0,1,2,3,

    D-3,-3,-3,-3,

  • 30. 有以下程序:#include#includevoidfun(int*pl,int*p2,int*s){s=(int*)malloc(sizeof(int));*s=*pl+*p2;free(s);}main(){inta=1,b=40,*q=&a;fun(&a,&b,q);printf("%d\n",*q);}程序运行后的输出结果是()。[1分]

    A42

    B0

    C1

    D41

  • 31. 有下列程序:intfunl(doublea){returna*=a;}intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+b);}main(){doublew;w=fun2(1.1,2.0),……}程序执行后变量w中的值是()。、[1分]

    A5.21

    B5

    C5.0

    D0.0

  • 32. 有以下程序#includemain(){intn=2,k=0;while(k++&&n++>2);printf("%d%d\n",k,n);}程序运行后的输出结果是()。[1分]

    AO2

    B13

    C57

    D12

  • 33. 对如下二叉树进行后序遍历的结果为()。[1分]

    AABCDEF

    BDBEAFC

    CABDECF

    DDEBFCA

  • 34. 软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是()。[1分]

    A编辑软件

    B操作系统

    C教务管理系统

    D浏览器

  • 35. 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是()。[1分]

    A一对一

    B一对多

    C多对多

    D多对一

  • 36. 在E—R图中,用来表示实体联系的图形是()。[1分]

    A椭圆形

    B矩形

    C菱形

    D三角形

  • 37. 有以下程序:#includemain(){charch[3][5]={"AAAA","BBB","CC"};printf("%s\n",ch[l]);}程序运行后的输出结果是()。[1分]

    AAAA

    BCC

    CBBBCC

    DBBB

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

    Aint_abc=50;

    Bdoubleint=3+5e2.5;

    Clongdo=1L:

    Dfloat3_asd=3e-3;

  • 39. 有以下程序#includevoidfun(intp){intd=2;p=d++;printf("%d".p);}main(){inta=1;fun(a):printf("%d\n",a);)程序运行后的输出结果是()。[1分]

    A32

    B12

    C21

    D22

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

    A在栈中,棱中元素随栈底指针与栈顶指针的变化而动态变化

    B在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

    C在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

    D上述三种说法都不对

  • 41. 有以下程序:#includemain(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf("%d\n",c);}程序运行后的输出结果是()。[1分]

    A3

    B5

    C7

    D9

  • 42. 有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母#include#includevoidfun(char*p){inti=0;while(p[i]){if(p[i]=="&&islower(p[i-1]))p[i一1]=p[i-1]='a'+'A';i++。}}main(){charsl[100]="abcdEFG!";fun(a1);printf("%s\n",sl);程序运行后的输出结果是()。[1分]

    AabcdEFG!

    BAbCdEFg!

    CaBcDEFG!

    DabcdEFg!

  • 43. 在满足实体完整性约束的条件下()。[1分]

    A一个关系中应该有一个或多个候选关键字

    B一个关系中只能有一个候选关键字

    C一个关系中必须有多个候选关键字

    D一个关系中可以没有候选关键字

相关试卷
相关题库