C语言期末复习题docx.docx

上传人:b****8 文档编号:11171357 上传时间:2023-02-25 格式:DOCX 页数:37 大小:32.48KB
下载 相关 举报
C语言期末复习题docx.docx_第1页
第1页 / 共37页
C语言期末复习题docx.docx_第2页
第2页 / 共37页
C语言期末复习题docx.docx_第3页
第3页 / 共37页
C语言期末复习题docx.docx_第4页
第4页 / 共37页
C语言期末复习题docx.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

C语言期末复习题docx.docx

《C语言期末复习题docx.docx》由会员分享,可在线阅读,更多相关《C语言期末复习题docx.docx(37页珍藏版)》请在冰豆网上搜索。

C语言期末复习题docx.docx

C语言期末复习题docx

基本数据类型

一、选择题

1.下列数据中,不正确的数值或字符常量是(D)。

A.0.825e2B.5L

C.OxabcdD.ol3

2.以卞字符中,不正确的C语言转义字符是(B)。

A.'WB」\018‘

C.^xaa^D.'\f

3.已知大写字母A的ASC1I码值是65,小写字母a的ASCI1码是97,贝lj用八进制表示的字符常量‘\10「是(A)。

A.字符AB.字符aC.字符eD.非法的常量

4.以下选项中可作为C语言合法整数的是(C)。

A.10110BB.0386C.OXffaD.x2a2

5.以下符合C语言语法的实型常量是(C)。

A.1.2E0.5B.3.14.159EC..5E—3D.E15

6.已定义ch为字符型变量,以下赋值中错误的是(A)o

A.ch=V;B.ch=62+3;C.ch=NULL;D.ch=^xaa';

7.已定义c为字符型变量,则下列赋值中正确的是(C)o

A.c=*97*;B.c=“97”;C.c=97;D.c=uau;

8.C语言中授基本的数据类型包括(B)o

A.整型、实型、逻辑型B.整型、实型、字符型

C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型

9.在C语言中,合法的字符常量是(B)。

A..,\084,B.*\x43*C.'abfD.”\0”

10.已知在ASCII代码中,字母A的序号为65,以下程序的输出结果是(D)。

#include

main()

{charcl=*A;c2=*Yprintf(n%d,%d\nn,cl,c2);}

A.输出格式非法,输出错误信息B.65,90C.A,YD.65,89

二、填空题

1.C语言中,常量包括整型常量、实型常量、字符型常量和字符串

常量_0

2.C语言中,数据类空包括_基本类型_、—构造类型—、_指针类型_和_

空类型O

3.字符串ab在C语言中表示为。

4.C语言中的变量实际代表内存中的一个—连续的内存单元_。

5.在C语言中,整数可用—十—进制数、_八—进制数与—十六—进制数3种来表示,以ox打头的是_±丄进制数,以o打头的是_A_进制数。

6.若有说明语句:

charc=,\O35,;则变量c包含丄个字符。

三、简答题

1.C语言的基本数据类型有儿种,分别是什么,并指出各种数据类型的关键字?

基本数据类型分为三种:

整数型、实数型(浮点型)和字符型

int、floatxdouble、char、signed、unsigned、short、long.

2.常量和变量的区别是什么?

常量:

程序运行过程中,更值不发生改变的量。

变量:

程序运行过程中,更值可以发生改变的量。

区别:

常量是定义时可以对其设置值(数值常量除外),而在其后的任何时刻都不可以改变其值的,变量是可以在定义后的任何时刻改变其值的量。

3•在程序中如何使用变量?

必须先定义再使用,定义时可以直接赋值,也可以先定义再赋值。

4.字符和字符串表示形式有什么区别?

W和有什么不同?

9和9有何不同?

