C语言课后习题解析及答案Word下载.docx

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

C语言课后习题解析及答案Word下载.docx

《C语言课后习题解析及答案Word下载.docx》由会员分享,可在线阅读,更多相关《C语言课后习题解析及答案Word下载.docx(98页珍藏版)》请在冰点文库上搜索。

C语言课后习题解析及答案Word下载.docx

(a)班级中的学生人数intnumber_of_students;

(b)平均价格floataverage_price;

(c)自1900年1月1日以来的天数intdays_since_1900;

(d)利率百分比floatinterest_rate;

(e)本页中最常出现的字符charmost_common_char;

(f)中国的人口总数(在2010年11月大约为1,339,724,852)intpopulation_of_china;

6.假定有如下定义:

inti;

charc;

下面哪些是合法的C语句?

c='

A'

;

合法

i="

1"

非法,字符串不能赋值给整型

i=1;

合法

c="

A"

非法,”A”为字符串,存储为’A’和’\0’两个字符

1'

;

7.写一个C程序,给第4题中的变量各赋一个值,然后以每行一个变量的形式显示这些变量的值。

#include<

stdio.h>

intmain(void)

{

intnumber_of_transactions,age_in_years;

number_of_transactions=211;

age_in_years=66;

total_pay=3128.0f;

tax_payment=214.5f;

distance=2431.5f;

average=83.5f;

account_type='

c'

gross_pay=9313.5;

printf("

%d\n%d\n%.1f\n%.1f\n%.1f\n%.1f\n%c\n%.1f"

number_of_transactions,age_in_years,total_pay,tax_payment,distance,average,account_type,gross_pay);

return0;

}

8.写一个C程序显示如下信息:

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

*HelloWorld*

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

);

*HelloWorld*\n"

9.写一个C程序在不同的行分别显示你的姓名和家庭住址。

张三\n"

黑龙江省哈尔滨市南岗区\n"

10.ASCII码用于表示计算机内存中的字母、数字和其它符号。

使用附录C中的ASCII码表查找下面每个字符的ASCII编码:

'

'

B'

Y'

Z'

a'

b'

y'

z'

0'

'

(空格)

字符十进制ASCII码十六进制ASCII码

A6541

B6642

Y8959

Z905a

a9761

b9862

y12179

z1227a

04830

14931

442c

空格3220

11.在程序P2C中,将第14行的%d改为%c,第16行的%c改为%d。

编译并运行修改后的程序。

你能解释运行结果吗?

(提示:

请参看附录C的ASCII码表)

第三章简单算术运算符与表达式课后习题

1.将下列数学方程转化为合法的C语句:

(a)

(b)

(c)

(d)

(e)

(a)m=(y1–y2)/(x1–x2);

(b)y=m*x+c;

(c)a=b/c–d/e;

(d)C=5*(F–32)/9.0;

(e)s=u*t+a*t*t/2.0;

2.有如下变量定义:

inta=1,b=10,c=5;

intd;

下面每条语句执行后d的值为?

(a)d=b/c+1;

d=3

(b)d=b%3;

d=1

(c)d=b-3*c/5;

d=7

(d)d=b*10+c-a*5;

d=100

(e)d=(a+b-1)/c;

d=2

(f)d=((-a%c)+b)*c;

d=45

(g)d=--a;

d=0

3.变量定义如第2题,请改正下列C语句中的错误:

(a)d=2(b+c);

d=2*(b+c)

(b)d=5b+9c;

d=5*b+9*c;

(c)d=b-3X19;

d=b–3*19;

(d)d=b.c+10;

d=b*c+10;

(e)d=(a+b)/c;

无错误

4.为下列任务写出合适的C语句:

(a)将num1加1,并将结果放回到num1中num1=num1+1;

或num1++;

(b)将num1加2,并将结果放回到num2中num2=num1+2;

(c)将num2加2,并将结果放回到num2中num2=num2+2;

或num2+=2;

(d)将num1减1,并将结果放回到num1中num1=num1–1;

或num1--;

(e)将num2减2,并将结果放回到num2中num2=num2–2;

或num2-=2;

5.有如下定义:

inta=12,b=0,c=3;

下列每条语句执行后a、b、c和d的值各是什么?

(a)a++;

a=13b=0c=3d=内存单元的随机值

(b)b--;

a=12b=-1c=3d=内存单元的随机值

(c)d=++c;

a=12b=0c=4d=4

(d)d=c--;

a=12b=0c=2d=3

(e)d=a++-2;

a=13b=0c=3d=10

(f)d=a+++b++-c--;

a=13b=1c=2d=9

6.有如下定义:

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

下列每条语句执行后a、b、c的值各是什么?

(a)a+=b;

a=3b=2c=3

(b)a/=3;

a=0b=2c=3

(c)a*=c;

(d)a%=2;

a=1b=2c=3

(e)a+=b+1;

a=4b=2c=3

(f)a+=++b;

a=4b=3c=3

7.有如下定义:

charch_val;

intint_val;

shortshort_val;

floatfloat_val;

doubledouble_val;

unsignedintunsigned_int_val;

下面哪些可能因为赋值类型自动转换而损失数据?

(a)short_val=int_val;

可能损失精度

(b)int_val=ch_val;

不能损失精度

(c)double_val=float_val;

不能损失精度

(d)int_val=float_val;

可能损失精度

(e)int_val=unsigned_int_val;

可能损失精度

8.和第7题的变量定义一样,下列各表达式的数据类型各是什么?

(a)int_val*float_val;

double

(b)float_val+int_val/100;

double

(c)ch_val+short_val+int_val;

int

(d)(double)int_val+double_val+float_val;

double

