c语言期末复习题库_第1页
c语言期末复习题库_第2页
c语言期末复习题库_第3页
c语言期末复习题库_第4页
c语言期末复习题库_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——c语言期末复习题库\、C语言中的字符变量用保存字来说明.char

\、假使函数不要求带回值,可用来定义函数返回值为空.void

\、设c语言中,int类型数据占2个字节,则long类型数据占个字节,short类型数据占个字节.

=====(答案1)======4

======(答案2)======2

\、函数的调用是一个函数直接或间接地调用它自身.

======(答案1)======递归\、已知i=5;写出语句a=--i;执行后整型变量a的值是.======(答案1)======4

\、将数组a的首地址赋给指针变量p的语句是.

======(答案1)======p=a;

\、C语言表达式!(3c)b=a;a=c;c=b;

======(答案1)======3

\、当a=1,b=2,c=3时,执行以下程序段后b=.if(a>c)b=a;a=c;c=b;

======(答案1)======2

\、当a=1,b=2,c=3时,执行以下程序段后c=.if(a>c)b=a;a=c;

c=b;

======(答案1)======2

\、当a=3,b=2,c=1;时,执行以下程序段后2

\、以下语句输出的结果是,inta=-1;printf(\===(答案1)======a=.

if(a>b)a=b;if(b>c)b=c;elsec=b;c=a;

======(答案1)======2

\、当a=3,b=2,c=1;时,执行以下程序段后b=.

if(a>b)a=b;if(b>c)b=c;elsec=b;c=a;

======(答案1)======1

\、当a=3,b=2,c=1;时,执行以下程序段后c=.

if(a>b)a=b;if(b>c)b=c;elsec=b;c=a;

======(答案1)======2

\、若所用变量均已正确定义,则执行下面程序段后的值是.

for(i=0;i1+2,x的值为.======(答案1)======1

\、设x=2w+=-2;则w的值为.======(答案1)======3

\、设intx=1/4;则x的值为.======(答案1)======0

\、intx;x=-3+4*5-6,则x的值为.======(答案1)======11======(答案1)======-5\、intx;x=3*4%-5/6,则x的值为.======(答案1)======0\、intx;x=-3+4%-5*3,则x的值为.======(答案1)======9\、intx;x=(3+4)%5-6,则x的值为.======(答案1)======-4

\、intx=2;x*=y=z=4;则x的值为.======(答案1)======8

\、intx=2;z=x++-1;则z的值为.======(答案1)======1

\、intx=2;z=x++-1;则x的值为.======(答案1)======3

\、intx=2;z=-x+++1;则x的值为.======(答案1)======3

\、intx=2;z=-x+++1;则z的值为.======(答案1)======-1

\、intx=2;z=++x+1;则z的值为.======(答案1)======4

\、intx=2;z=++x+1;则x的值为.======(答案1)======3

\、intx=4,y=4,z=2;x=y==z;则x的值为.

======(答案1)======0

\、intx=4,y=2,z=2;x=x==(y=z);则x的值为.

======(答案1)======0

\、intx=4,y=2,z=2;z=x==(y=z);则z的值为.

======(答案1)======

0

\、intx=2,y=3,z=4;则表达式x+y>z的值为.

======(答案1)======1

\、intx=2,y=3,z=4;则表达式x+y>z则表达式x+y则表达式x||y+z的值为.

======(答案1)======1

\、intx=2,y=3,z=4;则表达式x+y则表达式!(x+y)>z的值为.

======(答案1)======0

\、intx=2,y=3,z=4;则表达式!x+y>z的值为.

======(答案1)======0

\、intx=2,y=2,z=0;则表达式x==y>z的值为.

======(答案1)======0\、intx=2,y=3,z=4;则表达式x+y>!z的值为.

======(答案1)======1

\、intx=2,y=3,z=4;则表达式x+(y>!z)的值为.

======(答案1)======3

\、已知a=10,b=15,c=1,d=2,e=0,则表达式a*bwhile(k=0)k=k-1循环体语句执行次.======(答案1)======0

\、若有定义:chars[]=\则TurboC系统为数组s开拓个字节的内存单

C)(E==0)D)(E!=0)答案:C\

\、假定所有变量均已正确定义,以下程序段运行后x的值是()。k1=1;k2=2;k3=3;x=15;

if(!k1)x--;

elseif(k2)x=4;elsex=3;A)14B)4C)15D)3答案:B\

\、执行以下语句后的输出为()。intj=-1;

if(jy)z=x;elsez=y;return(z);

A)45B)27C)18D)72答案:A\

\、以下程序的输出结果为()。}

A)15B)13

C)9D)函数调用出错答案:B\

\、以下定义不正确的是()。A)#definePI3.141592B)#defineS345

C)intmax(x,y);intx,y;{}D)staticcharc;答案:C\

\、以下程序运行结果为:#defineP3

