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

考试总分:43分

考试类型:模拟试题

作答时间:60分钟

已答人数:967

试卷答案:有

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

开始答题

试卷预览

  • 1. 下列给定程序的功能是:读入一个整数n(2<=n<=5000),打印它的所有为素数的因子。例如,若输入整数1234,则应输出:2,617。请修改程序中的错误,使程序能得出正确的结果。注意:不要改动main()函数,不能增选或删行,也不能匿改程序的结构。试题程序:#include#include//****found****Prime(intm);{intj,P;p=1;//****found****for(j=2;j<M;J++)if!(m%j){p=0;break;}return(p);inti,n;printf("\npleaseenteranintegernumberbetween2and5000:");scanf("%d",&n);printf("\n\nTheprimefactor(s)of%dis(are):",n):for(i=2;i<N;I4+)if((!(n%i))&&(Prime(i)))printf("%4d,",i);printf("\n");}[24分]
  • 2. 请补充main()函数,该函数的功能是:从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。结果仍然保存在原串中。例如,输入“abcdefg”,指定字符为“d”,则输出“abe”。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。试题程序:#include#include#defineM80voidmain(){inti=0;charstr[M];charch;system("CLS");printf("\nInputastrin9:\n");gets(str);printf("\nInputacharator;\n");scanf("%c",&ch);while(str[i]!='\0'){if(str[i]==ch)【1】【2】;}str[i]=【3】;printf("\n***displaystring***\n");puts(str);}[18分]
  • 3. 请编写函数proc(),该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。例如,若字符串数组中的M个字符串为:ABCDBCDEFGCDEFGHI则合并后的字符串内容应该是ABCDBCDEFGCDEF—GHl。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。试题程序:#include#include#defineM3#defineN20voidproc(chararr[M][N],char*b){}voidmain(){charstr[M][N]={"ABCD","BCDEFG","CDEFGHI"},i;chararr[100]={"##################");printf("Thestring:\n");for(i=0;i<M;I++)puts(str[i]);printf("\n");proc(str,arr);printf("TheAstring:\n");printf("%s",arr);printf("\n\n");}[18分]
  • 4. 若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。[1分]

    Ax=y==5;

    BX=n%2.5:

    Cx+n=i;

    Dx=5=4+1:

  • 5. 数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是()。[1分]

    ADB包含DBS和DBMS

    BDBMS包含DB和DBS

    CDBS包含DB和DBMS

    D没有任何关系

  • 6. 下列选项中不会引起二义性的宏定义是()。[1分]

    A#defineS(x)x*x

    B#defineS(x)(x)*(x)

    C#defineS(x)(x*x)

    D#defineS(x)((x)*(x))

  • 7. 在数据库设计中,将E—R图转换为关系模式的过程属于()。[1分]

    A需求分析阶段

    B逻辑设计阶段

    C概念设计阶段

    D物理设计阶段

  • 8. 有以下函数intaaa(char*s){char*t=s;while(*t+t);t--:return(t-s);}以下关于aaa函数的功能叙述正确的是()。[1分]

    A求字符串S的长度

    B比较两个串的大小

    C将串S复制到串t

    D求字符串S所占字节数

  • 9. 有如下程序:#includemain(){FILE*fp1;fp1=fopen("f1.txt","w");fprintf(fp1,"abe");fclose(fp1);}若文本文件f1.txt中原有内容为:good。则运行以上程序后文件f1.txt中的内容为()。[1分]

    Agoodabc

    Babcd

    Cabc

    Dabcgood

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

    A软件定义期

    B软件开发期

    C软件维护期

    D以上3个都不是

  • 11. 为了避免在嵌套的条件语句ifelse中产生二义性,C语言规定,else子句总是与()配对。[1分]

    A缩排位置相同if

    B其前面最近的if

    C其后面最近的if

    D同一行上的if

  • 12. 设x=011050,则x=x&01252的值是()。[1分]

    A0000001000101000

    B1111110100011001

    C0000001011100010

    D1100000000101000

  • 13. 以下程序的输出结果是()。intf(intA){returna%2;}main(){ints[8]={1,3,5,2,4,6},i,d=0;for(i=0;f(s[8]);i++)d+=s[i];printf("%d\n",d);}[1分]

    A9

    B11

    C19

    D21

  • 14. 下列程序的执行结果是()。#includemain(){inta,b,c;a=b=2,c=I;c=(a++)-1;printf("%d,0Ad",a,c);c+=-a+++(++b);printf("%d,%d",a,c);)[1分]

    A3,14,1

    B3,14,2

    C2,04,1

    D2,14,1

  • 15. 若有定义:“int*P,x=0,*p,p=&x;”,则语句“printf("%d\n",*p);”的输出结果是()。[1分]

    A随机值

    B0

    Cx的地址

    DP的地址

  • 16. 对下述程序的判断中,正确的是()。#includemain(){char*p,s[256];p=s;while(strcmp(s,"theend")){printf("Inputthestrin9:");gets(s);while(*p)putchar(*p++);}}[1分]

    A此程序循环接收字符串并输出,直到接收到字符串“theend”为止

    B此程序循环接收字符串,接收到字符串“theend”则输出,否则程序终止

    C此程序循环接收字符串并输出,直到接收字符串“theend”为止,但因为代码有错误,程序不能正常工作

    D此程序循环接收字符串并将其连接在一起,直到接收字符串“theend”为止,输出连接在一起的字符串

  • 17. 若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是()。[1分]

    Abdgcefha

    Bgdbecfha

    Cbdgaechf

    Dgdbehfca

  • 18. 若要用函数fopen打开一个新的二进制文件,该文件要既能读也能写,则应以()方式打开文件。[1分]

    A"wb"

    B"wb+"

    C"rb+"

    D"rb"

  • 19. 有以下程序:#includemain(){charcl='1',c2='2';cl=getchar();c2=getchar();putchar(c1);putcha:(c2);}当程序运行时输入a后,下列叙述中正确的是()。[1分]

    A变量c1被赋予字符a,c2被赋予回车符

    B程序将等待用户输入第2个字符

    C变量c1被赋予字符a,c2中仍是原有字符2

    D变量c1被赋予字符a,c2中将无确定值

  • 20. 若有以下说明,则()不是对strcpy库函数正确的调用。strcpy库函数用于复制一个字符串:char*strl="abCd",str2[10],*str3="hijklmn",*str4[2],*str5="aaaa";[1分]

    Astrcpy(str2,strl)

    Bstrcpy(str3,strl)

    Cstrcpy(strl,str2)

    Dstrcpy(str5,strl)

  • 21. 有以下程序#includevoidfun(intn,int*p)(intf1,f2;if(n==1||n==2)*p=1;else{fun(n-1,&f1);fun(n-2,&f2);*p=f1+f2;}}main(){ints;fun(3,&s);printf("%d",s);}程序的运行结果是()。[1分]

    A2

    B3

    C4

    D5

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

    A概念数据库

    B用户数据库

    C物理数据库

    D逻辑数据库

  • 23. 下列能正确定义且赋初值的语句是()。[1分]

    Aintn1=n2=1;

    BcharC=99;

    Cfloatf=f+1;

    Ddoublex=1.2E5.6;

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

    A1,2,6,8

    B8,6,2,1

    C8,1,6,2

    D8,6,1,2

  • 25. 以下程序的输出结果是()。main(){charst[20]="hello\0\t\\\";printf("%d%d\n",strlen(st).sizeof(st));}[1分]

    A99

    B520

    C1320

    D2020

  • 26. 源程序的文档不包括()。[1分]

    A符合号名的命名要有实际意义

    B正确的文档形式

    C良好的视觉组织

    D正确的程序注释

  • 27. 若希望下列的程序运行后输出25,程序空白处的正确选项是()。main(){inti,j=50,a[]={7,4,10,5,8};for()j+=a[i];printf("%d",j-40);}[1分]

    Ai=l;i<4;++i

    Bi=1;i<3;++i

    Ci=4;i>2;i--

    Di=2;i<4;++i

  • 28. 设有以下定义和语句:charstr[2O]="Program",*P:p=str:则以下叙述中正确的是()。[1分]

    A*p与stf[0]的值相等

    Bstr与P的类型完全相同

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

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

  • 29. 以下关于typedef的叙述错误的是()。[1分]

    A用typedef可以增加新类型

    Btypedef只是将已存在的类型用一个新的名字来代表

    C用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名

    D用typedef为类型说明一个新名,通常可以增加程序的可读性

  • 30. 有下列程序:fun(intX,inty){return(x+y);}main(){inta=1,b=2,c=3,sum;sum=fun((a++,b++,a+b),c++);printf("%d\n",sum);}执行后的输出结果是()。[1分]

    A6

    B7

    C8

    D9

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

    A一种数据的逻辑结构可以有多种存储结构

    B数据的存储结构与数据的处理效率无关

    C数据的存储结构与数据的处理效率密切相关

    D数据的存储结构在计算机中所占的空间不一定是连续的

  • 32. 以下程序的输出结果是()。main(){charstr[]1-10]={"china","beijing"),*p=str;printf("%s\n",p+10);}[1分]

    AChina

    BBeijing

    Cng

    Ding

  • 33. 下列程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。#includevoidsort(inta[],intll){inti,j,t;for(i=0;i<N-1;I++)for(j=j+1+1;j<N;J++)if(a[i]<A[J]){t=a[i];a[i]=a[j];a[j]=t;}}main(){inta[10]一{1,2,3,4,5,6,7,8,9,10},i;sort(&a[1],7);for(i=0;i<10;i++)printf("%d,",a[i]);}程序运行后的输出结果是()。[1分]

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

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

    C1,8,7,6,5,4,3,2,9,10,

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

  • 34. 下列选项中不属于软件生命周期开发阶段任务的是()。[1分]

    A软件测试

    B概要设计

    C软件维护

    D详细设计

  • 35. 若ch为char型变量,k为int型变量(已知字符a的ASCII码是97),则执行下列语句后输出的结果为()。cb='b';k=10;printf("%X,%o,”,ch,ch,k);printf("k=%%d\n",k);[1分]

    A因变量类型与格式描述符的类型不匹配,输出无定值

    B输出项与格式描述符个数不符,输出为0值或不定值

    C62,142,k=%d

    D62,142,k=%10

  • 36. 设有如下关系表:则下列操作中正确的是()。[1分]

    AT=R∩S

    BT=R∪S

    CT=R×S

    DT=R/S

  • 37. 下列程序的运行结果是()。#includemain(){inta=2,b=3,c=4:if(a<B)if(b<0)C=0:elsec++;printf("%d\n",c);}[1分]

    A2

    B3

    C5

    D4

  • 38. 若有下列定义,则对a数组元素地址的正确引用是()。inta[5],*p=a;[1分]

    Ap+5

    B*a+1

    C&a+1

    D&a[0]

  • 39. 下述程序的输出结果是()。#defineN20voidfun(inta[],intn,intm){inti,j;for(i=m;i>n;i--)a[i+1]=a[i];}main(){inti,a[N]={1,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i<5;i++)printf("%d",a[i]);}[1分]

    A10234

    B12344

    C12334

    D12234

  • 40. 设“intx=2,y=1;”,则表达式(!x||Y--)的值是()。[1分]

    A0

    B1

    C2

    D-1

  • 41. 有下列程序:main(){char*p[]={"3697","2584"};inti,j;longnum=0;for(i=0;i<2:i++){j=0;while(p[i][j]!='\0'){if((p[i][j]-'\0')%2)num=1O*num+p[j][j]-'0';j+=2;}}printf("%d\n",num);}程序执行后的输m结果是()。[1分]

    A35

    B37

    C39

    D3975

  • 42. 下列工具中为需求分析常用工具的是()。[1分]

    APAD

    BBFD

    CN-S

    DDFD

  • 43. 关系数据库管理系统能实现的专门关系运算包括()。[1分]

    A排序、索引、统计

    B选择、投影、连接

    C关联、更新、排序

    D显示、打印、制表

相关试卷
相关题库