福建省高等学校2021年计算机二级C语言试题库.docx
11 下程序的运行结果是【12】。main()intx=023;printf("%d',x);12 A)35B)1912.sizeof(double)13«13 A)一种函数调用C)一个整型表达式13.以下程序运行时,若从键盘输入5,main()inta;scanf("%d",<fea);if(a+>5)printf(',%dn",a);elseprintf("%dn',a-);)14 A)7B)414.以下程序运行后,a的值是【15】Cmain()inta,b;for(a=l,b=2;a<=100;a+)(if(b>=20)break;if(b%3=l)b+=3;continue;b+=5;)15 A)10B)915.以下程序段的运行结果是【16】。intx=3;doprintf("%3d,',x-=2);)while(!(-x);16 A)1B)3016.下列程序段中,非死循环的是【17】。17 A)inti=100;B)intk=0;while(l)doC) 23D)023B)一个双精度表达式D) 一个不合法的表达式则输出结果是【14】CC)5D)6C)8D)7C)死循环D)1-2C)ints=10;D)for(;)while(+s%2+s%2)i=i%I00+l;+k;S+;if(i>=100)break;)while(k>=0);printf("dn",k);17.设己定义CharS=""NameAddress023n",则字符串所占的字节数是【18】。18A)19B)15C)18D)1418.以下程序段的运行结果是【19】。main()inta三2,4,6,8,10),y=1,x;for(x=0;x<3;x+)y+=ax+l;Primf("%dn”,y);)19 A)17B)18C)19D)2019.已定义CharCu="Fujian"inti;,则下列函数调用中错误的是【20】。20 A)printf("%s',c);B)for(i=0;i<8;i+)printf("%c,ci);C)PUtS(C);D)for(i=0;i<8;i+)puts(cil);20 定义CharX网;inti;,为了给该数组赋值,下列语句正确的是211.21 A)x8="TurboC"B)x="TurboC"C)x=11TurboC"D)for(i=0;i<7;i+)xi=getchar();21.以下程序运行结果是【22】。main()chara5="ABCD"7,1234","abed","5678'"EFGH");inti;for(i=0;i<3;i+)printf(',%s'ai);)22 A)AlaB)ABCD1234abcdC)ABCD)ABCD1234abcd5678EFGH22.设inta4=0,0;,则下列描述错误的是:【23】。23 A)数组a的每个元素都可得到初值0B)二维数组a的第一维大小为1C)数组a的行数为1D)只有元素a00和a0l可得到初值0,其余元素均得不到初值023.设有下列语句,则【24】是对a数组元素的不正确引用,其中OWiVl0。intallOJ=0,1,2,3,4,5,6,7,8,9,*p=a;24 A)ap-aB)*(&ai)C)piD)*(*(a÷i)24.若有以下程序:maincharch=,Iamstudent!",*p;p=ch;printf("%xn",p);printf(,%xn,p+9);)其中有两个Printf(),如果第一个Printf()运行结果是ffd6,则第二个Printf()运行结果是【25】。25 A)ffdfB)ffe8C)ffd6D)ffcf25.以下程序的运行结果是【26】。main()inti;charaa3='aVb,c7d,e','f;char(*p)3J=aa;for(i=0;i<2;i+)if(i=0)aaii+l=*(p+);printf(',%cn",*p);)26 A)aB)bC)dD)c26.设有下列语句:charstrl=,string,str28,*str3,*str4=,'string"则【27】是对库函数StrCPy的不正确调用。此函数用来复制字符串。27 A)strcpy(str3,"HE1.1.03");B)strcpy(str2,"HE1.1.O2n);C)strcpy(strl,"HE1.1.O,);D)strcpy(str4,"HE1.1.O4");27.以下程序是将一个整数存放到一个数组中,存放时按逆序存放,例如I483存放成384请选择填空完善程序。voidconvert(char*a,intn)inti;if(i=n10)!=0)convert(【28】,i);*a=n%10+'0')charstr10=",'main()intnumber;scanf(',%d",<fenumber);convert(str,number);puts(str);第二部分:改错题改错题:共2小题,每题10分,说明如下:修改程序在每对“六*产之间存在的错误;不得删改程序中所有的"/*/”注释和其它代码;源程序均在考生文件夹中;务必以原文件名保存程序,(4)按Alt+Tab键,切换考试程序与TurboC;按Alt+Enter隆,切换TurboC窗口大小.第一套卷:1 .程序CmodyoI1.C的功能是:从字符串数组StrI中取出ASCn码值为偶数且下标为偶数的字符依次存放到字符串t中。例如,若Strl所指的字符串为:4AZ18c?GegaOz!则t所指的字符串为:4Z8z注意:数组下标从0开始.2 .程序cmody012.C中,函数fun(intn)的功能是:根据参数n,计算大于10的最小n个能被3整除的正整数的倒数之和。例如:Illl1fun(8)=+=0.3961215182133cmody011.c#include<math.h>#include<stdio.h>#include<string.h>#include<conio.h>voidmain()charstrl100,t200;inti,j;/*/i=0;/*/j=0clrscr();strcpy(strl,"4AZ18c7Ge9a0z!n);for(i=0;i<strlen(strl);i+)(/*/if(strli%2=0)&&(i%2!=0)/*/if(strli%2=O)&&(i%2=O)(tUl=strli;J+;)tjl=,O'printf(,'nOriginalstring:%sn",slrl);printf(,nResultstring:%sn11,t);)cmody012.c#include<string.h>#include<conio.h>#include<math.h>#include<stdio.h>#defineM50doublefun(intn)doubley=0.0;inti,j;j=0;for(i=l;i+)/*/if(i<10)&&(i%3=0)Xif(i>10)&&(i%3=0)(根据题义)/*/y+=li;/*/y+=1.0i;j+;1if(j=n)break;)returny;)voidmain()clrscr();prinlf("fun(8)=%8.31fn'fun(8);)*第二套卷1 .程序CmOdyO21.C输出如下所不图形:*2 .程序CmOdyO22.C的功能是求解百元买百鸡问题:设一只公鸡2元、一只母鸡1元、一只小鸡0.5元。间一百元买一百只鸡,公鸡、母鸡、小鸡数可分别为多少?有多少种分配方案?*cmody021.c#include<stdio.h>voidmain()(/*/inti;j;/*/inti,j;(概念错误)for(i=l;i<=5;i+)(for(j=l;j<=10-2*i;j+)printf(,'");/*/for(j=hj<=5;j+)/*/for(j=l;j<=2*i-l;j+)*号的位置rintf("*");printf("n'');cmody022.c#include<stdio.h>#include<conio.h>*intfun()*/intfun()(概念错误)inthen,cock,chicken,n=0;clrscr();for(cock=0;cock<=50;cock+=1)for(hen=0;hen<=100;hen=hen+1)chicken=2*(100-hen-2*cock);/*/if(cock+hen+chicken=100)/*/if(cock+hen+chicken=100)if后面关系表达式n+;printf("%d>hen:%d,cock:%d,chicken:%dn",n,hen,cock,chicken);if(n=20)getch();)Ireturnn;)voidmain()intnum;num=fun();printf("nThereare%dsolutions.n",num);getch();)第三套卷1 .程序CmOdyO31.C的功能是:从键盘上输入两个整数,及一个运算符(+、-、*、/或),进行相应的运算后输出运算的结果。如输入:1+2将输出:1+2=32 .程序Cmodyo32C的功能是:输出201-300之间的所有素数,统计总个数。*cmody031.c#include<stdio.h>#include<conio.h>v