#defineS(a)P*a*amain(){intar;ar=S(3+5);

printf(\

A)192B)29C)27D)25答案:B\

\、已知p,p1为指针变量,a为数组名,j为整型变量,以下赋值语句中不正确的是()。

A)p=B)p=a;C)p=D)p=10;答案:D\

\、经过以下的语句intj,a[10],*p;定义后,以下语句中合法的是()。

A)p=p+2;B)p=a[5];C)p=a[2]+2;D)p=答案:A\

\、两个指针变量不可以()。A)相加B)比较

C)相减D)指向同一地址答案:A\

\、若已定义x为int类型变量,以下语句中说明指针变量p的正确语句是()。

A)intp=B)int*p=x;C)int*p=D)*p=*x;答案:C\

\、关于指针概念说法不正确的是()。A)一个指针变量只能指向同一类型变量

B)一个变量的地址称为该变量的指针C)只有同一类型变量的地址才能放到指向该类型变量的指针变量之中

D)指针变量可以由整数赋,不能用浮点赋

答案:D\

\、设有说明int(*ptr)[M];其中标识符ptr是()。

A)M个指向整型变量的指针

B)指向M个整型变量的函数指针C)一个指向具有M个整型元素的一维数组的指针

D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量答案:C\\、下面选择中正确的赋值语句是(设chara[5],*p=a;)()。A)p=\B)a=\C)*p=\D)*a=\答案:A\\、具有一致类型的指针变量p与数组a,不能进行的操作是()。

A)p=a;B)*p=a[0];C)p=D)p=答案:D\

\、若有以下定义,则对a数组元素地址的正确引用是()。inta[5],*p=a;

A)pt=a;A)pt[0][0]B)*(pt+1)[2]C)*(pt[1]+2)D)*(a[0]+2答案:B\

\、若有以下定义,则对a数组元素地址的正确引用是()。inta[5],*p=a;

A)*(p+5)B)*p+2C)*(a+2)D)*puts(alp[1]);

A)AB)BC)DD)DEF答案:D\

\、设有以下语句,若0判断表达式

D)for,while和do-while循环中的循环体均可以由空语句构成答案:ABD

24.以下描述错误的是()。

A)continue语句的作用是重新开始一次循环体的执行

B)只能在循环体内和switch语句体内使用break语句

C)在循环体内使用break语句和continue语句的作用一致

D)从多重循环嵌套中退出是,只能使用goto语句答案:CD

25.以下关于数组描述错误的是()。

A)数组的大小是固定的,但可以有不同的类型的数组元素

B)数组的大小是可变的,但所有数组元素的类型必需一致

C)数组的大小是固定的,所有数组元素的类型必需一致

D)数组的大小是可变的,可以有不同的类型的数组元素答案:ABD

26.以下对二维数组a进行正确初始话的是()。A)staticcharword[]='Turbo\\0';

B)staticcharword[]={'T','u','r','b','o','\\0'};C)staticcharword[]={\D)staticcharword[]=\答案:BCD

27.在定义inta[2][3];之后,对a的引用正确的有()。

A)a[0][2]B)a[1,3]C)a[1>2][!1]D)a[2][0]答案:AC

28.以下描述正确的是()。

A)调用函数时,实参可以是表达式

B)调用函数时,实参与形参可以共用内存单元C)调用函数时,将为形参分派内存单元D)调用函数时,实参与形参的类型必需一致答案:ACD

29.以下对C语言中的函数描述不正确的有()。A)可以嵌套定义,不可以嵌套调用B)不可以嵌套定义,可以嵌套调用

C)可以嵌套定义,也可以嵌套调用D)嵌套定义和嵌套调用都不允许答案:ACD

30.以下表达正确的是()。

A)预处理命令行都必需以\开始

B)在程序中凡是以\开始的语句行都是预处理命令行

C)C程序在执行过程中对预处理命令行进行处理

D)#defineABCD是正确的宏定义答案:ABD

31.以下关于typedef的表达正确的是()。A)用typedef可以定义各种类型名,但不能用来定义变量

B)用typedef可以增加新类型

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

D)使用typedef便于程序的通用答案:ACD

判断

1.参与位运算的数据可以是任何类型的数据。答案:N

2.若有定义和语句:

inta;charc;floatf;scanf(\若通过键盘输入:

10,A,12.5,则a=10,c='A',f=12.5.答案:Y

3.若有宏定义:#defineS(a,b)t=a;a=b;b=t由于变量t没定义,

所以此宏定义是错误的。答案:N

4.在TurboC中,下面的定义和语句是合法的:file*fp;fp=fopen(\答案:N

5.若有定义和语句:

inta[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i

赋值功能的语句是()。

A)i=*p;B)*p=*C)i=D)i=**p;答案:B\\、设有定义:intn=0,*p=则以下选项中,正确的赋值语句是()。A)p=1;B)*q=2;C)q=p;D)*p=5;答案:D\

