C语言总复习资料-绝对经典

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

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

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

资源描述

2005年C语言复习课1.下列四个叙述中,错误的是()。A.C语言中的关键字必须小写B.变量的存储类型决定了变量的存储位置及其生存期C.宏定义必须以#define开头,行末必须加分号D.C语言中的注释行可以出现在程序的任何位置2.下列四个叙述中,错误的是()。A.一个C源程序必须有且只能有一个主函数B.一个C源程序可以含一个或多个子函数C.在C源程序中注释说明必须位于语句之后D.C源程序的基本结构是函数cc3.对两个静态变量k1,k2进行初始化:staticchark1=A;staticchark2='A';则下列叙述正确的是________A.上述语句有错误B.K1=K2='A'C.K1是字符串,K2是字符D.K1是字符,K2是字符串4.C语言提供的合法的数据类型关键字是_________A.DoubleB.shortC.integerD.CharAB5.设x为int型变量,则执行语句x=10;x+=x-=x-x;后,x的值为()。A.10B.20C.40D.306.以下程序的输出结果是________#includestdio.h#includemath.hmain(){inta=1,b=4,c=2;floatx=10.5,y=4.0,z;z=(a+b)/c+sqrt((double)y)*1.2/c+x;printf(“%f\n”,z);}A.14.000000B.15.400000C.13.700000D.14.900000BC7.设r,s,t为实型变量,代数式rs/10t在C程序中的正确写法是________。A.rs/10tB.r*s/10tC.r*s/10/tD.r*s/10*t8.为表示关系y在闭区间【x,z】内,应使用的C语言表达式是()。A.(x=y)&&(y=z)B.(x=y)AND(y=z)C.x=y=zD.(x=y)&(y=z)CA9.下列叙述中,正确的是()。A.输入项可以是一个实型常量,如:scanf(%f,3.5);B.只有格式控制,没有输入项,也能正确输入数据到内存,如:scanf(a=%d,b=%d);C.当输入一个实型数据时,格式控制部分可以规定小数点后的位数,如:scanf(%4.2f,&f);D.当输入数据时,必须指明变量地址如:scanf(%f,&f);D10.printf函数中用到格式符“%5s”,如果输出的字符串长度大于5,则输出方式是()。A.从左起输出该字符串,右补空格B.按原字符串长从左向右全部输出C.右对齐输出该字符串,左补空格D.输出错误信息12.若定义intx;floaty;且执行scanf(%3d,%f,&x,&y);语句时,从第一列开始输入数据12345,678回车,则x的值为()。A.12345B.123C.45D.345BB13.设charc1='a',c2='A';则表达式c1==c2+32?c1:(c1=c2+32)的值为()。A.1B.0C.'a'D.'A‘14.运行以下程序段的运行结果是()。intx=1,y=2,z=3,a=-1;if(x=y)a=0;elseif(zy)a=1;printf(%d%d%d%d\n,x,y,z,a);A.1231B.1230C.123-1D.编译时报语法错误,不能执行CB15.设inta=1,b=2,c=3,d=4,z;则表达式(ab)?(z=c):(z=d)的值为()。A.4B.2C.1D.316.在C语言中,switch语句后一对圆括号中表达式的类型()。A.可以是任何基本类型B.只能为int类型C.只能是整型或字符型D.只能是整型或实型AA17.下面的程序()main(){intx=3;do{printf(“%d\n”,x-=2);}while(!(-x));}A.输出的是1B.输出的是1和-2C.输出的是3和0D.是死循环18.C语句中下列()语句可实现循环结构设计A.continueB.switchC.forD.breakAC19.运行下面程序段的输出结果是()。intn,a,s=0,p=1,i;n=2;a=2;for(i=1;i=n;++i){p=p*a;s+=p;}printf(“\ns(%d,%d)=%d,a,i,s);A.s(2,2)=6B.s(2,3)=6C.s(1,2)=6D.s(2,2)=5B20.下列各程序段中,不能实现1+2+3+...+10求和的是()。A.inti=0,s=0;while(i=10){s+=i,i++;}B.inti,s;for(s=0,i=1;i11;i++)s+=i;C.inti=0,s=0;do{s+=i;,++i;}while(i=10);D.inti,s;for(s=0,i=1;i=10;)s+=i;D21.运行下面程序段的输出结果是()。staticinta[7]={1,3,5};printf(%d\n,a[3]);A.0B.5C.3D.不确定数22.若有说明charc[]=China;则对该数组元素的正确引用是()。A.c[3+4]B.c(2)C.c[1*3]D.c{5}AC23.若要用下面的程序片段使指针变量p,指向一个存储整型变量的动态存储单元:int*p;即p=malloc(sizeof(int));则应填入A.intB.int*C.(*int)D.(int*)24.若定义intb=8,*p=&b;则下面均表示b的地址的一组选项为()。A.*p,*&bB.*p,&*bC.p,*&b,&*pD.&*p,p,&bDD25.下列关于函数的叙述不正确的是______________A.一个函数可以没有返回值B.一个函数可以用return语句返回两个以上的值C.用外部变量可以在函数间传递数据D.函数无法返回值时,类型为void26.若函数实参是数组名时,则以下叙述中,正确的是()。A.必须在调用函数中说明此数组的大小B.实数组类型与形参数组类型可以不相同C.在被调用函数中,形参数组必须与实参数组大小相等D.实数组名与形参数组名必须一致BA27.定义联合数据类型union{inta;intb;intc;intd;}x;执行语句x.a=2;x.b=3;x.c=4;x.d=5;后,x.b的值为()。A.2B.3C.4D.5D28.定义以下结构体类型structs{inta;floatf;};语句printf(%d,sizeof(structs))的输出结果为()。A.2B.3C.4D.6D29.C语言中,宏定义有效范围从定义处开始,到本源文件结束处终止。但可以用_____来提前解除宏定义的作用。A.#ifndefB.#endifC.#undefineD.#undef30.程序中定义以下宏#definew2#defineL4+w若定义intval;且令val=L*L,则变量val的值为()。A.12B.14C.20D.36DB31.当a=5,b=4,c=9时,语句a++=5&&b--=2&&c++?printf(***a=%db=%dc=%d\n,a,b,c):printf(###a=%db=%dc=%d\n,a,b,c);的执行结果是()。A.###a=6b=3c=9B.***a=6b=3c=9C.###a=6b=3c=10D.***a=6b=3c=10A32.有以下程序:#includestdio.hmain(){intc;while((c=gether())!=’\n’){switch(c-‘2’){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break}}printf(“\n”);}从第一列开始输入以下数据,CR代表一个回车符.2473CR程序的输出结果是__________A.668977B.668966C.66778777D.6688766A33.下面程序的输出是_________main(){inty=9;for(;y0;y--){if(y%3==0){printf(“%d”,--y);continue;}}}A.741B.852C.963D.875421B•34.下面程序的输出是•#includestring.h•main()•{char*a=abcdefgh;•fun(a);puts(a);}•fun(char*s)•{intx=0,y;charc;•for(y=strlen(s)-1;xy;x++,y--)•{c=s[x];s[x]=s[y];s[y]=c;}•}•A.abcdefghB.hgfdecba•C.dcbahgfeD.hgfedcbaD35.请选出以下程序的输出结果是_________#includestdio.hmain(){inta[]={1,2,3,4},i;intx=0;for(i=0;i4;i++){sub(a,x);printf(“%d”,x);}printf(“\n”);}sub(s,y)int*s,y;{staticintt=3;y=s[t];t--;}A.1234B.4321C.0000D.4444C37【程序】#includestdio.hmain(){intx=1,i=1;for(;x50;i++){if(x10)break;if(x%2!=0){x+=3;continue;}x-=1;}printf(%d\n,x);输出为【37】printf(%d\n,i);输出为【38】}【37】A.10B.12C.11D.14【38】A.8B.9C.10D.7BC38.下面程序从一个二进制文件中读入结构体数据,并把结构体数据显示在终端屏幕上,请选择正确的答案填入程序空白处。#includestdio.hmain(){structdatarec{chars;inta;floatc;}r;FILE*fp;if((fp=fopen(file.dat,rb))==NULL){printf(Can'topeninputfile\n);exit(0);}while(【39】){【40】;printf(%c,%d,%f\n,r.s,r.a,r.c);}fclose(fp);}【39】A.feof(fp)!=0B.!feof(fp)C.feof(fp)D.feof(fp)!=NULL【40】A.fread(&r,1,sizeof(structdatarec),fp)B.fread(r,sizeof(structdatarec),1,fp)C.fread(r,1,sizeof(structdatarec),fp)D.fread(&r,sizeof(structdatarec),1,fp)BD39.【程序】externinta;main(){inti;for(i=1;i4;i++){++a;printf(%d,a);s();}}inta=9;ints(){inta=100;staticintb=10;++a;printf(%d,%d\n,a,b);b+=10;}程序输出第一行为【41】;程序输出第二行为【42】;程序输出第三行为【43】。【41】A.1,10,10B.10,101,10C.10,11,10D.1,101,10【42】A.11,101,20B.102,101,10C.11,101,10D.101,11,20【43】A.102,101,10B.12,102,30C.102,101,30D.12,101,30BAD1、阅读下面程序,写出结果f(a)inta;{autointb=0;staticintc=6;b+=1;c+=1;return(a+b+c);}main(){inta=2,i;for(i=0;i3;i++)printf(“%3d”,f(a));}1011122、阅读下面程序,写出结果swap(int*a,int*b){int*t;t=a,a=b,b=t;printf(“%d,%d\n”,

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

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

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

×
保存成功