C语言期末考试复习题4_第1页
C语言期末考试复习题4_第2页
C语言期末考试复习题4_第3页
C语言期末考试复习题4_第4页
C语言期末考试复习题4_第5页
已阅读5页,还剩31页未读, 继续免费阅读

下载本文档

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

文档简介

单选复习题

1.D、WORDVoiddefine

下列定义变量的语句中错误的是O答案:C

A、int_intB、doubleint_知识点:常量、变量和标识符

C>charForD、floatUS$

答案:D7.

知识点:常量、变量和标识符C语言中最简单的数据类型包括o

A、整型、实型、逻辑型

2.B、整型、实型、字符型

以下不合法的用户标识符是oC、整型、字符型、逻辑型

A、j2_KEYB、DoubleD、整型、实型、逻辑型、字符型

C、4dD、_8_答案:B

答案:C知识点:常量、变量和标识符

知识点:常量、变量和标识符

8.

3.下列选项中,合法的C语言关键字是O

以下4组用户定义标识符中,全部合法的一A、VARcherC>integerD、default

组是______o答案:D

A、_mainencludesin知识点:常量、变量和标识符

B、If-maxturbo

9.

C、txtREAL3C0M

以下不能定义为用户标识符的是。

D、intk_2_001

A、MainB、0C>intD、sizeof

答案:A

答案:D

知识点:常量、变量和标识符

知识点:常量、变量和标识符

4.

10.

以下定义语句中正确的是o

下列叙述中正确的是。

A、chara=,A'b=,B';

A、C语言中既有逻辑类型也有集合类型

B、floata=b=10.0;

B、C语言中没有逻辑类型但有集合类型

C>inta=10,*b=&a;

C、C语言中有逻辑类型但没有集合类型

D、float*a,b=&a;

D、C语言中既没有逻辑类型也没有集合类型

答案:C

总识点:常量、变量和标识符答案:D

石识点:常量、变量和标识符

5.

11.

以下不能定义为用户标识符的是o

当c的值不为0时,在卜,列选项中能正确将c

A、scanfB、Void

的值赋给变量a、b的是o

C、_3com_D>int

A、c=b=a;B、(a=c)II(b=c);

答案:D

知识点:常量、变量和标识符C、(a=c)&&(b=c);D、a=c=b;

答案:C

6.知识点:赋值表达式

以下有4组用户标识符,其中合法的一组是

12.

以下选项中非法的表达式是o

A、For-subCase

A、0<=x<100B、i=j==0

B、4dDOSize

C、(char)(65+3)D、x+l=x+l

C、f2_G3IFabc

答案:D

知识点:赋值表达式%3.lf\n,z,a,c,f,x);

}

13.

程序运行后输出结果是。

以下程序的输出结果是O

A、16516.5

ttinclude<stdio.h>

B、1651.56.5

main()

C、1651.06.5

(

D、2651.56.5

inta,b,d=241;

答案:B

a=d/100%9;知识点:赋值表达式

b=(-1)&&(-1);

printf(z,%d,%d\n〃,a,b);17.

)若变量a、i已正确定义,且i已正确赋值,

A、6,1B、2,1C、6,0D、2,0合法的语句是。

答案:BA、a==lB、++i;C、a=a++=5;D、a=int(i);

知识点:赋值表达式答案:B

知识点:赋值表达式

14.

以下循环体的执行次数是o18.

main()若变量已正确定义并赋值,下面符合C语言

(语法的表达式是=

inti,j;A、a:=b+lB、a=b=c+2

for(i=0,j=l;i<=j+l;i+=2,j—)C>int18.5%3D^a=a+7=c+b

printf(/z%d\n”,i);答案:B

知识点:赋值表达式

)

A>3B、2C、1D、020.

答案:c设变量x为float型且已赋值,则以下语句中

知识点:赋值表达式

能将x中的数值保留到小数点后两位,并将

第三位四舍五入的是______O

15.

