C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx

上传人:b****1 文档编号:3748664 上传时间:2023-05-02 格式:DOCX 页数:85 大小:35.67KB
下载 相关 举报
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第1页
第1页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第2页
第2页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第3页
第3页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第4页
第4页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第5页
第5页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第6页
第6页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第7页
第7页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第8页
第8页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第9页
第9页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第10页
第10页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第11页
第11页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第12页
第12页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第13页
第13页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第14页
第14页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第15页
第15页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第16页
第16页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第17页
第17页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第18页
第18页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第19页
第19页 / 共85页
C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx_第20页
第20页 / 共85页
亲,该文档总共85页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx

《C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx(85页珍藏版)》请在冰点文库上搜索。

C语言程序设计教程第2版课后习题答案杨路明Word文件下载.docx

①main()

{printf("

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

);

printf("

welcomeyou 

\n"

verygood 

\n);

}

②main()

inta,b,c,t;

pleaseinputthreenumbers;

"

scanf("

%d,%d,%d"

&

a,&

b,&

c);

/*课本S是过错的*/

t=max(max(a,b),c);

maxnumberis:

%d\n"

t);

intmax(intx,inty)

{intz;

if(x>

y)z=x;

elsez=y;

return(z);

运转后果:

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

welcomeyou

verygood

3,1,4/*左侧下划线内容为键盘输入*/

7

一个C次序是由假设干个函数形成的,此中有且只能有一个___函数。

main()

8

在TurboC情况下进展次序调试时,能够运用Run下拉菜单的___下令或按___键转到用户屏幕检查次序运转后果。

1、Userscreen

2、Alt+F5

9

★C言语对标识符与要害字有些什么规则?

1、标识符用来表现函数、范例及变量的称号,它是由字母、下划线跟数字构成,但必需用字母或下划线扫尾。

2、要害字是一种言语中规则存在特定含意的标识符,其不克不及作为变量或函数名来运用,用户只能依照零碎的规则运用它们。

10

C源次序输入后是怎样进展保管的?

是以C为扩年夜名保管的纯文本文件。

第二章 C言语次序的根本数据范例与表白式

-习题谜底

1

★指出以下常数中哪些是契合C语法例则的。

'

\'

--×

101'

\"

e3--×

019--√ 

0x1e--√ 

ab\n"

--√ 

1.e5--×

(2+3)e(4-2)--×

5.2e2.5--×

2

请寻出以下次序中的过错,矫正后写出次序运转后果。

①voidmain()

{intx,y=z=5,aver;

x=7

AVER=(x+y+z)/3

AVER=%d\n"

aver);

②voidmain()

charc1='

a'

;

c2='

b'

c3='

c'

inta=3.5,b='

A'

a=%db=\'

end\n"

a,b);

a%cb%c\bc%c\tabc\n"

c1,c2,c3);

{intx,y=5,z=5,aver;

x=7;

aver=(x+y+z)/3;

AVER=5

c2='

c3='

inta=3,b='

a=%d,b=\'

%c\'

end\"

a=3,b='

end"

     aabcc 

abc

3

写出以下赋值的后果,表格中写了数值的是要将它赋给其余范例的变量,将一切的空格填上赋值后的数据〔实数保管到小数点后两位〕。

int

99

-1

char

h'

unsignedint

66

float

55.78

longint

68

104

55

B'

7'

D'

65535

99.00

104.00

66.00

68.00

-1.00

★写出次序运转后果。

{inti,j;

i=8,j=10;

%d,%d,%d,%d\n"

i,j,++i,j++);

inta=1,b=2,c=30;

a=b=c,a=b==c,a==(b=c),a==(b==c));

留意:

a=b=c,a=b==c之间应为逗号,课本有误

9,11,9,10

30,1,0,0

③voidmain()

{inta=10,b=20,c=30,d;

d=++a<

=10||b-->

=20||c++;

a,b,c,d);

11,19,30,1

★写出上面表白式的值〔设a=10,b=4,c=5,d=1,x=2.5,y=3.5〕。

⑴a%=(b%=3)

⑵n++,a+=a-=a*=a

⑶(float)(a+c)/2+(int)x%(int)y

⑷a*=b+c

⑸++a-c+b++

⑹++a-c+++b

⑺a<

b?

x:

⑻b++==c

⑼a+b,18+(b=4)*3,(a/b,a%b)

⑽x+a%3*(int)(x+y)%2/4+sizeof(int)

⑾a<

a:

c<

d?

c:

d

⑿b++==c

⒀a*=b=c=2

⒁a=b==c

⑴0⑵0⑶9.500000⑷90⑸10⑹10⑺'

⑻2⑼4.5⑽1⑾0⑿20⒀0

以下每组表白式中,被履行后后果完整等价的是哪些〔设a、b、m是已被赋值的整型变量〕?

①m=(a=4,4*5)与m=a=4,4*5

②(float)(a/b)与(float)a/b

③(int)a+b与(int)(a+b)

