C语言程序设计第二版习题参考答案Word格式.docx

上传人:b****6 文档编号:18818411 上传时间:2023-01-01 格式:DOCX 页数:50 大小:48.88KB
下载 相关 举报
C语言程序设计第二版习题参考答案Word格式.docx_第1页
第1页 / 共50页
C语言程序设计第二版习题参考答案Word格式.docx_第2页
第2页 / 共50页
C语言程序设计第二版习题参考答案Word格式.docx_第3页
第3页 / 共50页
C语言程序设计第二版习题参考答案Word格式.docx_第4页
第4页 / 共50页
C语言程序设计第二版习题参考答案Word格式.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

C语言程序设计第二版习题参考答案Word格式.docx

《C语言程序设计第二版习题参考答案Word格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第二版习题参考答案Word格式.docx(50页珍藏版)》请在冰豆网上搜索。

C语言程序设计第二版习题参考答案Word格式.docx

%d\n"

s);

}

*4.输入三角形三条边的边长,计算并输出三角形的面积。

根据三条边的边长,计算三角形面积的公式如下:

#include<

voidmain()

{

doublex,y,z,s,dime;

scanf("

%lf%lf%lf"

&

x,&

y,&

z);

dime=sqrt(s*(s-x)*(s-y)*(s-z));

}

1.

2.

3.scanf("

%f%f%f"

a,&

b,&

c);

z=a*b*c;

%f"

z);

4.s=(x+y+2)/2;

dim);

四、编程题

1.仿照例,编程序在屏幕上显示:

*****************************

MerryChristmas!

HappyNewYear!

*****************************

voidmain()