有以下定义语句A、x=x*100+0.5/100.0

doublea,b;intw;longc;B、x=(x*100+0.5)/100.0

若各变量已正确赋值,则下列选项中正确的C、x=(int)(x*100+0.5)/100.0

表达式是oD、x=(x/100+0.5)*100.0

A、a=a+b=b++答案:c

知识点:赋值表达式

B、w%((int)a+b)

C>(c+w)%(int)a

D、w=a=b;22.

答案:C在一个C程序中O

知识点:赋值表达式A、main函数必须出现在所有函数之前

B、main函数可以在任何地方根现

16.

有如下程序C、main函数必须出现在所有函数之后

D、main函数必须出现在固定位置

main()

答案:B

(

知识点:简单C语言程序的构成和格式

inta;charc=10;

floatf=100.0;doublex;23.

a=f/=c*=(x=6.5);以下说法中正确的是。

printf(/z%d%d%3.IfA、#define和printf都是C语句

B、#define是C语句,而printf不是A、1.2E0.5B、3.14159E

C、printf是C语句,但#define不是C、.5E-3D、E15

答案:

D、#define和printf都不是C语句赢只点C:实型数据

答案:D

知识点:简单C语言程序的构成和格式

30.

24.若k是int型变量,且有下面的程序片段表达式3.6-5/2+1.2+5%2的值是______。

k=-3A、4.3B、4.8C、3.3D、3.8

答案:

if(k<=0)printf(〃####〃)》识点D:算术表达式

elseprintf("&&&&”);

上面程序片段的输出结果是______031.

A、####B、&&&&C、####&&&&设inta=12,则执行完语句a+=a-=a*a后,a

D、有语法错误,无输出结果的值是O

答案:DA、552B、264C、144D、-264

知识点:简单C语言程序的构成和格式答案:D

知识点:算术表达式

25.

以下4个选项中,不能看作一条语句的是32.

以下变量x、y、z均为double类型且已正确

A、{;}B、a=0,b=0,c=0;赋值,不能正确表示数字式子x/(y*z)的C

C>if(a>0);D、if(b==0)m=l;n=2;语言表达式是O

答案:D

总识点:简单C语言程序的构成和格式A、x/y*zB、x*(l/(y*z))

C、x/y*l/zD>x/y/z

答案:A

26.知识点:算术表达式

有以卜程序

main()33.

(若有定义:inta=8,b=5,c;,执行语句

inta=0,b=0;c=a/b+0.4;后,c的值是_

a=10;/*给a赋值*/A、1.4B、1C、2.0D、2

b=20;/*给b赋值*/答案:B

printf(//a+b=%d\nz,,a+b);知识点:算术表达式

)

34.

程序运行后的输出结果是O设有定义:floata=2,b=4,h=3;,以下C语言

A、a+b=10B、a+b=30C、30D、出错表达式与代数式1/2((a+b)h)计算结果不

答案:B

相符的是o

知识点:简单C语言程序的构成和格式

A、(a+b)*h/2B、(1/2)*(a+b)*h

27.C、(a+b)*h*l/2D、h/2*(a+b)

以下选项中,不能作为合法常量的是答案:B

知识点:算术表达式

______________O

A、1.234e04B、1.234e0.4

35.

C、1.234e+4D、1.234e0假定x和y为double型,表达式x=2,y=x+3/2

答案:B

K识点:实型数据的值是o

A、3.500000B、3

28.C、2.000000D、3.000000

以下符合C语言语法的实型常量是o答案:D

知识点:算术表达式

printf(〃%d,%d,%d\n,/,u,v,w);

36.则输出结果是:______。

若已定义x和y为double类型,则表达式

A、8,16,10B、10,10,10

x=l,y=x+3/2的值是o

C、8,8,10D、8,10,10

A、1B、2C、2.000000D、2.500000答案:A

答案:C知识点:整型数据

知识点:算术表达式

42.

37.在C语言中,不正确的int类型的常数是

若有以下程序段

intcl=l,c2=2,c3;

A、32768B、0C、037D、OxAF

c3=l.0/c2*cl;答案:A

则执行后,c3中的值是o知识点:整型数据

A、0B,0.5C、1D、2

答案:A43.

知识点:算术表达式以下程序的输出结果是o

main()

38.(

设有int则表达式(x++*1/3)的值

intk=17;

是______。

printf(z,%d,%o,%x\n〃,k,k,k);

A、3B、4C、11D、12

)

答案:A

A、17,021,0x11B、17,17,17

知识点:算术表达式

C、17,0x11,021D、17,21,11

39.答案:D

下列程序的输出结果是O知识点:整型数据

main()

44.

(

下面程序的输出是。

doubled=3.2;intx,y;main()

x=1.2;y=(x+3.8)/5.0;

(

printfC%d\n〃,d*y);

unsigneda=32768;

}

printf(〃a=%d\n〃,a);

A、3B、3.2C、0D、3.07)

答案:C

A、a=32768B、好32767

知识点:算术表达式

C、a=-32768D、

40.答案:C

请读程序片段:知识点:整型数据

inti=65536;

45.

printf(〃%d\n〃,i);

在C语言中,合法的长整型常数是—

上面程序片段的输出结果是______。A、0LB、4962710

A、65536B、0

C、324562&D、216D

C、有语法错误,无输出结果D、-1答案:A

答案:B知识点:整型数据

知识点:整型数据

46.

41.C语言中运算对象必须是整型的运算符是

若有以下定义和语句:

intu=010,v=0xl0,w=10;

A、%=B、/C>=D、<=以下叙述中正确的是O

答案:AA、程序输出大写字母M

知识点:整型数据B、程序输出小写字母m

C、格式说明符不足,编译出错

47.

以下选项中不属于C语言的类型名称是D、程序运行时产生出错信息

答案:B

知识点:自加、自减运算符和逗号运算符

A、signedshortint

B、unsignedlongint51.

C、unsignedint以下程序的输出结果是o

D、longshortmain()

答案:

》识点D:整型数据(

inta;

printf(,z%d\nz,,(a=3*5,a*4,a+5));

48.

有以「程序)

main()A、65B、20C、15D、10

答案:B

(

知识点:自加、自减运算符和逗号运算符

intm=0256,n=256;

printf("%o%o\n〃,m,n);53.

}设有如下程序段

程序运行后的输出结果是Ointx=2002,y=2003;

A、02560400B、0256256printf(x,y));

C、256400D、400400则以下叙述中正确的是o

答案:CA、输出语句中格式说明符的个数少于输出

知识点:整型数据项的个数,不能正确输出

B、运行时产生错误信息

49.

若执下面程序时从键盘上输入5,C、输出值为2002

main()D、输出值为2003

答案:D

(

知识点:自加、自减运算符和逗号运算符

intx;

scanf&x);54.

if(x++>5)printf(〃%d\n〃,x);有以下程序

elseprintf("%d\n〃,x-);main()

)(

则输出是______Ointx,y,z;

A、7B、6C、5D、4x=y二l;

答案:Bz=x++,y++,++y;

知识点:自加、自减运算符和逗号运算符printf("%d,%d,%d\n〃,x,y,z);

}

50.

有以下程序程序运行后的输出结果是O

main()A、2,3,3B、2,3,2C、2,3,1D、2,2,1

答案:c

{益识点:自加、自减运算符和逗号运算符

charal='M',a2='m,;

printf("枇\n〃,(al,a2));55.

)设有以卜.定义

inta=0;printfx);

doubleb=l.25;else

charc-A';printf(,,%d\n/z,x--);

#defined2}

则下面语句中错误的是______。A、7和5B、6和3C、7和4D、6和4

A、a++;B、b++;C、c++;D、d++;答案:A

答案:D知识点:自加、自减运算符和逗号运算符

知识点:自加、自减运算符和逗号运算符

60.

56.若t为double类型,表达式t=l,t+5,t++的值

以下程序的输出结果是。是。

main()A、1B、6.0C、2.0D、1.0

(答案:D

intx=10,y=10;知识点:自加、自减运算符和逗号运算符

printf(z,%d%d\n〃,x--,--y);

61.

)以下程序的输出结果是o

A、1010B、99C、910D、109#include<stdio.h>

答案:D

main()

知识点:自加、自减运算符和逗号运算符

(

57.inti=10,j=10;

若x和y都是int型变量,x=100.y=200,且printf(〃%d,%d\n〃,++i,j--);

有下面的程序片段)

printf(x,y));A、11,10B、9,10C、010,9D、10,9

上面程序片段的输出结果是o答案:A

A、200B、100C、100200知识点:自加、自减运算符和逗号运算符

D、输则格式符不够,输出不确定的值

62.

答案:A有以下程序

知识点:自加、自减运算符和逗号运算符

main()

58.(

设有如下定义:inty=10;

intx=10,y=3,z;while(y-);

则语句printf(,/y=%d\n,,,y);

printf(〃96d\n〃,z=(x%y,x/y));)

的输出结果是______O程序执行后的输出结果是______。

A、1B、0C、4D、3A^y=0B、y=-lC、y=l

答案:DD、while构成无限循环

总识点:自加I、自减运算符和逗号运算符

答案:B

知识点:自加、自减运算符和逗号运算符

59.

两次运行下面的程序,如果从键盘上分别输63.

入6和4,则输出结果是o以下叙述中正确的是O

main()A、全局变量的作用域一定比局部变量的作

{用域范围大

intx;B、静态(static)类别变量的生存期贯穿于

scanf(〃%d〃,&x);整个程序的运行期间

if(x++>5)C、函数的形参都属于全局变量

D、未在定义语句中赋初值的auto变量和a[]={l,2,3,4,5},b[]={6,7,8,9,},s=0;

static变量的初值都是随机值s=fun(a,5)+fun(b,4);

答案:Bprintf(〃%d\n〃,s);

知识点:局部变量及其作用域和生存期)

程序执行后的输出结果是______。

64.

下面程序的输出是______»A、45B、50C、60D、55

答案:C

fun3(intx)而识点:局部变量及其作用域和生存期

(

staticinta=3;67.

a+=x;以下程序执行后sum的值是o

return(a);main()

)(

main()inti,sum;

{for(i=l;i<6;i++)sum+二i;

intk=2,m=l,n:printf("%d\n〃,sum);

n=fun3(k);)

n=fun3(m);A、15B、14C、不确定D、0

printf("刎\n",n);答案:C

)知识点:局部变量及其作用域和生存期

A、3B、4C、6D、9

68.

C

答案:以下程序的输出结果是o

知识点:局部变量及其作用域和生存期

main()

65.以下叙述中正确的是_____。(

A、局部变量说明为static存储类,其生存intk=4,m=l,p;

期将得到延长p=func(k,m);printf(〃%d,〃,p);

B、全局变量说明为static存储类,其作用p=func(k,m);printf(〃%d\n〃,p);

域将被扩大)

C、任何存储类的变量在未赋初值时,其值func(inta,intb)

都是不确定的(

D、形参可以使用的存储类说明符与局部变staticintm=0,i=2;

量完全相同i+=m+l;m=i+a+b;

答案:Areturn(m);

知识点:局部变量及其作用域和生存期)

A、8,17B、8,16C、8,20D、8,8

66.

答案:A

有以下程序知识点:局部变量及其作用域和生存期

intfun(intx[],intn)

(69.

staticintsum=0,i;设有以下函数:

for(i=0;i<n;i++)sum+=x[i];f(inta)

returnsum;(

}intb=0;

main()staticintc=3;

(b++;

intC++;

return(a+b+c);inta=5,b=7;

}fun();

如果在下面的程序中调用该函数,则输出结printf("%d%d\n”,a,b);

果是O)

main()A、100200

(B、57

inta=2,i;C、200100

for(i=0;i<3;i++)D、75

printf("%d\n”,f(a));答案:B

)知识点:全局变量及其作用域和生存期

A、7B、11C、13D、7

、8772.

有如下程序

97

intfunc(inta,intb)

答案:A{return(a+b);}

知识点:局部变量及其作用域和生存期

main()

70.(

有以下程序intx=2,y=5,z=8,r;

fun(intx,inty)r=func(func(x,y),z);

(printf(〃%d\n〃,r);

staticintm=0,i=2;)

i+=m+l;该程序的输出结果是O

m=i+x+y;A、12B、13C、14D、15

returnm;答案:D

)知识点:调用函数和被调用函数之间的数据传递

main()73.

(有以下程序

intj=l,m=l,k;voidf(intv,intw)

k=fun(j,m);printf("%d,”,k);(

k=fun(j,m);printf(〃%d\n〃,k);intt;

)t=v;v=w;w=t;

执行后的输出结果是。)

A、5,5B、5,11C、11,11D、11,5main()

答案:B{

知识点:局部变量及其作用域和生存期

intx=l,y=3,z=2;

71.if(x>y)f(x,y);

以下程序的输出结果是elseif(y>z)f(y,z);

inta,b;elsef(x,z);

voidfun()printf("%d,%d,%d\n”,x,y,z);

()

a=100;执行后输出结果是O

b=200;A、1,2,3B、3,1,2C、l,3,2D>2,3,1

答案:C

}益识点:调用函数和被调用函数之间的数据传递

main()

74.

有以下程序答案:B

voidf(intx,inty)知识点:函数的调用

(

81.

intt;当执行下面的程序时,如果输入ABC,则输

if(x<y){t=x;x=y;y=t;}

出结果是______o

)

#include〃stdio.h〃

main()#include"string.h〃

(

main()

inta=4,b=3,c=5;(

f(a,b);f(a,c);f(b,c);charss[10]="12345〃;

,z,z

printf(%d,%d,%d\n,a,b,c);gets(ss);

)

strcat(ss,“6789”);

执行后输出结果是oprintf(〃%s\n”,ss);

A、3,4,5)

B、5,3,4A、ABC6789B、ABC67

C、5,4,3C、12345ABC6D、ABC456789

D、4,3,5答案:A

答案:D知识点:函数的调用

知识点:调用函数和被调用函数之间的数据传递

82.

75.有以下程序有如下程序

intfunl(doublea){returna*=a;}longfib(intn)

intfun2(doublex,doubley)(

(if(n>2)

doublea=0,b=0;return(fib(nT)+fib(n-2));

a二funl(x);elsereturn(2);

b=funl(y);}

return(int)(a+b);main()

){printf("%ld\n”,fib(3));}

main()该程序的输出结果是______o

(A、2B、4C、6D、8

doublew;答案:B

w=fun2(l.1,2.0);知识点:函数的调用

)

83.

程序执行后变量W中的值是o

设函数fun的定义形式为

A、5.21B、5C、5.0D、0.0voidfun(charch,floatx){....}

答案:C

则以下对函数fun的调用语句中,正确的是

知识点:调用函数和被调用函数之间的数据传递

80.A、fun("abc”,3.0);B、t=fun('D*,16.5);

在调用函数时,如果实参是简单变量,它与C、fun('65',2.8);D、fun(32,32);

对应形参之间的数据传递方式是O答案:D

A、地址传递知识点:函数的调用

B、单向值传递

84.

C、由实参传给形参

有以下程序

D、再由形参传回实参

charfun(charx,chary)

在C语言中,形参的缺省存储类是______。

if(x<y)returnx;A>autoB>registerC>staticD>extern

returny;答案:A

)知识点:函数的

温馨提示

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

评论

0/150

提交评论