④m%=2+a*3与m=m%2+a*3

⑤m=1+(a=2)+(b=3)与a=2,b=3,m=1+a+b

①前面是赋值表白式,而前面的是一个逗号表白式,因此必定差别;

②前面的表白式中a/b后果为一整数,后果曾经取整,精度能够遭到妨碍,之后强迫float后才为浮点型,前面的是先将a转换为float后再与b相除,其值保障了精度,因此差别。

③因为a、b均为整数,其前后两个表白式的盘算后果是分歧的。

④前一表白式是一算术表白式,而后者为一赋值表白式,此为一点差别;

其余,前一表白式的m只被赋过一次值,后一表白式中的m曾两次被赋值,第一次赋值时与第一表白式中的值分歧,第二次赋值后即不再一样。

⑤前后表白式的盘算后果应当是分歧的:

a=2,b=3,m=6

前提表白式x>

0?

-x的功用是什么?

假如x的值是一正数,那么表白式的值为x值;

假如x的值是一非正数,那么表白式的值为-x。

事实上该表白式的值即为x的相对值,C言语中供给了一个函数fabs(x)即可实现此功用,该函数包括在math.h头文件中。

用一个前提表白式描绘从a、b、c中寻出最多数赋给max.

max=a>

(b>

c?

b:

c)?

★假设x为int型变量,那么履行以下语句后x的值为〔  〕。

x=6;

x+=x-=x*x;

A.36 

B.-60 

C.60 

D.-24

B.

★假设有以下范例阐明语句:

charw;

intx;

floaty;

doublez;

那么表白式w*x+z-y的后果为〔  〕范例。

A.float 

B.char 

C.int 

D.double

D.

第三章 次序构造次序计划

变量k为float范例,挪用函数scanf("

%d"

k),不克不及使变量k失掉准确数值的缘故是___。

格局润饰符与变量范例不分歧。

因为%d输入的数据范例应当为十进制整数,而&

k为占用4个字节的float范例变量的地点。

★a=1234,b=12,c=34,那么履行“printf("

|%3d%3d%-3d|\n"

a,b,c);

〞后的输入是___。

|12341234|

剖析如下:

①%3d为右对齐输入变量,且指定输入变量的值宽度为3个字符位,假如变量实践位数小于3,那么左端补空格,假如变量实践位数年夜于3,那么按实践长度输入,不受限度。

②%-3d为左对齐输入变量,在输入变量时,如是变量实践位数小于3,那么在右端补空格,否那么按实践输入。

★设有“inta=255,b=8;

〞,那么“printf("

%x,%o\n"

〞输入是___。

ff,10

①假如“printf("

%X,%o\n"

〞那么输入为FF,10。

阐明在输入十六进制字母时,其巨细写受格局润饰符的限度,假如是“%x〞那么输入小写,假如是“%X〞那么输入年夜写。

②假如盼望在输入十六进制时输入前导符0x或0X,那么以上输入语句应改“printf("

%#x,%o\n"

〞为或“printf("

%#X,%o\n"

〞。

本条说明不用须控制。

★以下次序输入的后果是___。

{

inta1=1,a2=0,a3=2;

%d,%d,%d\n"

a1,a1+a2+a3,a3-a1);

1,3,1

printf函数顶用到格局符%5s,此中5表现输入字符占用5列。

假如字符串长度年夜于5,那么按___输入;

假如字符串长度小于5,那么按___输入。

①实践 ②左端补空格

★已界说变量如下:

inta1,a2;

charc1,c2;

假设请求输入a1、a2、c1跟c2的值,准确的输入函数挪用语句是___。

%d,%d,%c,%c"

a1,&

a2,&

c1,&

c2);

输入两个整型变量a、b的值,输入以下算式以及运算后果___。

a+b、a-b、a*b、a/b、(float)a/b、a%b

每个算式占一行。

如a=10,b=5,a+b输入为:

10+5=15

设inta=10,b=5;

以下为输入语句及后果:

①printf("

%d+%d=%d\n"

a,b,a+b);

②printf("

%d-%d=%d\n"

a,b,a-b);

10-5=5

③printf("

%d*%d=%d\n"

a,b,a*b);

10*5=50

④printf("

%d/%d=%d\n"

a,b,a/b);

10/5=2

⑤printf("

%(float)d/%d=%f\n"

a,b,(float)a/b);

(float)10/5=2.000000

⑥printf("

%d%%%d=%d\n"

a,b,a%b);

10%5=0

★输入一个非正数,盘算以那个数为半径的圆周长跟面积。

#definePI3.1415926

floatr,l,area;

Inputapositive:

%f"

r);

l=2*PI*r;

area=PI*r*r;

l=%f\tarea=%f\n"

l,area);

输入恣意一个3位数,将其列位数字反序输入〔比方输入123,输入321〕。

intx,y;

Inputanumber(100-999):

x);

y=100*(x%10)+10*(x/10%10)+x/100;

/*留意剖析此处算法*/

%d--->

x,y);