{printf("

*****************************\n"

printf("

}

2.仿照例编程,输入一个整数,计算这个数的平方。

#include<

{inta,z;

请输入一个整数:

scanf("

%d"

a);

z=a*a;

%d*%d=%d\n"

a,a,z);

*3.仿照例编程,输入两个数后,输出其中较小值。

floatmin(floatx,floaty)

{floatm;

if(x<

y)m=x;

elsem=y;

returnm;

{floata,b,c,mindata;

请输入二个数:

scanf("

%f%f"

b);

mindata=min(a,b);

较小数:

%f\n"

mindata);

*4.仿照例编程,输入a、b后,输出一元一次方程ax+b=0的解。

{floata,b,x;

请输入a、b:

x=-a/b;

printf("

x=%f\n"

x);

*5.仿照例编程,输入圆柱体的半径和高,计算并输出圆柱体的体积。

{floatr,h,s,v;

Pleaseinputrandh:

r,&

h);

v=*r*r*h;

V=%f\n"

v);

习题2

一、判断题

1.任何变量都必须要定义其类型。

2.C语言的double类型数据在其数值范围内可以表示任何实数。

3.C语言的任何类型数据在计算机内都是以二进制形式存储的。

4.isdigit(‘5’)的结果为0。

5.printf函数中格式符“%c”对应的参数只能是字符类型。

6.按格式符“%d”输出float类型变量时,截断小数位取整后输出。

7.在C语言程序中,ABC与abc是两个相同的变量。

8.scanf函数中的格式符“%d”不能用于输入实型数据。

9.格式符“%f”不能用于输入double类型数据。

10.当格式符中指定宽度时,输出的信息完全取决于所指定的宽度。

(1)T

(2)F(3)T(4)F(5)F(6)F(7)F(8)T(9)T(10)F

二、指出下列各项中哪些是C语言中的常量,并指出其类型

10,150007–0x3dπ1e0e1o7o8

‘x’‘xo’sin(3)0xf16‘\a’‘\009’

+2‘\\’‘a’+20x100h012810L

合法的C常量有:

整型常量:

007–0x3d0xf1610L

实型常量:

1e0+2

字符型常量:

‘x’‘\a’‘\\’

三、指出下列各项中哪些是C语言中的用户标识符

x_1X_2Highprintfβ3DSi/j

e2-e2countIntnumber$23next_

sizeofIFsum_12_123#NO1:

doublefor

C的用户标识符有:

x_1X_2Highe2countIntnumber

next_IFsum_12

四、单项选择题

1.C语言中,char型数据在内存中的存储形式是()。

A.原码B.反码C.补码D.ASCII码

2.若有定义语句“charc='

\72'

”则变量c()。

A.包含1个字符B.包含2个字符C.包含3个字符D.定义不合法

3.C语言中的基本数据类型包括()。

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

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

4.设c1、c2为字符型变量,执行语句“c1=getchar();

c2=getchar();

”时,从键盘输入A↙,c1和c2的值分别为()。

A.都是‘A’B.c1是‘A’,c2未输入

C.c1未输入,c2是‘A’D.c1是‘A’,c2是‘\n’

5.a、b是整型变量,执行语句“scanf("

a=%d,b=%d"

,&

a,&

b);

”,使a和b的值分别为1和2,正确的输入是()。

A.12B.1,2C.a=1,b=2D.a=1b=2

6.设c为字符型变量值为‘A’,a为整型变量值为97,执行语句“putchar(c);

putchar(a);

”后,输出结果为()。

A.AaB.A97C.A9D.aA

7.已知字母A的ASCII码值为65,以下语句段的输出结果是()。

charc1='

A'

c2='

Y'

;

%d,%d\n"

c1,c2);

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

C.A,YD.65,89

8.若要使用输入语句“scanf("

%4d%4d%10f"

i,&

j,&

x);

”,为i输入-10,为j输入12,为x输入,则正确的输入形式是()。

A.–↙B.–1012↙

C.–.67↙D.–10,12,↙

9.能正确地定义符号常量的是()。

A.#definen=10B.#definen10C.#definen10;

D.#DEFINEN10

10.在C语言中,int、char、short三种类型数据在内存中所占的字节数()。

A.由用户自己定义B.均为2个字节C.是任意的D.由机器字长决定

解:

(1)D

(2)A(3)B(4)D(5)C(6)A(7)D(8)B(9)B(10)D

五、填空题

1.charch='

$'

floatx=;

语句“printf("

%c%–\\n"

ch,x);

”的输出结果是。

$\n

2.inti=123;

floatx=–;

i=%5dx=%\n"

i,x);

i=123x=

3.charc='

a'

inta=65;

语句“putchar(c+1);

bA

4.inta=98;

语句“printf(“%d,%c,%o,%x”,a,a+1,a+2,a+3);

98,c,144,65

5.intk;

floatf;

语句“scanf(“%3d%*4d%6f”,&

k,&

f);

”↙

则k=,f=。

k=123f=

6.使用pow()函数时,程序的开头必须写一条预处理命令:

5.填空题。

(1)inti=123,j=45;

函数printf("

i,j);

的输出结果是。

123,45

(2)inti=123;

floatx=;

语句printf("

i,x);

的输出结果是。

(3)floatalfa=60,pi=3

习题3

一、根据下列数学式,写出C的算术表达式。

-(a2+b2)×

y4的C表达式:

-(a*a+b*b)*pow(y,4)

的C表达式:

(sqrt

(2)+10*10)/(pow(tan(x),-1)+

sqrt(pow(fabs(sin(x)),)

pow(x,6)-exp(5)

2*a*b+c+d)/(a+2*b-(c+d)/c/d)

二、按照要求,写出下列C的表达式。

1.写出int类型变量x为“奇数”的表达式。

x%2==1

2.Int类型变量x、y、z,写出描述“x或y中有且仅有一个小于z”的表达式。

x<

z&

&

y>

=z||x>

=z&

y<

z

3.将double类型变量y保留四位小数的表达式。

(int)(y*10000+/

4.为变量s赋值:

取变量x的符号,取变量y的绝对值。

s=(x>

=01:

-1)*(y>

=0y:

-y)

5.条件“-5≤x≤3”所对应的C逻辑表达式。

-5<

=x&

=3

6.a、b是字符变量,已知a的值为大写字母、b的值为小写字母,写出判断a、b是否为同一字母(不区分大小写)的逻辑表达式

a+32==b或b-a==321:

7.int类型变量a、b均为两位正整数,写出判断a的个位数等于b的十位数、且b的个位数等于a的十位数的逻辑表达式。

a%10==b/10&

a/10==b%10

8.写出判断某个人是否是成年人(年龄大于21),且不是老年人(年龄大于65)的逻辑表达式。

21&

=65

9.写出取变量a、b、c中最大值的条件表达式。

(a>

ba:

b)>

c(a>

b):

c

10.若字符变量ch为小写字母,则将其转换为对应的大写字母。

ch=ch>

='

ch<

z'

ch-32:

ch

三、单项选择题

1.设intx=3,y=4,z=5;

,下列表达式中值为0的是()。

A.'

x'

'

y'

B.x<

=yC.x||y+z&

y–zD.!

((x<

y)&

!

z||1)

2.已知x=10,ch='

,y=0;

,则表达式“x>

=y&

B'

y”的值是()。

A.0B.1C.“假”D.“真”

3.判断char型变量c为数字字符的正确表达式为()。

0'

<

=c<

9'

B.'

=c&

c<

C.c>

||c<

D.c>

=0&

=9

4.下列运算符中,优先级最低的是()。

A.:

B.&

C.==D.*=

5.若有条件表达式“xa++:

b--”,则以下表达式中()等价于表达式x。

A.x==0B.x!

=0C.x==1D.x!

=1

6.有定义intk=4,a=3,b=2,c=1;

,表达式“k<

ak:

bc:

a”的值是()。

A.4B.3C.2D.1

7.执行下列程序段后,变量a,b,c的值分别是()。

intx=10,y=9,a,b,c;

a=(--x==y++)--x:

++y;

b=x++;

c=y;

A.a=9,b=9,c=9B.a=8,b=8,c=10

C.a=9,b=10,c=9D.a=1,b=11,c=10

8.有定义inta=9;

,语句“a+=a–=a+a;

”执行后,变量的值是()。

A.18B.9C.–18D.–9

9.设x和y均为int型变量,则语句“x+=y;

y=x–y;

x–=y;

”的功能是()。

A.把x和y按从小到大排列B.把x和y按从大到小排列

C.无确定结果D.交换x和y中的值

10.有定义doublex=1,y;

,表达式“y=x+3/2”的值是()。

A.1B.2C.D.

11.设有定义intx;

doubley;

,则下列表达式中结果为整型的是()。

A.(int)y+xB.(int)x+yC.int(y+x)D.(double)x+y

12.设有整型变量x,下列说法中,错误的是()。

A.“”不是表达式B.“x”是表达式

C.“!

x”是表达式D.“sqrt(x)”是表达式

(1)D

(2)B(3)B(4)D(5)B(6)D(7)B(8)C(9)D(10)C(11)A(12)A

四、填空题。

1.设floatx=,y=;

inta=7;

,表达式x+a%3*(int)(x+y)%2/4值为。

2.设intx=2,y=3;

,执行语句“x*=x+y”后x的值为。

10

3.设intx=17,y=5;

,执行语句“x%=x–y”后x的值为。

5

4.设inta=6,b=4,c=2;

,表达式!

(a-b)+c-1&

b-c/2的值为。

1

5.设inta=2,b=4,x,y;

,表达式!

(x=a)||(y=b)&

的值为。

6.判断变量a、b是否绝对值相等而符号相反的逻辑表达式为。

a==-b

7.判断变量a、b中必有且只有一个为0的逻辑表达式为。

a*b==0&

a+b!

=0

8.设intm=2,n=2,a=1,b=2,c=3;

执行语句d=(m=a==b)&

(n=b>

后,m和n的值分别为。

m为0,n为2

9.设inta=2;

,表达式“a%2!

=0”的值为。

10.设charc='

,表达式“c>

||c>

Z'

”的值为。

11.写出与代数式(x+2)ex+2对应的C表达式。

(x+2)*exp(x+2)

12.设inta=2;

执行语句a=3*5,a*4;

后a的值为。

15

五、写出下列程序的输出结果。

1.

{

unsignedk,n;

%u"

n);

f\n”,r,gv);

4.输入三角形的底和高,求三角形面积。

#definePI

voidmain()

{

doublea,h,s;

printf(“请输入三角形的底,高\n”);

scanf(“%lf,%lf”,&

s=a*h/2;

printf(“三角形面积=%f\n”,s);

5.编写程序,输入一个实数后输出该数的绝对值。

doublex,y;

printf(“请输入一个实数\n”);

scanf(“%lf”,&

x);

y=x>

=0x:

-x;

printf(“|%g|=%g\n”,x,y);

6.输入梯形的上底、下底和高,求梯形面积。

doublea,b,h,s;

printf(“请输入梯形的上底,下底,高\n”);

scanf(“%lf,%lf,%lf”,&

s=(a+b)*h/2;

printf(“梯形面积=%f\n”,s);

7.输入矩形的边长,求矩形面积。

doublea,b,s;

printf(“请输入矩形的长,宽\n”);

s=a*b;

printf(“矩形面积=%f\n”,s);

8.已知等差数列的第一项为a,公差为d,求前n项之和,a、d、n由键盘输入。

inta,d,n,sum;

printf(“请输入等差数列的首项公差项数\n”);

scanf(“%d%d%d”,&

d,&

sum=a*n+n*(n-1)*d/2;

printf(“sum=%d\n”,sum);

9.编写程序,将d天h小时m分钟换算成分钟,输入d、h、m,输出换算结果。

intd,h,m,t;

printf(“请输入天小时分钟\n”);

h,&

m);

t=d*24*60+h*60+m;

printf(“%d天%d小时%d分钟=%d分钟\n”,d,h,m,t);

10.编写程序,求出给定半径r的圆以及内接正n边形的面积,输出计算结果。

r和n的值由键盘输入。

doubler,s1,s2;

intn;

printf(“Inputrn\n”);

scanf(“%lf%d”,&

s1=PI*r*r;

s2=n/*r*r*sin(2*PI/n);

printf(“圆面积=%f,正内接%d边形面积=%f\n”,s1,s2);

习题4

一、单项选择题

1.下列语句将小写字母转换为大写字母,其中正确的是()。

A.if(ch>

)ch=ch-32;

B.if(ch>

C.ch=(ch>

)ch-32:

'

D.ch=(ch>

ch;

2.下列各语句中,能够将变量u、s中最大值赋给变量t的是()。

A.if(u>

s)t=u;

t=s;

B.t=s;

if(u>

C.if(u>

s)t=s;

elset=uD.t=u;

3.假设变量x、k都已定义,下列语句片段中,无语法错误的是()。

A.switch(x){

casex>

=90:

putchar('

casex<

60:

E'

B.switch(x){

case1+2:

k='

defualt:

case2*4:

C.switch(x){

case2+x:

k=x-2;

case3*x:

k=x+3;

default:

k=0;

D.switch(x){

case:

k=*x;

k=8*x;

*4.与语句while(!

s)中的条件等价的是()。

A.s==0B.s!

=0C.s==1D.s=0

5.下列语句中,哪一个可以输出26个大写英文字母()。

A.for(a='

a<

printf("

%c"

,++a));

B.for(a='

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

当前位置:首页 > 经管营销

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

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