空字符*(y和空格字符「有何区别?

字符型常量是用单引号括起來的•个7符,字符串常量是用双引号括起來的字符序列S'在内存中占用一个字节。

”a”在内存中占用两个字节。

9表示整数9'9'表示一个ASCII码字符,ASC的值为57。

空字符⑷的ASCII码是0空格字符,ASCII码是32.

空字符表示没有字符空格字符门表示空白字符

运算符与表达式

一、选择题

1.在下列运算符中,优先级最高的运算符是(B)。

A.<=B.%C.=D.&&

2.若有代数式ae/be,则错误的C语言表达式是(B)。

A.a/b/c*eB.a*e/b*cC.a*e/b/cD.a*e/c/b

3.已知有以下变量定义:

inti=8,k,a,b;

unsignedlongw=5;

doublex=1.42,y=5.2;

则不符合C语言语法的表达式是(D)。

A.k=i++B.(int)x+0.4C.w+=-2D.a=2*a=3

4.运行以下程序段后,x的值为(D)。

intm=3,n=4,x;

x=-m-H-;〃x=・3,m=4

x=x+8/++n;//x=-3+8/5二3+1=-2

A.3B・5C.-1D.-2

5.设有以下定义

inta=0;

doubleb=1.25;

charc='A

#defined2

则下面语句中错误的是(D)。

A.a++;B.b++;C.c++;D.d卄;

6.设有如下程序段:

intx=2002,y=2003;

printf(“%d\n”,(x,y));(逗号表达式,送出最后一个变量的值)

则以卜-敘述中正确的是(D)。

A.输岀语句屮格式说明符的个数少于输出项的个数,不能正确输岀

B.运行时产空出错信息

C.输出值为2002

D.输出值为2003

7.以下非法的赋值语句是(C)。

A.n=(i=2,++i);B.j++;C.++(汁1);D.x=j>0;

8.设a和b均为double型变量,且a=5.5、b=2.5,贝!

J表达式(int)a+b/b的值是(D)。

A.6.500000B.6C.5.500000D.6.000000

9.若有以下程序:

main()

{

intk=2,i=2,m;

m=(k+=i*=k);

printf(”%d,%d\n”,m,i);

}

执行后的输出结果是(C)。

A.8,6B.8,3C.6,4D.7,4

10.若有定义:

inta=8,b=5,c;

执行语句c=a/b+0.4;后,c的值为(B)。

A.1.4B.1C.2.0D.2

11.F列选项中哪个是合法的标识符(C)。

A.charB.5abcC.t_aD._*m2

二、填空题

1.C语言中的表达式包括—算术表达式_、一赋值表达式_、—逻辑表达式_、—关系表达式一、—逗号表达式_和_条件表达式

2.C语言中的结合方向有左结合性和右结合性。

3.若有定义:

inta=0;则执行赋值语句a+=a*=a%=a-=15;后变量a中的值是

0o000-15

4.printfC'%d\n”,(int)(2.5+3.0)/3);的输出结果是1。

5.设intx=9;执行x+=3+x%(・3);后x的值为12。

6.假设变量a为整型,则执行a=3+5护4;printf(”%d\n”,a);后的输出结果是_8。

7.条件:

“0vx<8或xW4啲C语言表达式是_(x>0&&x<8)11x<=(・4)_。

8.设x和y均为int型变量,且x=l,y=2,贝0表达式1.0+x/y的值为_1.0。

9.在C语言中,要求运算数必须是整型的运算符是一%。

10.在C语言中,表示逻辑“假"的值用c

11・表达式7>6>5的值为—0

12.设a=0,b=l,c=2,则表达式3&&00||00

a||b+c&&b==c的值是0©

三、计算卜•列各表达式的值。

1.5/2+5.0/2+7%6=2+2.5+1=5.5

2.a=3,b=4,c=5,a+b>c&&b==c0

3.a=3*5,a*4,a+520

4.5>2>10

四、编程题

1•输入一个整数,取出它的个位数部分。

^include

mainO

{

intn,gw;

printf("inputanumber:

");

scanf("%d",&n);

gw=n%10;

printf("%d\n",gw);

return0;

}

2.输入一个浮点数,分别输出它的整数部分和小数部分。

#include

main()

{

floatx,xsw;

intzsw;

prints”inputanumber:

1');

scanf(n%f\&x);

zsw=(int)x;

xsw=x-zsw;

printf("整数位=%d,小数位=%f\n”,zsw,xsw);

return0;

}

顺序结构程序设计

一、选择题

1.请选岀合法的C语言赋值语句(D)。

A.a=b=58B.(汁1)++;C.a=58,b=58D.k=(int)a+b;

2.以下选项中,不正确的赋值语句是(D)。

A.t=t+l;B.nl=(n2=(n3=0));

C.k=i=j;D.a=b+c=l;

3.若冇定义:

inta?

b,c;,要给变量a,b,c输入数据,正确的输入语句是(A)。

A.scanf("%d%d%d",&a,&b,&c);

B.scanf(”%D%D%D”,&a,&b,&c);

C.read(a,b,c);

D.scanf(”%d%d%d”,a,b,c);

4.阅读程序:

#include

main()

{

inta;floatb,c;

scanf(n%2d%3f%,&a,&b,&c);

printf(n\na=%d,b=%f,c=%f*,a,b,c);

}

若运行时从键盘上输入987654321/,则程序的输出结果是(B)。

A.a=98,b=765,c=4321B.a=98,b=765.000000,c=4321.000000

C.a=98,b=765.0,c=4321.0D.a=98.0,b=765.0,c=4321.0

5.已知字母A的ASCII码为十进制的65,下血程序的输岀结果是(A)。

#include

main()

{

charchi,ch2;

chl=,A,+'5'-,3,;65+53-51

ch2='A'+W;65+54-51'D'=68

printf(u%d,%c\n",chl,ch2);

A.67,DB.B,CC.C,DD.不确定的值

6.设有如下定义:

intx=10,y=3,z;13

则语句:

printf(u%d\n'*,z=(x%y,x/y));的输出结果是(D)。

A.1B.0C・4D.3

7.若有以下定义和语句:

charcl-b',c2-e*;

printfC*%d,%c\n",c2-cl,c2」a屮A*);

则输出结果是(B)。

A.2,MB.3,EC.2,ED.输出结果不确定

8.以下叙述中正确的是(D)。

A.输入项可以是一个实型常量,例如:

scanf(u%f',3.5);

B.只冇格式控制,没有输入项,也能正确输入数据到内存,例如:

scanf("a=%d,b=%d”)

C.输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:

scanf("%4.2f',&d);

D.当输入数据时,必须指明变量地址,例如:

scanf(n%f',&f);

二、填空题

1.结构化程序设计所规定的三种基本控制结构是顺序结构、选择结构、循环结构。

2.输出字段宽为4的十进制数应使用%4d,字段宽度为6的十六进制数应使

用%6x,八进制整数应使用%。

,字段宽度为4的字符应使用%4c,

字段宽度为8,保留3位小数的实数应使用%8.3f,字段宽度为5的字符串应使

用%5s。

3.若冇定义:

intx=0;,则执行赋值语句:

x=(x=3+5,x*5);后,变量x中的值是40o

4.下血程序的输出结果是_17,21,11o

#include

main()

{

intk=17;

printf("%d,%o,%x\n”,k,k,k);

5.若冇定义:

inta=0,b=0,c=0;用下面语句输入时scanf(n%d”,&a);

scanf("%d”,&b);

scanf("%d”,&c);

从键盘输入:

1045<回车〉

则执行输入语句后,变量a的值是_10,变量b的值是4,变量c的

值是5o

三、编程题

1.编写程序,输入两个整数,求岀它们的商数和余数并进行输岀。

#include

main()

{

inta,b;

printfC*请输入两个整数a,b:

\nM);

scanf(n%d%d”,&a,&b);

pTintf(”商为%丑余数为%d\n“,1.0*a/b,a%b);

return0;

}

2.从键盘输入一个字符,输岀这字符的ASCII码的值。

#include

main()

{

charc;

printfC1请输入一个字符c:

W);

scanf(”%c”,&c);

printf(M%d\n",c);

return0;

}

3.用x,y,z表示长方体三边边长,编写程序求其表血积a和体积v,然后进行输出。

其中x,y,z通过键盘输入。

#include

main()

{

floatx,y,z,a,v;

printf(H请依次输入长方体的三边长x,y,z:

\nu);

scanf(n%f%f&y,&z);

printf("x=%.2f,y=%.2f,z=%.2f\n",x,y,z);

a=2*(x*y+x*z+y*z);

v=x*y*z;

printf(”其表面积a=%.2f,体积v=%.2f\n”,a,v);return0;

4.编写程序,从键盘上输入两个电阻的值,求它们并联和串联的电阻值,输出结果保留两位小数。

【提示】并联和串联的电阻值计算公式如下:

并联电阻错误!

未找到引用源。

串联电阻RS二R1+R2

#include

main()

{

floatrl,r2,RP,RS;

printfC请输入rl,r2的电阻值:

”);

scanf(M%f%f',&rl,&r2);

printf(nRP=%.2fQ,RS=%.2fQ\nM,(rl*r2)/(rl+r2),rl+r2);

i

I

选择结构程序设计

一、选择题

1•对于条件表达式(m)?

(a++):

(a・・)來说,其中的表达式m等价于(C)。

A.m=0B.m==1C.m!

=0D.m!

=l

2.下述程序(B)。

main()

{

intx=0,y=0,z=0;

贞x=y+z)

printf(,,####u);

else

}

A.有语法错误,不能通过编译B.输出衬桂

C.可以编译,但不能通过连接,因而不能运行D.输出####

3.下列条件语句中,功能与英他语句不同的是(D)。

A.if(a)printf(u%d\nn,x);elseprintf(”%d\n”,y);

B.if(a=0)printf(”%d\n”,y);elseprintf(”%d\n”,x);

C.if(a!

=0)printf(”%d\n”,x);elseprintf(”%d\n”,y);

D.if(a=0)printf(H%d\nM,x);elseprintf(”%d\n”,y);

4.有以F程序:

main()

{

inta=5,b=4,c=3,d=2;

if{a>b>c)

print"%d\nM,d);

elseif((c—l>=d)==1)

print”%d\n",d+1);

else

print”%d\nH,d+2);

}

执行后输出结果是(B)。

A.2B.3C.4D.编译时有错,无结果

5.有以下程序:

main()

{

inta=3,b=4,c=5,d=2;

if(a>b)

if(b>c)

printf("%d”,d+++l);

else

printf("%d”,++d+l);

printf(n%d\n”,d);

}

程序运行后的输出结果是(A)。

A.2B.3C.43D.44

6.以下程序

inti,a=3,b=2;

i=(—a==b-H-)?

—a汁+b;

printf(Mi=%da=%db=%d”,i,a,b);

输出结果是(A)。

A.i=la=lb=3B.i=3a=2b=3C.i=4a=lb=4D.i=4a=2b=4

7.以下能够正确判断char型变量c是否为大写字母的表达式是(C)。

A.CAy=c)AND(Z>=c)B.(A*<=c)&(Z>=c)

C.CA*<=c)&&(Z*>=c)D.以上答案都不対

8.有如下程序

main()

intx=l,a=O,b=O;switch(x)

case0:

b++;

case1:

a++;

case2:

a++;b++;

}

printf(”a=%d,b=%d\n”,a,b);

}

该程序的输出结果是(A)。

A.a=2,b=lB.a=l,b=lC.a=l,b=0D.a=2,b=2

二、填空题

1.条件:

“20

2.当a=3,b=2,c=l时,执彳亍if(a>c);b=a;a=c;c=b;语句后a=1

b=3,c=3o

3.设"a=l,b=2,c=3,d=4;”则表示式"a>b?

a:

c>d?

c:

d”的值是。

4.以下程序运行的输出结果是_0。

main()

{

intp=30;

printf(,'%d\n,,,(p/32>0?

p/10:

p%3));

}

5.写出运行结果。

^include

main()

{

intx=0,y=0,z=0;

if(x=y+z)

printf(”?

”);

else

printf(”!

!

!

!

”);

}

结果:

!

!

!

!

o

6.卞列程序的功能是把从键盘上输入的整数収绝対值后输岀。

main()

{

intx;

scanf(”%d”,_&x」;

if(x<0)

X=-X;

printf(n%d\nM,x);

}

7.写出运行结果。

#include

main()

{

intx=O,a=O,b=l;

switch(x)

{

case0:

a++,b++;break;

case1:

a++;

case2:

b++;

}

printf(ua=%d,b=%d\n,,,a,b);

}

结果:

a=l,b=2o

三、编程题

1.编程实现,输入一个整数,判断该数的奇偶性(输出和应的标志:

even——偶数,

odd奇数)。

^include

main()

{

inta;

scanf(”%d”,&a);

if(a%2=0)

printf^'aiseven\nn);

else

printf(Maisodd\nn);

return0;

}

2.编程实现,输入一个平面上的点,判断它是否落在单位圆上,并显示相应的信息。

#include

main()

floatx,y;

scanf(”%f,%f;&x,&y);

ifi(x*x+y*y=l)

printf(”(x,y)在单位圆上\n“);

else

printf(n(x9y)不在单位圆上\n“);return0;

3.编程实现,给定一个整数,判断它是否能同时被3、5、7整除。

#include

main()

{

intx;

printf(”请输入一个整数x:

-);

scanf(”%d”,&x);

if((x%3==0)&&(x%5==0)&&(x%7==0))printf(n%d能同时被3、5、7整除。

\n“,x);

else

printf(”%d不能同时被3、5、7整除。

\n”,x);

return0;

}

4.编写程序,从键盘输入3个整数,按山小到大次序输出这3个数。

#include

main()

{

intx,y,z,t;

scanf(”%d%d%d”,&x,&y,&z);

if(x>y){

t=x;x=y;y=t;}

if(x>z){

t=z;z=x;x=t;}

if(y>z){

t=y;y=z;z=t;}

printf("Aftersorted:

%d%d%d\n”,x,y,z);

}

5.编写程序,输入一个x值,计算分段函数的值。

-乂x<0

y=«3x+20S.v<5

—3x25

#include

main()

floatx,y;

printff请输入x的值:

”);

scanf("%f',&x);

if(x<0)

y=(・x);

elseif(x>=0&&x<5)

y=3*x+2;

else

y=x*x-3;

printf(”尸%.2f\n”,y);

}

循环结构程序设计

一、选择题

1.在C语言中,为了结朿山while语句构成的循环,while后一对圆括号中表达式的值应该为(A)。

A.0B.1C.trueD.非0

2.如下程序段执行后输出(D)。

main()

{

intnum=0;

while(num<=2)

{

num++;

printf("%d”,num);

A.1234B.12C.1D.123

3.下血程序段执行时(A)。

x=-l;

do

{

x=x*x;

}while(!

x);

A.循环体将执行一次B.循环体将执行两次

C.循坏体将执行无限次D・提示有语法错误

4.以下的foi•循坏(B)。

for(x=0,y=0;(y!

=123)&&(x<4);x++);

A.执行3次B.执行4次

C.循坏次数不定D.是无限循坏

5.执行语句:

for(i=l;i++<4;)后,变量i的值是(B)。

A.3B.4C.5D.不定

6.下面的程序段执行后sum

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1