★输入恣意巨细的3个整数,推断此中能否有两个奇数一个偶数。

假设是那么输入YES,不是那么输入NOT〔请求用前提表白式进展推断,不运用if语句〕。

intx,y,z,oddcount=0;

 /*奇数数计数变量*/

Inputx,y,z:

x,&

y,&

z);

x%2==1?

oddcount++:

0;

y%2==1?

z%2==1?

oddcount==2?

YES"

):

NOT"

11

求先驱字符跟后继字符。

输入一个字符,寻出它的先驱字符跟后继字符,并按ASCII码值,按从年夜到小的次序输入这3个字符及其对应的ASCII码值。

此题考察同窗们对字符范例数据的看法,假如在ASCII范畴内那么即能够表现为字符,又能够表现为整数值;

不管能否能够表现为字符,字符范例数据是能够参加数值运算的,牢记。

charc;

Inputcharacter:

%c"

%c----->

c-1,c-1);

c,c);

+1,c+1);

getch();

/*为便于调试次序,运转至此次序进展,如今能够看到运转后果,按恣意键次序真难过完毕并前往到编纂情况*/

12

★输入三角形的边长,求三角形面积〔面积=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2〕。

#include"

math.h"

/*因为次序中运用了开平方函数sqrt(),因此需求包括数学头文件*/

floata,b,c,s,area;

intok=0;

Inputa,b,c:

%f,%f,%f"

a+b>

ok++:

/*以下3条语句为推断能否输入的数据能否形成封锁三角形*/

a+c>

b+c>

a?

ok==3?

(s=(a+b+c)/2,area=sqrt(s*(s-a)*(s-b)*(s-c)),printf("

area=%f"

area)):

error"

第四章 选择构造次序计划

★设x、t均为int型变量,那么履行语句“x=10;

t=x&

&

x>

10;

〞后,t的值为___。

★假设一切变量均已正断界说,那么次序段:

inta=0,y=10;

if(a=0)y--;

elseif(a>

0)y++;

elsey+=y;

运转后y的值是___;

20

★能表述20<

x<

30或x<

-100的C言语表白式是___。

20&

30||+x<

-100

★假设有界说语句“inta=25,b=14,c=19;

〞,那么以下语句履行后果是___。

if(a<

=25&

b<

=2&

c)

***a+b=%d,a-b=%d***\n"

a+b,a-b);

elseprintf("

***a=%d,b=%d,c=%d***\n"

***a=25,b=14,c=19***

★假设i跟j为int型变量,那么履行以下语句后i的值是___。

inti=1;

switch(i)

case1:

{for(j=0;

j<

9;

j++)i+=j;

break;

case2:

{for(j=1;

case3:

i++;

37

剖析:

履行了case1:

跟case3:

中的代码。

同时case1:

语句中的{ }是能够撤消的。

★以下两条if语句可兼并成一条if语句,即___。

=b)x=1;

elsey=2;

if(a>

b)printf("

***y=%d\n"

y);

***x=%d\n"

x);

=b)printf("

x=1);

y=2);

★输入两个字符,假设这两个字符的序号〔ASCII码〕之差为偶数,那么输入它们的后继字符,否那么输入它们的先驱字符。

chara,b;

Inputtwochatactera,b:

%c,%c"

b);

if((a-b)/2==0)

a+1,b+1);

a-1,b-1);

★输入整数a跟b,假如a能被b整除,就输入算式跟商,否那么输入算式、整数商跟余数。

inta,b;

Inputtwointegernumbersa,b:

%d,%d"

if(b!

=0&

a%b==0)

%d/%d=%d"

else

%d/%d=%d......%d"

a,b,a/b,a%b);

输入某个点A的破体坐标(x,y),推断〔输入〕A点是在圆内、圆外依然在圆周上,此中圆心坐标为(2,2),半径为1。

include"

floatx,y,d;

Inputx,y:

%f,%f"

y);

d=sqrt((x-2)*(x-2)+(y-2)*(y-2));

if(d>

1)printf("

outside"

elseif(d<

inside"

★输入年号跟月份,输入这一年该月的天数〔一个年份,先推断能否闰年〕。

inty,m,d,f;

Inputyearandmonthy-m:

%d-%d"

m);

f=(y%4==0&

y/100!

=0||y/400==0);

if(m==2)

d=28+f;

/*依照能否闰年决议2月份的实践天数,假设是闰年,那么f=1,d即为29天*/

d=31-(m==4)+(m==6)+(m==9)+(m==11);

/*m==4时其值为1,那么本月为30天,典范算法,主要啊*/

%d-%dis%ddays.\n"

y,m,d);

★请将以下语句改写成switch语句〔a>

0〕。

30) 

m=1;

elseif(a<

40) 

m=2;

50) 

m=3;

60) 

m=4;

else 

m=5

switch(a/10)

case4:

case5:

case6:

default:

m=5;

有一函数

x-1 

-5<

y= 

x=0

x+1 

0<

编写一次序,请求输入x的

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

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2