\、整型变量x=1,y=3,经以下计算后,x的值不等于6的是

A)x=(x=1+2,x*2)B)x=y>2?6:5C)x=9-(--y)-(y--)D)x=y*4/2答案:C\

\、已定义两个字符数组a,b,则以下正确的输入格式是

A)scanf(\B)get(a,b);

C)scanf(\D)gets(\答案:A\

\、函数调用:strcat(strcpy(str1,str2),str3)的功能是

A)将串str1复制到串str2中后再连接到串str3之后

B)将串str1连接到串str2之后再复制到串str3之后

C)将串str2连接到串str1之后再将串str1复制到串str3中

D)将串str2复制到串str1中后再将串str3连接到串str1之后答案:D\\、任何一个C语言的可执行程序都是从____开始执行的.

A)程序中的第一个函数B)main()函数的入口处C)程序中的第一条语句D)编译预处理语句答案:B\

\、下面表达中错误的是

A)函数的形式参数,在函数未被调用时就不被分派存储空间B)若函数的定义出现在主调函数之前,则可以不必再加说明

C)若一个函数没有return语句,则什么值也不会返回

D)一般来说,函数的形参和实参的类型要一致答案:C\

\、下面说法中错误的是

A)共用体变量的地址和它各成员的地址都是同一地址

B)共用体内的成员可以是结构变量,反之亦然

C)在任一时刻,共用体变量的各成员只有一个有效

D)函数可以返回一个共用体变量答案:D\

\、设变量定义为\x,*p=\则

while(!x!=0)s+=++x;printf(\

A)0B)1

C)语法错误D).无限循环答案:B\

\、若变量已正确定义且k的值是4,计算表达式(j=4,k--)后,j和k的值为A)j=3,k=3B)j=3,k=4C)j=4,k=4D)j=4,k=3答案:D\

\、以下语句定义pf为指向float类型变量f的指针,_____是正确的.A)floatf,*pf=f;B)floatf,*pf=C)float*pf=D)floatf,pf答案:B\

\、设变量定义为\执行以下语句时,输入_____,则a和b的值都是10.scanf(\A)1010

B)10,10

C)a=10b=10D)a=10,b=10答案:D\

\、以下关于long、int和short类型数据占用内存大小的表达中正确的是A)均占4个字节

B)根据数据的大小来决定所占内存的字节数

C)由用户自己定义

D)由C语言编译系统决定答案:D\\、若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=n/2.5;B)x==5;C)x+n=I;D)5=x=4+1;答案:A\

\、以下表达中错误的是

A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到\见名知意\

C)用户所定义的标识符必需以字母或下划线开头

D)用户定义的标识符中,大、小写字母代表不同标识答案:A\

\、以下表达中错误的是

A)可以通过typedef增加新的类型B)可以用typedef将已存在的类型用一个新的名字来代表

C)用typedef定义新的类型名后,原有类型名仍有效

D)用typedef可以为各种类型起别名,但不能为变量起别名答案:A\

\、以下字符数组长度为5的是A)chara[]={'h','a','b','c','d'};B)charb[]={'h','a','b','c','d','\\0'};C)charc[10]={'h','a','b','c','d'};D)chard[6]={'h','a','b','c','\\0'};答案:A\

\、为了避免在嵌套的条件语句if—else中产生二义性,C语言规定:else总与()配对A)缩排位置一致的if

B)其之前最近的未配对的ifC)其之后最近的ifD)同一行上的if答案:B\\、判断两个字符串是否相等,正确的表达方式是

A)while(s1==s2)B)while(s1=s2)

C)while(strcmp(s1,s2)==0)D)while(strcmp(s1,s2)=0)答案:C\

\、下面表达中错误的是

A)主函数中定义的变量在整个程序中都是有效的

B)在其它函数中定义的变量在主函数中也不能使用

C)形式参数也是局部变量

D)复合语句中定义的函数只在该复合语句中有效答案:A\

\、若inta=2,则执行完表达式a-=a+=a*a后,a的值是

A)-8B)-4C)-2D)0答案:D\

\、以下程序的执行结果是_______.main()

{intnum=0;

while(numb!=c和a>(b!=c)的执行顺序是一样的答案:C\

\、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则规律表达式(m=a>b)m=(k+=i*=k);

printf(\执行后的输出结果是______。A)8,6B)8,3C)6,4D)7,4的值为______。

A)0B)1C)2D)3答案:C\

\、为表示关系x≥y≥z,应使用的C语言表达式是______。A)(x>=y)while(iB)11,12C)11,12D)11,12答案:BCD

10.以下不符合C语言语法的实型常量是()。A)1.2E0.5B)3.14.159EC).5E-3D)E15答案:ABD

11.若以下选项中的变量已正确定义,则不正确的赋值语句是()。

A)x1=26.8%3B)x=3*x+xC)x3=0x12D)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论