(e)(int)float_val*float_val/int_val;

double

(f)int_val+3.0;

double

9.有如下变量定义:

inta=5,b=4;

floatc=3.0,d;

下列每小题中的d的值为?

(a)d=a/b;

d=1.0

(b)d=(float)a/b;

d=1.25

(c)d=c/b;

d=0.75

(d)d=(int)c/b;

d=0.0

(e)d=a/2;

d=2.0

(f)d=a/2.0;

d=2.5

(g)d=(float)a/2;

d=2.5

(h)d=(int)c%2;

d=1.0

10.写一个程序计算长为11.5厘米,宽为2.5厘米,高为10厘米的盒子的体积和表面积。

doublelength,width,height;

doublearea,volume;

length=11.5;

width=2.5;

height=10.0;

area=2*(length*width+length*height+width*height);

volume=length*width*height;

area=%.2f,volume=%.2f"

area,volume);

11.写一个程序完成如下功能:

(a)计算并显示1到5的和。

#include<

1+2+3+4+5=%d"

1+2+3+4+5);

(b)计算并显示单精度浮点数1,1.1,1.2,…,2.0的平均值。

average=%.2f"

(1.0+1.1+1.2+1.3+1.4+1.5+1.6+1.7+1.8+1.9+2.0)/11);

第四章键盘输入与屏幕输出课后习题

1.找出下面程序的错误。

intmain()

{

intnum;

printf("

PleasetypeanumberfollowedbyEnter"

);

scanf("

%f"

num);

改为:

scanf("

%d"

&

num);

Thenumberyoutypedwas:

%d"

return0;

}

2.为下面的每小题写一个简单的scanf语句以接收对应的键盘输入:

(a)intfirst;

first);

(b)intsecond,third,fourth;

%d%d%d"

second,&

third,&

fourth);

(c)floatprincipal,rate,time;

%f%f%f"

principal,&

rate,&

time);

(d)charkeyval1,keyval2;

%c%c"

keyval1,&

keyval2);

(e)charc;

floatf;

doubled;

%c%d%f%lf"

c,&

i,&

f,&

d);

3.写一个程序,输入四个整数数字,然后以输入时相反的顺序输出它们。

intnum1,num2,num3,num4;

Pleaseinputfournumbers:

"

scanf("

num1);

num2);

num3);

num4);

Thenumbersinreverseare:

%d"

num4);

num3);

num2);

num1);

4.假设v1,v2和v3是其值分别为5.0,-4.5和11.25的单精度浮点型变量,写一个printf语句显示如下的消息:

v1=5v2=-4.5v3=11.25

printf("

v1=%.0fv2=%.1fv3=%.2f"

v1,v2,v3);

5.假设人的心率为每分钟75下,写一个程序,询问用户的年龄(以年为单位),然后计算并输出该用户到目前为止的生命中已有的心跳总数。

intage,heart_beats;

Pleaseinputyourage:

age);

heart_beats=age*365*24*60*75;

Theheartbeatsinyourlife:

heart_beats);

6.写一个程序,将接收的华氏温度转换为对应的摄氏温度。

程序应显示如下的提示信息:

请输入华氏温度(度):

然后输入一个十进制数并回车,然后程序以合适的消息形式输出转换后的摄氏温度。

程序使用如下的公式完成转换:

摄氏温度=5.0*(华氏温度–32.0)/9.0

doublefahr,cels;

Pleaseinputfahr:

%lf"

fahr);

cels=5.0*(fahr-32.0)/9.0;

Thecelsis:

%.2f"

cels);

7.更改第6题中的程序,将输入的摄氏温度转换为对应的华氏温度。

Pleaseinputcels:

cels);

fahr=9.0*cels/5.0+32.0;

Thefahris:

fahr);

8.写一个程序从键盘输入三个单精度浮点数,然后计算:

(a)它们的和。

(b)它们的平均值。

显示结果保留到小数点后三位。

floatf1,f2,f3,sum,average;

请输入三个单精度数:

"

f1,&

f2,&

f3);

sum=f1+f2+f3;

average=sum/3;

三个数的和为%.3f,均值为%.3f"

sum,average);

9.写一个程序从键盘输入两个整数,然后显示第1个整数占第二个整数的百分比,保留到小数点后1位。

例如输入5和40,程序输出结果如下:

5is12.5percentof40

intnum1,num2;

请输入两个整数:

%d%d"

num1,&

%dis%.1fpercentof%d"

num1,

(num1*100.0/num2),num2);

10.写一个程序从键盘输入两个整数,然后显示输出第1个数除以第2个数的结果。

例如,输入123和12,程序的输出结果格式如下:

10余数=3

----

12)123

提示:

使用求余运算符获得余数,使用整数除法获得商。

intnum1,num2,remainder,quotient;

remainder=num1%num2;

quotient=num1/num2;

%13dRemainder=%d\n"

quotient,remainder);

------\n"

%5d)%5d"

num2,num1);

第五章控制语句:

If和Switch课后习题

1.使用switch语句重写下面的if-else语句:

if(marriage_status=='

S'

printf("

single"

elseif(marriage_status=='

M'

married"

W'

widowed"

E'

separated"

D'

divorced"

else

error:

invalidcode"

switch(marriage_status)

case'

:

printf("

break;

default:

2.下面的代码片段根据三个整数n1,n2和n3的值显示适当的消息:

if(n1==n2)

if(n1==n3)

printf("

n1,n2andn3havethesamevalue\n"

n1andn2havethesamevalue\n"

}

elseif(n1==n3)

n1andn3havethesamevalue\n"

elseif(n2==n3

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

当前位置:首页 > 医药卫生 > 临床医学

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

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