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

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. 请补充main()函数,该函数的功能是:输入两个正整数numl和num2,求这两个数的最大公约数和最小公倍数。例如,若输人的两个正整数为12,4,则它们的最大公约数为4,最小公倍数为12。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。试题程序:#include#includevoidmain(){inta,b,numl,num2,t;system(”CLS”):printf(”\nlnputtWOnumbers:\n”);scanf(”%d,%d”,&numl,&num2);if(numl<NUM2){a=num2;b=numl;}else{a=num1:b=num2:)while(【1】){t=【2】a=b;b=t;}printf("greatestcommondivisor:%d\n”,a);printf(”leastcommonmultiple:%d\n”,【3】);[18分]
  • 2. 下列给定程序中,函数proe()的功能是:对M名学生的学习成绩,按从高到低的顺序找出前m(m#include#include#include#include%malloe.h>#defineM10typedefstructss{charnum[10];ints;}STU;STU*proc(STUa[],intm){STUb[-M],*t;inti,j,k;//****found*****t=calloc(m,sizeof(STU));for(i=0;ifor(k=0;kb[j].s)j=i;//****found****t[k].num=b[j].num;t[k].s=b[j].S;b[j].s=0;}returnt:}voidoutresuh(STUa[],FILE*pf)finti;for(i=0;i10)printf(”\nGivethenumberofthestudentswhohavebetterscore:”);scanf(”%d”,&m);}p()rder=proc(stu,m);printf(”****THERESULT****\n”);printf(”Thelop:\n”);for(i=0:i<M:I++)printf(”%s%d\n”,pOrder[i].hum,pOrder[i].s);free(pOrder);)[24分]
  • 3. 学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),其功能是:按分数的高低排列学生的记录,高分在前。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:#include#defineM16typedefstruct{charnum[10];inlS;)STREC;voidproc(STRECa[])inti,j;STRECt;for(i=1;i<M;I++)&NBSP;*用冒泡法按从高到低排序*/for(j=0;j<M-1;J++)if(a[j].s的记录,高分在前*/{t=aEP;a[j]=a[j+1];a[j+1]=t;}}voidmain(){STREC,sluEM]={{”GA005”,85),{¨GA003”,76},{”GA002“,69},{¨GA004”,815}.{¨GA001”,91},{"GA007”,72},{“GA008”,64),{"GA006”,87},{¨GA015”,85},i”GAO13”,91},{”GA012”,64},{"GA014”,91},{”GA011”,66},{¨GA017”,64},{”GA018”,64},{¨GA016”,72}};in/i;proc(stu):prinlf(”Thedataafwrsorted:\n”);for(i=0;i<M:I++){if(i%4==0)//每行输出4个学生记录printf(”\n”);printf(”%sM”,stu[i].num,stu[i].s);}printf(”\n”):}[18分]
  • 4. 与“y一(x>O?1:x<0?—1:0)”;的功能相同的if语句是()。[1分]

    Aif(x>0)y=1;

    Bif(x)elseif(x0)y=1;elsey=0;elseif(x%0)y=-1;elsey=0;

    Cy=-1

    Dy=0;if(x)if(x>=O)if(x>O)y=1;if(xi>=O)y=1;elseif(x==0)y=0;elsey=-1;elsey=-1;

  • 5. 数据库系统的核心是()。[1分]

    A数据模型

    B数据库管理系统

    C数据库

    D数据库管理员

  • 6. 若有以下的定义:“intt[a][2];”,能正确表示t数组元素地址的表达式的是()。[1分]

    A&.t[3][2]

    Bt[3]

    Ct[1]

    Dt[2][2]

  • 7. 有以下程序#includestructtt{intx;structtt*y;)*P;structtta[4]={20,a+1,15,a+2,30,a+3,17,a);main(){inti;P—a:.for(i=1;ix);P=P->y:})程序的运行结果是()。[1分]

    A20,30,

    B30,17,

    C15,30,

    D20,15,

  • 8. 下面for语句的循环次数为()。for(x=1,y=0;(Y!=19)&&(x<6);x++);[1分]

    A是无限循环

    B循环次数不定

    C最多执行6次

    D最多执行5次

  • 9. 语句:“printf(”%d”,(a=2)&&(b=-2));”的输出结果是()。[1分]

    A无输出

    B结果是不确定

    C-1

    D1

  • 10. 以下程序的输出结果是()。voidfun(int*a,inti,intj){intt;if(i<I)(t=a[i];a[i]=a[j];a[j]=t;i++;j--;fun(a,i,j);)}main(){intx[]={2,6,1.8),i;fun(x,0,3):for(i=0;i<4;i++)printf(”%2d”,x[i]);printf(”\n”);)[1分]

    A1,2,6,8

    B8,6,2,1

    C8,l,6,2

    D8,6,1,2

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

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

    B散列方法和索引方式

    C链表存储结构和数组

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

  • 12. 下列程序执行后的输出结果是()。voidfunc(int*a,intb[]){b[o]=*a+b;)main(){inta,b[5];a=0;b[0]=3;rune(&a.b);printf(”%d\n”,b[o]);}[1分]

    A6

    B7

    C8

    D9

  • 13. 以三级模式为框架形成的3种数据库中,真实存在于计算机外存的数据库是()。[1分]

    A概念数据库

    B用户数据库

    C物理数据库

    D逻辑数据库

  • 14. 以下选项中正确的实型常量是()。[1分]

    A0

    B3.1415

    C0.329×102

    D871

  • 15. 有以下程序: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出错

  • 16. 下述程序的运行结果是()。#include#includemain(){char*s1=”abDui¨;char*s2=”ABdUG”:intt;t=strcmp(s1,s2);printf(”%d”,t);}[1分]

    A正数

    B负数

    C

    D不确定的值

  • 17. 设有定义:“inta;floatb;”,执行“scanf(”%2d%f”,&a,&b);”语句时,若从键盘输入876543.o,a和b的值分别是()。[1分]

    A876和543.000000

    B87和6.000000

    C87和543.000000

    D76和543.000000

  • 18. 有以下程序:#includemain(){inti;for(i一1;i<一5;i++)(if(i%2)printf(”*”);e|secontinue;printf(”#”);}printf(”$\n”);程序的输出结果是()。[1分]

    A*#*#*#$

    B#*#*#*$

    C*#*#$

    D#*#*$

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

    Af

    Bt

    Ce

    Dd

  • 20. 若有以下定义和语句:“doubler=99,*p=&r;*P=r;”,则以下正确的叙述是()。[1分]

    A两个*p含义相同,都说明给指针变量P赋值

    B在“doubler=99,*p=&r;”中,把r的地址赋值给了P所指的存储单元

    C语句“*p=r;”把变量r的值赋给指针变量P

    D语句“*p=r;”取变量r的值放回r中

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

    Awhile循环执行10次

    B循环是无限循环

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

    D循环体语句执行一次

  • 22. 有下列程序:#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

  • 23. 若已定义:inta口一(0,1,2,3,4,5,6,7,8,9),*p=a,i;其中0≤i≤9,则对a数组元素的引用不正确的是()。[1分]

    Aa[p-a]

    B*(&a[i])

    Cp[i]

    D*(*(a十i))

  • 24. 视图设计一般有3种设计次序,下列不属于视图设计次序的是()。[1分]

    A自顶而下

    B由内向外

    C由外向内

    D自底向上

  • 25. 下列运算符中优先级最高的算符是()。[1分]

    A!

    B

    C-=

    D&&

  • 26. 有以下程序:intfun(intn){if(n==1)retHrn1;elsereturn(n+fun(n—1)):)main(){intx;scanf(”%d”,&x);x=fun(x);printf(”%d\n”,x):}执行程序时,给变量X输入10,程序的输出结果是()。[1分]

    A55

    B54

    C65

    D45

  • 27. 语句“printf(”a\bre”\'hi\’y\\\bou\n”);”的输出结果是()。[1分]

    Aa\bre\'hi\'y'\\\bou

    Ba\bre\'hi\\y\bou

    Cre'hi'you

    Dabre'hi'y\bou

  • 28. 下面程序段的输出结果是()。inti=32770:printf(”%d\n”,i);[1分]

    A32769

    B32767

    C-32766

    D输出不确定数

  • 29. 下列运算符中优先级最低的算符是()。[1分]

    A||

    B!=

    C<一

    D

  • 30. 有以下程序:#includemain(){charc1='A',c2='Y';printf(”%d,%d\n”,c1,c2);)程序的输出结果是()。[1分]

    A因输出格式不合法,无正确输出

    B65,90

    CA,Y

    D65.89

  • 31. 有以下程序段:intk,j,s;for(k=2;k<6;k++,k++){s=1;for(j=k;j<6;j++)s+=j;)print[(”%d\n”,s);程序段的输出结果是()。[1分]

    A9

    B1

    C11

    D10

  • 32. 设有以下定义uniondata(intdl;f|aatd2;)dem0;则下面叙述中错误的是()。[1分]

    A变量dem0与成员d2所占的内存字节数相同

    B变量dem0中各成员的地址相同

    C变量dem0和各成员的地址相同

    D若给demo.d1赋99后,dem0.d2中的值是99.0

  • 33. 算法分析的目的是()。[1分]

    A找l叶{数据结构的合理性

    B找出算法中输入和输出之间的关系

    C分析算法的易懂性和可靠性

    D分析算法的效率以求改进

  • 34. 设有如下定义:intarr[]={6,7,8,9,10};int*ptr;ptr=art;*(ptr2)=2:printf(”%d,%a\n”,*ptr,*(ptr2));则下列程序段的输出结果为()。[1分]

    A8,10

    B6,8

    C7,9

    D6,2

  • 35. 以下能正确定义一维数组的选项是()。[1分]

    Ainta[5]={0.1,2.3.4,5);

    Bchara口={0,1,2,3,4,5);

    Cchara={'A’,'B','C');

    Dinta[5]=”0123”;

  • 36. 下列4个关于C语言的结论中错误的是()。[1分]

    A可以用dowhile语句实现的循环一定可以用while语句实现

    B可以用for语句实现的循环一定可以用while语句实现

    C可以用while语句实现的循环一定可以用for语句实现

    Ddo-while语句与while语句的区别仅是关键字“while”出现的位置不同

  • 37. 有下列函数定义:intfun(doublea,doubleb){returna*b;)若下列选项中所用变量都已经正确定义并赋值,错误的函数调用是()。[1分]

    Aif(fun(x,y)){……)

    Bz—fun(fun(X,y),fun(X,y));

    Cz—fun(fun(X,y)X,y);

    Dfun(x,y);

  • 38. 以下程序的输出结果是()。main(){inti,a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(”%d%d%d%d\n”,a[0][3],a[1][2],a[2][1],a[3][0];}[1分]

    A0650

    B1470

    C5430

    D输出值不定

  • 39. 设有二元关系R和三元关系s,下列运算合法的是()。[1分]

    ARnS

    BRUS

    CR-S

    DR×S

  • 40. 结构化程序设计的3种结构是()。[1分]

    A顺序结构、选择结构、转移结构

    B分支结构、等价结构、循环结构

    C多分支结构、赋值结构、等价结构

    D顺序结构、选择结构、循环结构

  • 41. 有以下程序:main(){intx=102,y=012;printf(”%2d,%2d\n”,x,y);}执行后输出结果是()。[1分]

    A10,01

    B02,12

    C102,10

    D02,10

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

    A可重用性差

    B安全性差

    C非持久性

    D冗余性

  • 43. 有下列程序:main(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9);for(i=0;i<9;i+=2)s+-*(t+i);printf(”%d\n”,s);)程序执行后的输出结果是()。[1分]

    A45

    B20

    C25

    D36

相关试卷
相关题库