C语言试题及答案3

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1页《C语言》课程综合复习资料一、单选题1.在C语言中,字符型数据在内存中的存储形式是A)原码B)补码C)反码D)ASCII码2.在C语言中,十进制数47可等价地表示为A)2fB)02fC)57D)0573.设有定义:intx=12,n=5;则表达式x%=(n%2)的值为A)0B)1C)2D)34.设有定义语句:charstr[][20]={Beijing,中国石油大学},*p=str;则printf(%d\n,strlen(p+20));输出结果是A)10B)6C)0D)205.已定义以下函数:fun(int*p){return*p;}该函数的返回值是A)不确定的值B)形参p所指存储单元中的值C)形参p中存放的值D)形参p的地址值6.C语言中,函数返回值的类型是由A)return语句中的表达式类型决定B)调用函数的主调函数类型决定C)调用函数时的临时类型决定D)定义函数时所指定的函数类型决定7.有以下函数定义:voidfun(intn,doublex){……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是A)fun(inty,doublem);B)k=fun(10,12.5);C)fun(10,12.5);D)voidfun(10,12.5);8.以下选项中不能正确赋值的是A)charb[]={′H′,′e′,′l′,′l′,′o′,′!′};B)charb[10];b=Hello!;第2页C)charb[10]=Hello!;D)char*str=Hello!;9.若有以下定义:chars[20]=programming,*ps=s;则不能代表字符g的表达式是A)ps+3B)s[3]C)ps[3]D)ps+=3,*ps10.当对两个字符串进行比较时,应该使用的函数是A)strcatB)strcmpC)strcpyD)strlen11.若i为整型变量,则以下循环的次数是for(i=2;i==0;)printf(“%d”,i--);A)无限次B)0次C)1次D)2次12.以下关于数组的描述正确的是A)数组大小固定,但是可以有不同类型的数组元素B)数组大小可变,但是所有数组元素的类型必须相同C)数组大小固定,所有元素的类型必须相同D)数组大小可变,可以有不同类型的数组元素13.以下能正确定义数组并正确赋初值的语句是A)intN=5,b[N][N];B)inta[1][2]={{1},{3}};C)intc[2][]={{1,2},{3,4}};D)intd[3][2]={{1,2},{34}};14.设有定义inta[]={1,5,7,9,11,13},*p=a+3;则*(p-2),*(a+4)的值是A)511B)19C)59D)有错误15.已知charb[5],*p=b;,则正确的赋值语句是A)b=“abcd”;B)*b=“abcd”;C)p=“abcd”;D)*p=“abcd”;16.用数组名作为函数调用时的实参,则实际传递给形参的是A)数组的第一个元素值B)数组中全部元素值C)数组的首地址D)数组的元素个数17.以下叙述中不正确的是A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效18.当对两个字符串进行比较时,应该使用的函数是第3页A)strcatB)strcmpC)strcpyD)strlen19.有如下定义:longm;charc;floatx;doubley;则表达式c+m*x/y的值的类型是A)longB)charC)floatD)double20.假设已定义charc[8]=test;inti;则下面的输出函数调用中错误的是A)printf(%s,c);B)for(i=0;i8;i++)printf(%c,c[i]);C)puts(c)D)for(i=0;i8;i++)puts(c[i]);21.若有以下定义:chars[20]=programming,*ps=s;则不能代表字符g的表达式是A)ps+3B)s[3]C)ps[3]D)ps+=3,*ps22.以下选项中不能正确赋值的是A)charb[]={′H′,′e′,′l′,′l′,′o′,′!′};B)charb[10];b=Hello!;C)charb[10]=Hello!;D)char*str=Hello!;23.有以下函数定义:voidfun(intn,doublex){……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是_________。A)fun(inty,doublem);B)k=fun(10,12.5);C)fun(10,12.5);D)voidfun(10,12.5);24.从变量的作用域来分,可分为全局变量和局部变量,形参是A)局部变量B)全局变量C)静态变量D)动态变量二、读程序,写出程序的执行结果1.#includestdio.hvoidmain(){intx[]={1,2,3};ints,i,*p=x;s=1;for(i=0;i3;i++)s*=*(p+i);第4页printf(“%d\n”,s);}答案62.#includestdio.hcharfun(char*s){if(*s=a&&*s=z)*s=*s-32;return*s;}voidmain(){chara[20]=Welcome,*p,ch;for(p=a;*p!=\0;p++){ch=fun(p);putchar(ch);}}答案WELCOME3.#includestdio.hvoidmain(){intx=26587,x1,r,sum=0;x1=x;while(x0){r=x%10;sum+=r;x/=10;}printf(Sumofthedigitsin%dis%d,x1,sum);}答案Sumofthedigitsin26587is28第5页4.#includestdio.hintfun(intx){inty=1;staticintz=4;z+=1;++y;return(x+y+z);}voidmain(){inti;for(i=1;i=3;i++)printf(%3d,fun(i));}810125.#includestdio.hvoidmain(){intx=3,y=4;intj;for(j=1;y0;y--)j=j*x;printf(“j=%d\n”,j);}运行结果:j=816.#includestdio.hvoidmain(){intx,y;for(y=1,x=1;y=20;y++){if(x=8)break;if(x%2==1){x+=5;continue;}x-=3;}printf(x=%d,y=%d\n,x,y);第6页}运行结果:x=8,y=47.#includestdio.hvoidmain(){charx[]=language;char*ptr=x;while(*ptr){printf(%c\n,*ptr-32);ptr++;}}运行结果:LANGUAGE8.#includestdio.hvoidmain(){intx[]={5,6,7};ints=1,i,*p=x;for(i=0;i3;i++)s*=*(p+i);printf(“%d\n”,s);}运行结果:2109.#includestdio.h第7页intfun(intx){return(x0?x:-x);}voidmain(){inta=12;printf(“%d,%d\n”,a,fun(a));}运行结果:12,1210.#includestdio.hvoidex(){staticintx=3;--x;printf(“%d”,x);}voidmain(){ex();ex();}运行结果:2111.#includestdio.hvoidmain(){inti=0,a=0;while(i20){for(;;)if((i%10)==0)break;elsei--;i+=11;a+=i;}printf(%d\n,a);第8页}3212.#includestdio.hvoidmain(){inta[3][4]={{1,2,3,4},{9,7,10,6},{-1,8,-5,5}};inti,j,row=0,colum=0,max;max=a[0][0];for(i=0;i=2;i++)for(j=0;j=3;j++)if(a[i][j]max){max=a[i][j];row=i;colum=j;}printf(max=%d,row=%d,colum=%d,max,row,colum);}max=10,row=1,colum=213.#includestdio.hintf(intb[],intm,intn){inti,s=0;for(i=m;in;i+=2)s+=b[i];returns;}voidmain(){intx,a[]={1,2,3,4,5,6,7,8,9,10};x=f(a,3,8);printf(%d\n,x);}1814.#includestdio.h第9页voidswap(intb[]){int*p,*p1,*p2;p1=&b[0];p2=&b[1];p=p1;p1=p1+1;p2=p;}voidmain(){inta[]={5,9};printf(%d,%d\n,*a,*(a+1));swap(a);printf(%d,%d\n,a[0],a[1]);}5,915.#includestdio.hintb=3;intfun(int*a){b+=*a;return(b);}voidmain(){inta=2,b=2;b+=fun(&a);printf(“%d\n”,b);}716.#includestdio.hvoidmain(){inta[10],*p,*s,i;for(i=0;i10;i++)scanf(%d”,a+i);for(p=a,s=a;p-a10;p++)if(*p*s)s=p;printf(“max=%d,index=%d\n”,*s,s-a);第10页}简述上列程序完成的功能:查找数组中最大值并记录元素下标17.#includestdio.hvoidmain(){intx,y;for(y=1,x=1;y=20;y++){if(x=8)break;if(x%2==1){x+=5;continue;}x-=3;}printf(“x=%d,y=%d\n”,x,y);}运行结果:x=8,y=418.#includestdio.h#defineN3voidzz(intx[N][N]){inti,j,t;for(i=0;iN;i++)for(j=0;ji;j++){t=x[i][j];x[i][j]=x[j][i];x[j][i]=t;}}voidmain(){intstr[N][N]={1,2,3,4,5,6,7,8,9},i,j;zz(str);for(i=0;iN;i++){for(j=0;jN;j++)printf(“%3d”,str[i][j]);printf(\n);}}运行结果:147第11页25836919.#includestdio.hvoidmain(){chara[20]=abcXYZ,c;inti,j;j=strlen(a)-1;for(i=0;ji;i++,j--){c=*(a+i);*(a+i)=*(a+j);*(a+j)=c;}puts(a);}运行结果:ZXYcba20.#includestdio.hinta=100,b=200;voidf(){printf(“%d,%d\n”,a,b);a=1;b=2;}voidmain(){inta=5,b=7;f();printf(“%d,%d\n”,a,b);}运行结果:

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功