《大学C语言题库》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
《C语言》题库000308E2请编写一函数intfun(floats[],intn),它的功能是:求高于平均分的人数,并作为函数值返回。数组s中存放n个学生的成绩。'0003intfun(floats口,intn){floatave=0;inti,j=0;for(i=0;i 1”,*(n+k));)该程序的输出结果是()oA、不确定的数值B、7C、10D、0〜0047D004906E1编程打印如下形式的九九表124369416003908D2函数fun的功能是:使一个字符串按逆序存放。请填空。voidfun(charstr口){charm;inti,j;for(i=0,j=strlen(str);i<();i++,j―){m=str[i];str[i]=();str[j-l]=m;}printf("%s 2",str);)〜003991881'0049main(){for(inti=l;i<=9;i++){for(intj=l;j<=i;j++)printf("%4d",i*j);printf(" 3");005006E2 4编一程序,打印出所有的“玫瑰花数",所谓“玫瑰花数“指一个三位数,其各位数字立方和等于该数本身。〜0050main(){inti,j,k,n;printf("thespacialnumbers: 5M;for(n=100;n 6");}005208E1编写一个函数,计算N!'0052longfun(intn){longp=l;for(inti=l;i<=n;i++)p*=i;return(p);}005407A2以下程序的输出结果是()o#include 7",t);)A,3B、4C、1D、9'0054B005507A2有以下程序:#include 8zz,s);程序运行后的输出结果是()oA、11B、19C、13D、200055B005604A2有以下程序:#include 9",s);)程序运行后的输出结果是()o'0057C006407A2希望下面的程序运行后输出17,请将程序填完整()main(){inti,j=80,a[]={3,5,8,9,10);for()j-=a[i];printf(,j-50);)A、i=4;i>2;i—B、i=0;i<3;++iC、 10下列一维数组的说明中,不正确的是()A、floata[5+6];B、intn=10,a[n];C、SdefineLONG10;D、floata[10],b[9]; 11inta[L0NG+5];'0065B006607A2若有说明inta[5][4];则对其数组元素的正确引用是()A、a[3+l][2]B、a(3)(2)C,a[0,2]D、a[3][5]'0066A006707D1下面的程序运行时,若从键盘输入:Whatdoes 12printf("Themax:%dw,*s);)则在if语句中的判断表达式应是()A^p>sB、*p>*sC、a[p]>a[s]D、p-a>p~s"0075B008308E2编写函数,求Fiboracci数列中大于t的最小一个数。'0083intjsvalue(intt){intfl=0,f2=l,fn;//F(0)=0,F(l)=lfn=fl+f2;//F(n)=F(n-l)+F(n-2)while(fn<=t){fl=f2;f2=fn;fn=fl+f2;)returnfn;008403B2设a,b,c为整型数,且a=2,b=3,c=4,则执行完以下语句:a*=16+(b++)-(++c);后,a的值是()o、008428008510D3下面的程序的功能是:利用指针统计一个字符串中,字母、空格、数字、及其它字符的个数,请填空。#include 13M);gets(s);for(p=s;*p!='\0';p++)if()alpha++;elseif()space++;elseif()digit++;elseother++;printf(walpha:%dspace:%ddigit:%dother:%d 14>,,alpha,space,digit,other);)'0085(*p>='A'&&*p<='Z')||(*p>='a'&&*p<='z'))、(*p=='4||*p=='\t')、(*p>='0,&&*p<=(9,)008711B3若有以下说明和定义语句,则变量w在内存中所占的字节数是()unionaa{floatx,y;charc[6];}structst{unionaav;floata[5];doubleave;}w;34008810C2main(){inta[]={2,4,6},*ptr=&a[0],x=8,y,z;for(y=0;y<3;y++)z=(*(ptr+y) 15",z);)〜00圈6009210B2设有以下定义和语句:inta[3][2]={10,20,30,40,50,60),(*p)[2];P=a;贝iJ*(*(p+2)+l)的值是()o'009260009307C2下列程序中字符串各单词之间有一个空格#include 16”,pl);)"0093howdoesshe 17009410B2下面函数用来求出两个整数之和,并通过形参传回两数相加之和,请填空。intadd(intx,inty,()z){()=x+y;}"0094int*009508C2intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;)main(){inta=4,b=3,c=5,d=6;t(a,b,c,d);printf("%d,%d 18”,c,d);)'00955,6009606E2编一程序打印以下图案:*************************'0096main(){inti,j;for(i=0;i<5;i++){for(j=0;j 19");009707E2有如下3x4矩阵,请编程序求该矩阵所有元素中的最大值。1357246815173412'0097main(){inti,j,max;inta[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};max=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]>max)max=a[i][j];printf("maxis%d”,max);011308A2以下程序的输出结果是()ottinclude 20凡在函数中未指定存储类别的变量,其隐含的存储类别为()A、自动(auto)B、静态(static)C>外部(extern)D、寄存器(register)'0130A013407A1C、axbbD、abdd〜0159B017010A2下列程序的输出结果是intb=4;intfunc(int下列合法的数组说明语句是()A、inta[]="string0;B、inta[5]={0,1,2,3,4,5};C、chara[]="string”:D>chara[5]={0,1,2,3,4,5};〜0133C'014603A1以下合法的c语言赋值语句是()A、a=b=58;B、a+bC.a=58,b=58D、一(i+j);'0146Amain(){intx,y,z;x=y=z=3;y=x++-l;printf(*%d,%d,",x,y);y=z—+1;printf("%d,%d 21”,y,z);)〜01834,2,4,2'018406C1main(){inta[10]={l,-2,3,-4,5,-6,7,-8,9,-10},s=0,i;a){b+=*a;return(b);}main(){inta=2,res=2;res+=func(&a);printf("%d 22",res);}A、4B、6C>8D、10'0170c017303A2有两个字符数组a、b,以下正确的输入语句是()A、gets(a,b);B、scanf(a%s%sw,a,b);C、putchar(a,b);D、scanf(a%s%s,,,&a,&b);'0173B017607C1请写出下列程序的运行结果#include 23i+=m+l;m=i+a+b;returnm;)main(){intk=4,m=l,p;p=func(k,m);printf(“%d,",p);p=fun(k,m);printf("%d”,p);)〜01778,17018207D2以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abcl23edf456gh,执行程序后输出:123456c#includeSincludemain(){chars[80],d[80];inti,j;gets(s);for(i=j=0;s[i]!=\0);i++)if(){d[j]=s[i];j++;}d[j]-\0*;puts(d);)〜0182s[i]>=,0'&&s[i]<=,9)018303C1更多考试资料来自投主页.for(i=0;i<10;i++){if(a[i]<0)break;s+=a[i];)printf(,z%d,z,s);}'0184]018508C1intx=l;voidfun(intx){x=3;}main(){fun(x);printf("%d 24”,x);)“01851018610C2main(){inta[4]={10,25,36,48);int*p=a;printf(〃%d*p);p++;printf("%d”,*p++);printf("%d"、*++p);'0186“102548018708C2intf(intb[],intn){inti,s=0;for(i=2;i<=n;i+=l)s+=b[i];returns;)main(){intx,a[]={1,2,3,4,5,6,7,8);x=f(a,7);printf(M%dw,x);)'0187330188I0C2 25main(){staticchata[]="programn,*ptr;for(ptr=a;ptr0)return(n*fun(n-2));elsereturn(1);}main(){intx;x=fun(5);printf("%d 26”,x);}"018915019006D2程序打印如下形式的图形**********main(){for(inti=l;i<=4;i++){for(intj=l;①;j++)printf((2));printf(③);))'0190①j〈=i②③” 27〃019107D2main()函数利用函数swap。来交换main函数中的两个变量的值voidswap(①){inttemp;temp=*x;*x二*y;②;}main(){intx=10,y=10;swap(③);printf(u%d,%d 28”,x,y);}〜0191①int*x,int*y(2)*y=temp③&x,&y019206D2下列程序求100之内的自然数中奇数之和voidmain(){inti=l,s;①;while(i<100){②;③;)printf(as=%d 29w,s);),0192①s=0②s=s+i③i+=2019306D2下列程序,求数组中主对角线元素之和main(){inta[3][3],s=0;for(inti=0;i<3;i++)for(intj=0;j<3;j++)scanf(〃%d”,①);for(i=0;i<3;i++)for(intj=0;j<3;j++)if(②)s+=③;printf("s=%d 30”,s);)〜0193①&a[i][j]②i==j(3)a[i][j]019403B1若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是()。chara[10],b;scanf("a二%s,b二%c",a,&b);,0194a=1234,b=5 31019503B1以下程序的输出结果是()main(){inta[10]={19,23,44,17,37,28,49,36),*p;p=a;printf("%d 32",(p+=3)[3]);)〜019549019606B2设i,j,k均为int型变量,则执行完下面的for循环后,k的值是()for(i=0,j=10;i<=j;i++,j—)k=i+j;、019610019811B2下面程序的输出是()main(){enumem{eml=3,em2=l,em3};char*aa[]={“AA”,“BB“,“CC“,"DD“};printf(<<%s%s%s 33,>,aa[eml],aa[em2],aa[em3]);〜0198DDBBCC下面的程序段运行后,第个printf()语句输出是(),第二printf()语句输出是()ochar*s="freetradeM,*p=s;while(*s)s++;printf(<<%s 34>>,p);printf("%s 35",p+7);〜0199freetrade>ade020206A2若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=l;b<=c;b++)s=s+l;则与上述程序段功能等价的赋值语句是A,s=a+b;B、s=a+c;C,s=s+c;D、s=b+c;〜0202B020306A2下列for循环执行的次数为()for(inti=0,x=0;!x&&i<=10;i++)A,10B、12C>11D、无限'0203C020610A1下列选项中正确的语句组是A、chars[8];s={"Beijing"};B、char*s;s={"Beijing"};C、chars[8];s="Beijing”;D、char*s;s="Beijing”;'0206D021108A1已知函数abc的定义为:voidabc()则函数定义中void的含义是()A、执行函数abc后,函数没有返回值B、执行函数abc后,函数不再返回C、执行函数abc后,可以返回任意类型D、?上三个答案都不对〜0211A021306A1运行下面程序段的输出结果是inti;for(i=0;i<10;i++);printf("%d”,i);A、9B、10C>8D、11"0213B021410A2若有以下定义:chars[20]=wprogramming,,,*ps=s;则不能代表字符。的表达式是A、ps+2B、s[2]C、ps[2]D、ps+=2,*ps〜0214A'021508A1C语言中,函数的隐含存储类别是 36charfor(j=0;p[i][j]>>O'&&p[i][j]<,9';j+=2)s=10*s+p[i][j]-'O';printf(a%dw,s);}-02256385022608C3longfun(intn){longs;if(n==l)||(n==2)s=2;elses=n+fun(n-1);return(s);}main(){longx;x=fun(4);printf(“%ld”,x);)~02269022907D2下面invert函数的功能是将一个字符串str的内容颠倒过来。#include 37”,*pl,*p2);)"022210,20,10,10022303C1main(){inta,b,c;a=-l;b=-2;c=++a-b++;printfc);}、02232'022408C2voidadd(){staticintx=0;x++;printfC%d",x);}voidmain(){inti;for(i=0;i<3;i++)add();)"0224123'022508C2main(){ch⑵[5]={“6934”,“8254”),*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++) 38while(p<()){if()printf(“%d”,*p);p++:"0230a+10、*p%2==0023206E1请编写一个程序,求序列2/1+3/2+5/3+8/5……前20项之和'0232main(){floatfl,f2,f3,s;inti;fl=f2=l;s=0;for(i=l;i<=20;i++){f3=f2+f1;s+=f3/f2;fl=f2;f2=f3;}printf(,s);023307E1编程求一个3x3矩阵的主对角线元素之和(设该矩阵元素均为整型数据)~0233main(){inti,j,a[3][3].sum=0;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d”,&a[i][j]);for(i=0:i<3;i++)sum+=a[i][i];printf(H%dw,sum);023402E2请编程序,输入一个4位数字,要求输出这4个数字字符,每个数字间空一个空格。史输入1990,应输出“1990“。'0234main(){inta,b,c,d,x;printf(uinputanumber:w;scanf(“/d",&x);a=x/1000;x=x%1000;b=x/100;x=x%100;c=c/10;d=x%10;printf(K%d%d%d%d”,a,b,c,d);023507E2输入三行字符,每行60个字符,要求统计出共有多少个大写字符,多少个小写字符。'0235#defineM61main(){charp[M],*q;intI,upper=0,lower=0;for(I=0;K3;I++)gets(p[I]);for(I=0;I<3;I++){q=p[I];while(*q){if(*q>=,A'&&*q<='Z'){upper++;q++;}if(*q>=,a'&&*q<=,z'){lower++;q++;}printf(w%d,%d”,upper,lower);023608E1编写函数fun,求fibonacci数列中大于t的最小的一个数,结果由函数返回。部分程序已给出。例如:当t=1000时,函数值为1597。部分程序如下:#include 39”,n,fun(n));}'"0236intfun(intt){inta=l,b=l,c=0,i;for(i=4;i<=t;i++) 40{if(c 41",p);)A、8,15B、8,16C、8,17D、8,8,0250C025107A1不能把字符串:Hello!赋给数组b的语句是()A、charb[10]={-o'\0'};B、charb[10];b="Hello!”;C、charb[10];strcpy(b,"hello!");D、charb[10]=whello!n;"0251B'025210A1若有以下定义和语句,0 42",++*x);}main(){inta=25;prtv(&a);'026026026110C2intaa[3][3]={{2},{4},{6}};main(){inti,*p=&aa[0][0];for(i=0;i<2;i++){if(i==0) 43aa[i][i+l]=*p+l;else++p;printf(,<%dM,*p);))〜026123026308D2下面的程序通过函数average计算数组中各元素的平均值。请填空。floataverage(int*pa,intn){inti;floatavg=0.0:for(i=0;i 44w,a,b,c):printf("###a=%d,b=%d,c=%d 45”,a,b,c);〜0264###a=26,b=13,c=19026507D2以下程序统计从终端输入的字符中大写字母的个数,用#号作为输入结束标志,请填空。#include 46w,sum); 47上述程序的输出结果是()O〜02672026806E2编程打印如下形式的九九表12342468918918273681〜0268main(){for(inti=l;i<=9;i++){for(intj=l;j<=9;j++)printf("%4d",i*j);printf(' 48");026908E1编写一个函数,计算x的n次方'0269longpower(intx,intn){longp=l;for(inti=l;i<=n;i++)p*=X;return(p);'027007E2有一个3*4的矩阵,编程求其中最大元素的值〜0270voidmain(){inta[3][4],max;for(inti=0;i<3;i++)for(intj=0;j<4;j++)scanf("%d”,&a[i][j]);max=a[0][0];for(i=0;i<3;i++)for(intj=0;j<4;j++)if(a[i][j]>max)max=a[i][j];printf(,,max=%d,z,max);它能够对从指定位置开始的n个数按相反顺序重新排列。例如数列原为:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20若要求对从第5个数开始的10个数进行逆序处理,则得到新数列为:1,2,3,4,14,13,12,11,10,9,8,7,6,5,15,16,17,18,19,20数列中的数在main中输入,在调用函数时应给出从第几个位置开始(m表示)和要处理的是多少个数(n表示)。在main中输出新的数列。,0271voidrevert(inta[],intm,intn){intI,j,t;for(I=m-1,j=n+m-2;I 49n);elseprintf("%4d”,aa[k]);printf(" 50");} 51〜0272voidfun(intm,int*a,int*n){inti,j,*n=0;for(i=l;i<=m;i++)if(i%7==0||i%ll==0){a[j]=i;*n++;j++}027606A2以下循环体的执行次数是A,3B、2C、1D、0main(){inti,j;for(i=0,j=l;i<=j+l;i+=2,j—)printf(tt%d 52w,i);}'0276C028110A2若定义函数int*funcl(),贝ijfuncl的函数返回值是()oA、整数B、指向函数的指针C、整型数的地址D、以上说法均错〜0281C028308A1C语言中形参的默认存储类别是()。A、自动(auto)B、静态(static)C、寄存器(register)D、外部(extern)'0283A'028411A2已知函数定义的形式如下:structdata*f(void)则函数f()A、没有参数,返回值是一个结构B、有一个参数void,返回值是一个结构C、没有参数,返回值是一个结构指针D、有一个参数void,返回值是一个结构指针〜0284C028510A1对于int*pa[5];的描述,()是正确的A、pa是一个指向数组的指针,所指向的数组是5个int型元素B、pa是一个指向某数组中第5个元素的指针,该指针是int型变量C、pa[5]表示某个数组的第5个元素的值D、pa是一个具有5个元素的指针数组,每一个元素是一个int型指针,0285D028605A1在C语言中,switch语句后一对圆括号中表达式的类型()A、可以是任何类型B、只能是int类型C、可以是整型或字符型D、只能是整型或实型'0286C029307C2intf(intb[],intn){inti,r=l;for(i=0;i<=n;i++)r=r*b[i];returnr;)main(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d",x);)〜0293120029405C2main(){intx=l,y=0,a=0,b=0;switch(x) 53{case1:switch(y){case0:a++;break;case1:b++;break;)case2:a++;b++;break;)printf(zza=%d,b=%d 54,z,a,b);}〜02点a=2,b=l029506C1main(){intx=2;while(x-);printf(“%d”,x);)'0295'029610C2main(){inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23);int(*p)[4]=a,i,j,k=0;for(i=0;i<3;i++)for(j=0;j<2;j++)k=k+*(*(p+i)+j);printf(w%dw,k);)〜029660029710C3fun(int**s,intp[2][3]){**s=p[l][1];}main(){inta[2][3]={1,3,5,7,9},*p;p=(int*)malloc(sizeof(int));fun(&p,a);printf("%d",*p);}〜02979'029806D2当执行下面的程序段后,i,j,k的值分别为(),(),()ointa,b,c,d,i,j,k;a=10;b=c=d=5;i=j=k=O;for(;a>b;++b)i++;while(a>++c)j++;dok++;while(a>d++);'02985,4,60299I0D2函数fun的功能是根据下面的公式s=l-l/3+l/5-l/7+l/(2nT)计算s的值,通过形参指针sn传回s的值;n通过形参传入,n的值大于等于0.voidfun(float*sn,intn){floats=0.0,w,f=-l.0;int1=0;for(1=0;I<=n;I++)(f=()*f;w=f/(2*1+1);s+=w;)=S;'0299-1、*sn030301B1C的整数可以用()、()、和()三种进位制表示。十六0303八十030803B1表达式'03083.5+1/2的计算结果是()o3.5030904B1调用C语言对字符处理的库函数时,在#include命令行中应包含的头文件是(〜03嚷string,h 55若有定义inty=7;floatx=2.5,z=4.7,则下031103B面表达式的值为()x+(int)(y/3*(int)(x+z)/2)%4o5.5031504A2以下程序的输出的结果是()A、9D、B、618c、36#definef(x)x*xmain(){inta=6,b=2,c;c=f(a)/f(b);printf(“%d 56",c);)'0315C031611A2以下程序的输出的结果是()A、6B、4C、2D、不确定main(){struct{chari[2];intk;}r;printf(w%d 57M,sizeof(r));)'0316A031903A2设inta=10,c=9;则表达式(-a==c++,--a,++c)的值是()A、12B、11C、9D、10'0319B032103A1若变量已经正确定义并赋值,符合C语言语法的表达式是()A、a=a+7;B、a=7+b+c,a++C,int(12.3%4)D、a=a+7=c+b'0321B032407C2#include 58");)程序输出结果为();函数intp(intk,inta[])的功能为()'0324235711求以k以内(含k)质数,并依次存入数组a中,返回质数个数。032507D3在n行n列的矩阵中,每行都有最大的数,本程序求这n个最大数中的最小一个。#include 59",min);}'0325a[row][col]>maxmax 60p=number;printf(“输入10个数据: 61);for(i=0;i<10;i++,p++)scanf(%d“,P);(_);max_min_value(p,10);printf(wmax=%-10dmin=%d 62w,max,min);}'0326int*pp=array+lp=number032705E1设m,n为正整数,且m 63n,s);}'032805E3编写函数,完成以下功能,寻找并输出11到999之间数M,满足M,M平方,M立方均是回数。'0328intjsvalue(longn){inti,strl,half;charxy[20];itoa(n,xy,10);strl=strlen(xy);half=strl/2;for(I=0;I 64",_);ch=()?ch+32:ch;printf(< 65w,ch);}'0330&chch>='A'&&ch<=,V033105E2编写计算斐波那契(Fibonacci)数列第n项的递归函fib(n)o斐波那契数列为:0,1,1,2,3,5—-"0331intfib(intn){if(n==0)return(0);if(n==l)return(1);if(n>l)return(fib(n-2)+fib(n-1));}033207E3以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示)例如:矩阵为:300325731042则所有靠外侧的各元素值之和为18。'0332add(intm,intn,intarr[])inti,j,sum=O;for(i=0;i 66ver(str);printf("%s 67",str);)ver(_)charstr口;(chart;inti,j;for(i=0,j=strlen(str);i 68");)'0335a[k]a[k]a[k]033605D2爱因斯坦的阶梯问题。设有一阶梯,每步跨2阶,最后余1阶;每步跨3阶,最后余2阶;每步跨5阶,最后余4阶;每步跨6阶,最后余5阶;只有每步跨7阶时,正好到阶梯顶。问至少有多少阶梯。main()(inta=7;while()a+=(—);printf('"Flightofstairs=%d 69z,,a);)'0336a%2!=l||a%3!=2||a%5!=4||a%6!=51033708E3用递归方法实现,求an的函数(其中a是实数,n是自然数),0337floatmi(floata,intn){floaty;if(n==0)y=l; 70elsey=mi(a,n-l)*a;returny;Sinclude 71”;或分号034703B1若x是int型变量,且x=6,则表达式(x%2+(x+l)/2)的值为()0〜03473?034813A1若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为A、0B、1C、-1D、一个非0值〜0348A034903B2设inta=10,c=9;则表达式(-a==c++?--a:++c)的值是()o〜03498035003C2若有说明intx=10,y=20;请写出下面各printf语句对应的输出结果。fp=fopen("file","w");C、fp=fopen("file","r+");D、fp=fopen("file","w+”);'0352A035308A2下列定义中不正确的是()oA、intp;B、intp[n];它对么?C、int*p(n);D、int(*p)();E、int**p;"0353C035408A1以下关于函数的叙述中正确的是A、每个函数都可以被其它函数调用(包括main函数)B、每个函数都可以被单独编译C、每个函数都可以单独运行D,在一个函数内部可以定义另一个函数,0354B①printf("%3x 72",x+y);x是十六进制的数o是八进制的数。有以下程序();②printf(a%3o 73v,x*y);();③printf("%3o 74”,x%y);();printf("%3x 75",(x/y,x-y,x+y));()|逗号运算选最后面的o'0350le31012le035103B1若k为int型变量且赋值11。请写出运算k++后表达式的值()和变量的值()o'03511112?035213A1用只读方式打开一个文件“file”,下列正确的是()A、fp=fopen("file",“r");B、main(){inta[10]={l,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;Printf(w%d 76w,*p+*q);有以下程序main(){charp[]={'a','b','c'},qD="abc";printf(w%d%d",sizeof(p),sizeof(q)); 77程序运行后的输出结果是A、44B、33C、34D、43〜0357C035806A2以下程序的输出结果是()ointx=3;do{printf(“刎”,x-=2);}while(!(一x));A、1B、30C、1-2D、死循环〜0358C035910B2下列语句执行后的结果是()omain(){intarr[]={30,25,20,15,10,5},*p=arr;p++;printf(“为d 78”,*(p+3));)'035910036010C2voidfun(int*n){while(*n)—};Printf(“%d”,++(*n);}main(){inta=100;fun(&a);)'03600036103A2以下程序的输出结果是main(){intx=0.5;charz='a";printf(K%d 79w,(x&l)&&(z<,z'));}A、0B、1C、2D、〜0361__更多考试资料来自投主页.036210A1下列程序的输出结果是main(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf(“%d”,*—p);)A、非法B、a[4]的地址C、5D、3〜0362C036310A1经过下面的语句inti,a[10],*p;定义后,下列语句中合法的是()oA,p=100;B、p=a[5];C^p=a[2]+2;D、p=&(i+2);E、p=a+2;'0363E036410A1经过下面的语句inti,a[5],*p;定义后,下列语句中合法的是()oA、p=a;B、p=a[5];C、p=a[2]+2;D、p=&(i+2);E、p=**a;'0364A036503B1静态双精度实型变量flag;'0365ststicdoubleflag;036607B1指向具有5个数据元素的长整型数组的指针变量p;'0366longint(*p)[5];036703B3表示时间的变量t;'0367struct{unsigndeh,m,s;}t;036807B2表示班级60名学生姓名的数组xm;〜03璃charxm[61][10];036911B3 80printf(,i);定义类型COLOR为具有五种颜色(用英文表示颜色)的枚举类型。'0369typedefenumcolor{red,blue,white,green,yellow)COLOR;'037006E3计算six,nine满足six+six+six=nine+nine/*注:由于有SIX+SIX+SIX=NINE+NINE*/〜0370voidcountvalue(){inti;printf(n 81H);for(i=666;i<=999;i=i+2)if(i/10%10==(3*i/2)/100%10)/*以I为准*/{cnt++;sum+=i+3*i/2;}}037108C2#include 82",s);})intfun(){intlv=0;staticintsv=0;sv+=lv++;returnsv;inti,x,y,t;chara,b;scanf(,&i);if(i>10)a=i&0x000f;b=(i«2)&0x00ff;printf("%x\t%x 83”,b,a);当程序运行时输入11之后,执行的输出结果是:()'0372114411037308C3本程序运行时,当分别输入字符串“ABCD”和“1234”时,输出结果是什么?charcon(stringl,string2,string)charstringl[],string2[],string[];(inti,j;for(i=0;stringl[i]!='\0';i++)string[i]=stringl[i];for(j=0;string2[j]!=>\0';j++)string[i+j]=string2[j];string[i+j]=\0);)main()(charsl[100],s2[100],s[100];scanf("%s”,si);scanfs2);con(si,s2,s);printf("/s 84",s);}〜0373ABCD1234037107E2编写一个函数S,对数组从小到大进行排序。〜0374#include 85{charch;scanf("%c 86",&ch);ch=(ch>=,A'&&ch<=,Z')?ch+32:ch;printf(Kchar=%c 87w,ch);)、0375融大写字母A-Z转换成对应的小写字母a-z,其它字符不转换。037605D2本程序从键盘输入n(0 88");scanf("%d",&n);}while(n<=0||_);printf(“输入惠组元素: 89”);for(i=0;i 90”,a[ind],c2);}'0376n>=100cl++或cl=cl+lcl>c2ind=i'037705A1设有程序段intk=10;while(k=0)k=k-l;则下面的描述正确的是()A、while循环执行10次B、循环是无限循环C、循环体语句一次也不执行D、循环体语句执行一次'0377C037805A1设有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d”,s);贝IJ()A、运行程序段后输出0B、运行程序段后输出1C、程序段中控制表达式是非法的D、程序段执行无限次'0378B037903A1语句while(!E);中的表达式!E等价于()A、E==0B、E!=1C,E!=0D、E==l'0379A038005A2下面程序段运行结果是()a=l;b=2;c=2;while(a 91'0382C'038305A3设有程序段t=0;while(printf()){t++;if(t<3)break;)下面描述正确的是()A、其中循环控制表达式与0等价B、其中循环控制表达式与'0’等价C、其中循环控制表达式是不合法的D、以上说法都不对'0383038405A2下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空ttinclude 92w,a,b);scanf(“%d%d”,&a,&b);A>!a=bB、a!=bC、a二二bD、a二b,0384B038505A2下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空#include 93'){if(c>=,A'&&c<='7?)m++;if(c>=,a'&&c<=,z')n++;}printf(w%d 94v,m 95”,x,y);}-03872*x+4*y=90038805C2下面程序段的运行结果是()for(a=l,i=-l;-K=i 96的值,请填空Sinclude 97w,s);)'0390t=t*it=-t/i039108A1以下说法正确的是()建立函数的目的之一-是,A、提高程序的执行效率B、提高程序的可读性C、减少程序的篇幅D、减少程序文件所占内存~0391B039208A1以下正确的说法是()A、用户若需调用标准库函数,调用前必须重新定义B、用户可以重新定义标准库函数,若如此,该函数将失去原含义C、系统根本不允许用户重新定义标准库函数D、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调'0392B039308A1以下正确的函数定义形式是()A、doublefun(intx,inty)B、doublefun(intx;inty)C、doublefun(intx,inty);D、doublefun(intx,y);'0393A039408A1以下正确的说法是()在C语言中A、实参和与其对应的形参各占用独立的存储单元B、实参和与其对应的形参共占用一个存储单元C、只有当实参和与其对应的形参同名时才共占用存储单元D、形参是虚拟的,不占用存储单元"0394A039508A1若调用一个函数,且此函数中没有return语句,则正确的说法是()A、没有返回值B、返回若干个系统默认值C、能返回一个用户所希望的函数值D、返回一个不确定的值"0395D039608A1以下不正确的说法是()C语言规定A、实参可以是常量、变量或表达式B、形参可以是常量、变量或表达式C、实参可以为任意类型D、形参应与对应的实参类型--致B039708A1以下正确的说法是()A、定义函数时,形参的类型说明可以放在函数体内B、return后边的值不能为表达式C、如果函数值的类型与返回值类型不一致,以函数值类型为准D、如果形参与实参类型不一致,以实参类型为一_准'0397C039808A1 98C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是()A、地址传递B、单向传递C、由实参传给形参,再由形参传回给实参D、由用户指定传递方式'0398B039908A2C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()A、floatB、intC、longD、double"0399B040008A2C语言规定,函数返回值的类型是由()A、return语句中的表达式类型所决定B、调用该函数时的主调函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定'0400D040108B1函数由()和()两部分组成。"0401函数说明部分、函数体'040201B2C的构造类型有()、()和(~0402数组、结构体、共用体040308C2inta=5;fun(intb){staticinta=10;a+=b++;printf("%d",a);)main(){intc=20;fun(c);a+=c++;printf(n%d 99H,a);)"04033025040403B1C语言中逻辑值“真”用()表示。"0404]'040508B2C程序总是从()开始执行,其顺序结构是通过()体现出来的。,0405主函数、书写顺序040603A2main(){unsignedchara,b,;a=7'3;b=~4&3;printf(K%d%d 100w,a,b);)A、43B、73C,70D、40'0406A040703B1C语言的关系运算符有(〉,>=,<,<=,=,!=)、逻辑运算符有()o"0407&&,U,!040803B3设有定义:printf(“%d 101”()~04(®]040903B3设intx=l,(),04090041003B3设inta=10,c=9intx=l,y=-l;则语句:,x—|++y);的输出结果是y=l;表达式(!x||一y)的值是则表达式(―a==c++?c-a:++c)的值是()'04101要打开一个已存在的非空文件“file”用于修改,选择(A、fp=fopen("file","r");B、fp=fopen("file","w");C、fp=fopen("file","r+");D、fp=fopen("file","w+");〜0411C041203A2设有inta=20:执行完语句a-=a*a;后,a的值是()A、552B、144C、264D、-380〜0412 102D041310A3有以下程序voidfun(char*a,char*b){a=b;(*a)++;}main(){charcl='A',c2='a',*pl,*p2;pl=&cl;p2=&c2;fun(pl,p2);printf(,z%c%c 103,z,cl,c2);)程序运行后的输出结果是()A、AbB、aaC、AaD、Bb“0413A041407A2以下能正确定义一维数组的选项是()A、intnum[];B、#defineN100intnum[N];C、intnum[0..100];D、intN=100;intnum[N];〜0414B041503A1设有intx=l,y=8;则表达式(x+4<=y-3<=xT)的值是()A、1B、0C、3D,4〜0415B'041611C2#defineNAMESIZE20#defineADDRSIZE100structbirthday(intyear;intmonth;};structperson(charnamefNAMESIZE];structbirthdaydate;charaddress[ADDRSIZE];longzipcode;);structpersonp={*YangDeZhong*,{1984,12},*JiLinroad",130021};main()printf("%d,%d 104”,p.date,year,p.date,month);}-04161984,12041711C3main(){union{chari[2];intk;}r;r.i[0]=2;r.i[l]=0;printf("%d 105",r.k);}〜04172041809A3有以下程序输出结果是()#definef(x)(x*x)main(){intil,i2;il=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%d 106”,il,i2);)A,64,28B、4,4C>4,3D、64,64〜0418 107c041907D2以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为abcdef和abceef,则输出为T.请填空。ttincludemain(){charstr[100],str2[100],c;inti,s;printf("、ninputstring1:、n");gest(strl);printf("、ninputstring2:、n”);gest(str2);i=0;while((strl[i]==str2[i]&&(strl[i]!=—))I++;s=;printf("%d、n”,s);}"0419_\0_strl[i]-str2[i]042005C2以下程序运行后的输出结果是main(){inta=l,b=2,c=3;if(c=a)printfc);elseprintfb);)'0420]'042108D1请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。(double,double);main(){doublex,y;scanf(z,%lf%lf,z,&x,&y);printf(〃%lf 108”,max(x,y));)doublemax(doublea,doubleb){return(a>b?a:b);}“0421doublemax__更多考试资料来自投主页.042210A3设有如下定义:int(*ptr)*();则以下叙述中正确的是()A、ptr是指向一维组数的指针变量B、ptr是指向int型数据的指针变量C、ptr是指向函数的指针,该函数返回一个int型数据D、ptr是一个函数名,该函数的返回值是指向int型数据的指针'0422C042311A2以下对枚举类型名的定义中正确的是()A、enuma={one,two,three);B、enuma{one=9,two=1,three};C、enuma={"one","two","three”};D、enuma{"one","two","three”};〜0423B'042403B2设有intx=0,y=l,a=2,b=3,c=4;则逻辑表达式(!(x=a)&&(y=b)&&c)的值();x的值();y的值()〜04240、2、1042508B3intfunc(){staticints=0;intx=10;return(s+=x);}第2次调用函数时返回值为()〜042520042603B2设有intm=10,n=0,a=3,b=4;则执行完语句if((m!=n)&&(a=n)&&(b=m))m+=l;后变量b的值()'04264042703B3设有inta=12;执行完语句a+=a-=a*a;后,a的值是(),0427-264 109042803A2printf("%d,%o,%x 110,z,a,a,a);在C语言中,正确的int类型的常量是()A、32768B、-32769C、”fdjs”D、OXaf'0428Dprintf("机0.2f%-10.2f%.2f 111”,b,b,b);printfC,x/y=%d 112x*y=%d 113//,x/y,x*y);printfC%d+%d=%d 114z,,x,y,x+y);042904A2printf(〃%d*****%7.2f 115”,-a*y,设有inta=3,b=4;语句printf(K%dw,(a=2)|(b=-2));的输出结果是()A、无输出B、结果不确定C^-1D、0"0429Db*y);printf(/z%3d%3d%3d\tzz,x&&4 116”,-a++);}'0435-2,177776,fffe2.502.502.50x*=y+4,043003A2x/y=3设有定义:intx=l,y=-l;,则语句:printf(<<%d 117v,x-&++y);的输出结果是()A、1B、0C、-1x*y=3010+3=136*****7.50010123=70,789=2D、2043607C2'0430B有以下程序intsub(intn){return(n/10+n%10);}043109A2main()以下程序的输出的结果是()A、11B、3C、36D、18#definef(x)x+xmainO{inta=6,b=2,c;c=f(a)/f(b);printf("%d 118”,c);{intx,y;scanf(“%d",&x);y=sub(sub(sub(x)));printf("%d 119”,y);若运行时输入:123〈回车〉,程序的输出结果是"04366)043807D3"0431有一个已排好序的一维数组。现输入一个数,要求按原来排序的规律将它插入数组中。'043407A2main()设staticinta[10]={2,4,6,8,10};int*p=a;则表达式(*p++**++p)的值是()A、2B、6C、10D、不确定'0434B(Statica[ll]={l,4,6,9,13,16,19,28,40,100};inttempi,temp2,number,end,j,i;for(i=0;i<10;i++)printf("%5d”,a[i]);int043504C2printf(" 120");main()b=2.5;{inta=2,x=10,y=3;floatscanfftnumber);end=a[9]; 121if(number>end)else(for(i=0;i<10;i++)(if(a[i]>number)(templ=a[i];a[i]=;for(j=i+l;j 122”,a,b);)程序运行后的输出结果是()A,6,1B、2,1C、6,0D>2,0'0446B045103A2 123数字字符0的ASCII值为48,若有以下程序main(){chara=,],,b=,2";printf("%c,",b++);printf(zz%d 124/,,b-a);)程序运行后的输出结果是()A,3,2B、50,2C、2,2D、2,50~0451C045201A2一个完整的可运行的C源程序是().A、至少要由一个主函数和(或)一个以上的辅函数构成B、由一个且仅由一个主函数和零个以上(含零)的辅函数构成C、至少要由-一个主函数和一个以上的辅函数构成D、至少由一个且只有一个主函数或多个辅函数构成'0452B'045310A2C语言的说明语句"char*line[5];”的含义是指().A.line是一个数组,其数组的每一个元素是指向字符的指针B.line是一个指针,指向一个数组,数组的元素是为字符型C、A和B均不对,但它是C语言正确的语句D、C语言不允许这样的说明语句'0453A045403A1设有下面的程序段:inti,j;floatx,y;chara[20],b[20];scanf("%3d%f%2s",&i,&x,a);scanf&j,&y,b);当键盘输入如下时:3704967C658426FB其执行结果是()A、i=370x=496.0a=7Cj=658y=42.0b=6FBB、i=370x=4.0a=96j=7y=C6b=5C、i=370x=6.0a=7Cj=658y=42b=6D、i=370x=496a=7Cj=658y=42b=6FB"0454A045511A2请读下面初始化程序段:staticcharA[]="ABCDEF”;staticcharB[]={'A','B','C','D','E','F'};则下列叙述正确的是:()A、A和B完全相同B、A和B只是长度相等C、A和B不相同,A是指针数组D、A数组长度比B数组长'0455D045610A2指针引用可以出现在赋值号左端。若pi指向x,那么*pi=0,即将x置为0;问:*pi+=l;是把x的值增加1,这等价于:()A、*pi++B、(*pi)++C、pi+=lD、pi=pi+l'0456B045706A2请读下列函数:intstrsub(char*a){intn=0;while(*a++)n++;return(n);)A、6B、7C、8D,9若此函数调用时,字符串a赋值为"ABCDEF",则返回值是:()A045807A2请读下面程序:#include 125for(i=0;i<3;i++)printf(*%d*,*(*(a+i)+i));)程序的输出结果为:()A、AEIB、不确定的值C、ABCD、分别为a[i,i]的地址'0458A045908A2若已知:intx;inty[];则下面表达式合法是:()A、&xB、&(x+3)C、&5D、&y"0459A046106C2当a=27b=63时,写出下面程序的运行结果.ttinclude 126,z,a,b,c,d);"0461a=27b=63gbs=189gys=9046206C2执行下面程序后屏幕上显示的结果是什么?Sinclude 127%d%x%o,z,19,19,19);printf(,z 128%d%x%o,z,Oxlc,Oxlc,Oxlc);printf(' 129 130");)〜0463―191323>281c34046403A2main(){inta=l,b=2,m=0,n=0,k;k=(n=b>a)|(m=a 131〃,k,m);)程序运行后的输出结果是()A>0,0B、0,1C、1,0D、1,1切4殿c046803B2若x是int型变量,且x=6,则表达式 132(x%2+(x+l)%2)的值为()o'04681046910A1若有定义:int*p[3];,则以下叙述中正确的是()A、定义了一个基类型为int的指针变量p,该变量具有三个指针B、定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C、定义了一个名为*p的整型数组,该数组含有三个int类型元素D、定义了•个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素'0469B047410A2设有说明int(*ptr)[M];,其中标识符ptr是()A、M个指向整型变量的指针B、指向M个整型变量的函数指针C、一个指向具有M个整型元素的一维数组的指针D、具有M个指针元素的一维指针数组,每个元素都只能指向整型量"0474C'047503A2设有intx=5,y=8;则表达式(x+5<=y-3 133,,>class[2].name);B、printf(''%s 134z,,class[2].name[0]);C、printf(,'%s 135,,)class[1].name);D、printf(''%s 136z,,class[1].name[0]);'0476C047709A2以下程序的输出结果是。A、11B、12C、13D、15Sinclude''stdio.h"SdefineFUDGF(y)2.84+y#definePR(a)printf(''%dz,,(int)(a))#definePRINT1(a)PR(a);putchar(' 137z)main(){intx=2;PRINTl(FUDGF(5)*x);)"0477B048003A2执行下面的语句后,表达式*(p[0]+D+**(q+2)的值为()inta[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**p=q;A,8B、7C>6D、5'0480D048203C2main()(inta=-3,x=10,y=3;floatb=2.5;printf(〃%d,%o,%x 138z,,a,a,a); 139printf(z,%10.2f%-10.2f%.2f 140",b,b,b);printf("x/y=%d 141x*y=%d 142〃,x/y,x*y);printf(zz%d+%d=%d 143z,,x,y,x+y);)、0482-3,177775,fffd2.502.502.50x/y=3x*y=3010+3=13■48306C2#include 144〃,b,a);)elsex=2;y=4;t=x+i%3*(int)(x+y)%2/4;printf(、'%d 145",t);问题1:当程序运行时输入67之后,执行的输出结果是问题2:当程序运行时输入7之后,执行的输出结果是o〜04844303,2048506C2#include 146");'04852357911048608E2从键盘输入一个不多于4位的正整数,编程求该数各位数值之和。多:输入3126时,输出12o'0486 147main(){intm,a,b,c,d,s=0;scanf&m); 148a=m/1000;b=(m-a*1000)/100;c=(m-a*1000-b*100)/10;d=m%10;s=a+b+c+d;printf(''%d 149z,,s);048703A2C语言中最简单的数字类型包括0A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型"0487B048906A2要求以下程序的功能是计算:s=1+1/2+1/3+……+1/10main(){intn;floats;s=1.0;for(n=10;n>l;n—)s=s+l/n;printf("%6.4f 150",s);}程序运行后输出结果错误,导致错误结果的程序行是()A>s=1.0;B、for(n=10;n>l;n—)C、s=s+l/n;D、printf("%6.4An",s);'0489C'049106D2下面程序的功能是将八进制正整数组成的字符串转换为十进制整数,请选择正确内容填空。#include 151",n);①A、0B、*pC、*p-'0’D、*p+'0’②A、*pB、*p++C、*(++p)D、p"0491C、C049210A2经过下面的语句inti,af10],*p;定义后,下列语句中合法的是()oA、p=100;B、p=a[5];C>p=a[2]+2;D、p=&(i+2);E、p=a+2;,0492E049308A2以下程序的输出结果是()oA、11.10B、12.00C、21.10D、1.10voidfun(float*pl,float*p2,float*s)(s=(float*)malloc(1,sizeof(float));*s=*pl+*p2++;)main(){floata[2]={l.l,2.2},b[2]={10.0,20.0),*s=a;fun(a,b,s);printf("%5.2f 152",*s);)'0493D049510B2定义指向具有5个数据元素的长整型数组的指针变量plongint(*p)[5];049601B2定义类型COLOR 153为具有五种颜色(用英文表示颜色)的枚举类型。"0496typedefenumcolor{red,blue,white,green,yellow}COLOR; 154049706D2以下程序的功能是输出如下形式的方阵,请填空。13141516910111256781234main(){inti,j,x;for(j=4;j;j-){for(i=l;i<=4;i++){x=(j-l)*4+:printf("%4d”,x);}printf(" 155”);})〜0497>0、i*015807A2若有说明charsi[5],s2[7];要给si和s2赋值,下列语句正确的是()A^scanf(u%s%sn,&sl,&s2);B、gets(si,s2);C、scanf("%s%s",si,s2);D、sl=getchar();s2=getchar();“陶C015903A2阅读下列程序,程序的运行结果是()#include"stdio.h"main(){charx=,a9;clrscr();putchar(x);putchar("b*);putchar(x+2);putchar(‘b'+2);}A、aabbB、abed
此文档下载收益归作者所有