C语言程序设计练习题答案Word文档格式.docx

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

C语言程序设计练习题答案Word文档格式.docx

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

C语言程序设计练习题答案Word文档格式.docx

(1)#include<

stdio.h>

intmain(void)

{

printf("

ThisismyfirstCprogram.\n"

);

AndprogramminginCisevenmorefun.\n"

return0;

}

(2)#include<

ThisismyfirstCprogram.\nAndprogramminginCisevenmorefun.\n"

实验4

(1)计算33+56的和。

解题思路:

将例1.2中变量值改为33与56代码如下:

#include<

intmain(void)

intvalue1,value2,sum;

value1=33;

value2=56;

sum=value1+value2;

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

(2)计算1+2+3+4+5

可以分别建立五个变量value1,value2,value3,value4,value5,赋值后计算value1+value2+value3+value4+value5,代码如下:

intvalue1,value2,value3,value4,value5,sum;

value1=1;

value2=2;

value3=3;

value4=4;

value5=5;

sum=value1+value2+value3+value4+value5;

printf(“%d+%d+%d+%d+%d=%d\n”,value1,value2,value3,value4,value5,sum);

实验5

根据摄氏度与华氏温度转换公式进行转换,代码如下:

intmain(){

floatf,c;

f=27.0;

c=(f-32)/1.8;

printf("

f=%f\nc=%f\n"

f,c);

return0;

}

1.2课后实训项目

一、选择题

1.C;

2.D;

3.A;

4.C;

5.A

二、填空题

1.main函数

2.;

3.编译

三、分析下面程序,写出运行结果

1.Theresultis95

2.wearestudents.

IbegintostudyClanguage.

四、找出下面程序中的所有语法错误,然后在计算机上运行输出正确结果。

1.

(1)Void应为void;

(2)INT应为int;

(3)“/*COMPUTERESULT”后缺少“*/”;

(4)“printf("

Theansweris%i\n"

sum);

”应为“printf("

Theansweris%d\n"

sum);

2.

(1)缺少预处理指令#include<

(2)没有声明value1,value2。

3.

(1)缺少main函数#include<

(2)没有对value1,value2进行声明;

(3)输出语句中“Thesumofvalue1andvalue2is%d\n”缺少双引号;

(4)函数体应由{}括起来。

2.1上机实训项目

实验1解题思路:

根据运行结果,了解各种数据类型在内存所占用空间的大小,运行结果如下:

intis4B

charis1B

longintis4B

unsignedintis4B

floatis4B

doubleis8B

实验2解题思路:

根据例子,分析VC++6.0短整数、字符型和float型数据的范围,运行结果如下:

s=32767c=127f=3.1234e+038

s=-32768c=-128f=1.#INF(越界)

通过程序运行结果可知:

VC++6.0短整数范围-32768~32767;

字符型范围-128~127;

float型范围:

0以及-3.4*10-38~3.4*1038

实验3解题思路:

错误1“j=++3;

”应为“j=++i;

”。

++与—运算符只能用于变量,不能用于常量或者表达式,如5++或者(a+b)++都是不合法的。

错误2“k=5.0%2;

”应为“k=5%2;

%运算符要求参加运算的对象为整数,结果也是整数。

实验4解题思路,代码如下:

#include<

intmain(){

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

doublex=1.2,y=2.4,z=-3.6;

longintu=51274,n=128765;

charc1='

a'

c2='

b'

;

a=%db=%dc=%d\n"

a,b,c);

x=%7.6fy=%7.6fz=%7.6f\n"

x,y,z);

x+y=%3.2fy+z=%3.2fz+x=%3.2f\n"

x+y,y+z,z+x);

u=%dn=%d\n"

u,n);

c1='

%c'

or%d\n"

c1,c1);

c2='

c2,c2);

实验5错误:

“average=1/2*(96+55);

”应改为“average=1.0/2.0*(96+55);

解题思路:

两个整数相除的结果是整数,需要改为两个实数相除。

2.2课后实训项目

1)C以0开头的数字是8进制数字,但是8进制数字里面是没有8的(满8进位),所以出错;

2)C;

3)D;

4)D;

5)D;

6)B;

m为(n*100+0.5)取整数部分,相当于四舍五入;

7)A;

8)C;

9)BA赋值表达式,Cy=y++=5,在C语言++,--都不能位于“=”左边,D强制类型转换;

10)Bx=x+x-(x-x);

11)A;

12)C;

13)D

1)标识符;

2)变量;

3)整型、字符型、长双精度型;

4)字母、数字、下划线;

5)4B;

6)f;

7)pow(e,x*x+y*y)*(1/fabs(x-y));

8)3.5

1.i=2,j=2

i=2,j=3

2.119,w

97,a

3.24,683

3.456000,53400.000000

4.220.000000

5.-6

1.#include<

floata=5,b=3;

错误:

应为inta=5,b=3;

a%%b=%d\n"

a%b);

}

运行结果:

a%b=2

2.#include<

intmian()错误1:

main

{

charc=’China’;

错误2;

将字符串赋给字符变量

printf(‘c=%c\n’,c);

错误3:

双引号

Return0;

错误4:

return首字母小写

}

运行结果c=C

3.#include<

intmain()

{inta,b,c;

a=2;

b=3;

C=a+b;

C未定义

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

运行结果:

2+3=5

五、程序设计题

1.解题思路:

需要知道三角形求面积公式s=底*高*0.5,根据公式进行编程,代码如下:

doublea,b,c;

a=5.0;

b=6.0;

c=a*b/2;

areais%f"

c);

2.解题思路:

知道根据半径r求圆形周长公式l=2

以及面积公式S=

,代码如下:

#definePI3.1416

doublea,area,length;

area=PI*a*a;

length=2*PI*a;

areais%fandlengthis%f\n"

area,length);

3.解题思路:

已知边长a,正方形求面积公式s=a2,代码如下:

doublea,area;

a=6.0;

area=a*a;

areais%f\n"

area);

4.解题思路:

已知圆柱体的底面半径a,高h,圆柱体体积c=

doublea,h,cube;

h=10.0;

cube=PI*a*a*h;

cubeis%f\n"

cube);

3.1上机实训项目

实验11略

2.答:

输出为ab,此时c1=‘a’,c2=‘’,c3=‘b’

3.答:

输出为a

b

此时c1=‘a’,c2=‘回车’,c3=‘b’

4.答:

输入123<

回车>

实验2下面程序是的功能是输入两个整数,输出其和,试调试运行。

intmain()

intx,y;

printf("

请输入两个整数:

\n"

scanf("

x=%d,y=%d"

&

x,&

y);

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

x,y,x+y);

多写一个%,输出错误。

return0;

实验3 解题思路:

调用scnaf与printf函数输入输出字符数据,代码如下:

chara,b,c;

%c"

a);

b);

c);

a);

b);

实验4下面程序是输入1个整数和1个实数,然后其值,找出其中的错误。

intmain()

{longx;

doubley;

%f,%f"

错误1:

scanf("

%ld,%lf"

,double型数据输入要用%lf;

x=%f,f=%f\n"

x,y);

错误2:

printf("

x=%d,f=%f\n"

,x为整数;

缺少return0;

}

实验5代码如下:

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

x,&

y__________);

printf(_______“x+y=%f”,x+y________)

课后实训项目

1)D;

2)D;

3)C;

5)B;

6)A;

7)B;

8)B;

9)C;

10)B如果使用的格式符与对应的变量类型不一致,有可能造成读取错误的数据,但系统不报错;

11)C;

13)C赋值语句的对象只能是变量,而不是表达式;

14)A;

15)A;

16)D

1)3;

2)%%;

3)格式控制,输出表列;

4)%d,%c,%s;

5)&

a,&

b;

a=b

三、程序阅读题

1.运行结果A,66

2.运行结果1,65,1.5,6.5

3.输出结果为i:

dec=14,otc=177774,hex=fffc,unsigned=65532

4.输出结果是1234

四、改错题

1.下面程序编译时无错误,运行程序时,从键盘输入1,2,但输出结果不正确,找出程序中的错误并改正之。

voidmain()

{intx,y;

scanf( 

"

%d,%d"

改错:

scanf( 

printf( 

2.下面程序是输入两个double型数据,然后输出的和,找出错误并改正之

doublex,y;

scanf(“%f%f”,&

改错1:

scanf(“%lf%lf”,&

printf(“x+y=%f\n,x+y);

改错2:

printf(“x+y=%f\n”,x+y);

设置两个整数给变量a,b,输入的大数放在a中,输入的小数放在b中,利用a/b和a%b分别求他们的商和余数,代码如下:

inta,b,c;

intd,e;

scanf("

a,&

if(a<

b)

{

c=a;

a=b;

b=c;

d=a/b;

e=a%b;

a=%d,b=%d,d=%d,e=%d\n"

a,b,d,e);

用%(求余)。

比如输入321,321%100=21用321-(321%100)再除以100即可得:

(321-(321%100))100=3同样,用21%10=1再除以10即可得:

((321%100)-((321%100)%10))/10=2最后,1-(1%1)=1。

代码如下:

inta;

intb,c,d;

%d"

b=a%10;

c=a/10%10;

d=a/100;

a=%d,b=%d,c=%d,d=%d"

a,b,c,d);

4.1上机实训项目

实验1正确程序代码为:

floata,b,c,t;

scanf(“%f,%f,%f”,&

b,&

if(a>

b)

{t=a;

a=b;

b=t;

}//if语句后是个复合语句,需要加上花括号

c)

c=a;

c=t;

if(b>

{t=b;

b=c;

printf(“%f,%f,%f\n”,a,b,c);

实验2解题思路:

分段函数计算,根据不同的x,按照条件选择建立不同的分支执行。

参考代码如下:

floatx,y;

Pleaseinputx:

%f"

x);

if(x<

1.0)

y=x;

elseif((x>

1.0)&

&

(x<

10.0))

y=2*x-1;

elseif(x>

=10.0)y=3*x-11;

Thevalueofyis:

%f\n"

y);

实验3解题思路:

ASCII代码表示的小写字母比大写字母值大32,首先判断是否大写字母,如果是,则当前值加32,如果是小写字母,则当前值减32。

#include<

charch;

ch);

if(ch>

='

A'

ch<

Z'

ch=ch+32;

elseif(ch>

z'

ch=ch-32;

%c\n"

ch);

实验4解题思路:

首先要明确构成三角形的条件,两边之和大于第三遍;

然后根据等边三角形(三边相等)、等腰三角形(两边相等)、直角三角形(直角边平方和等于斜边平方)分别进行判断,参考代码如下:

math.h>

voidmain(){

inta,b,c;

intk,i,j;

intm,o,p;

inta1,b1,c1;

输入三条边:

%d,%d,%d"

c);

i=a*a+b*b-c*c;

j=b*b+c*c-a*a;

k=a*a+c*c-b*b;

m=abs(a-b);

o=abs(a-c);

p=abs(c-b);

a1=a+b;

b1=b+c;

c1=a+c;

if((a1>

c)&

(b1>

a)&

(c1>

b)&

(m<

(o<

(p<

a)){

if((m==0)&

(o==0))

printf("

这是一个等边三角形。

elseif((m==0)||(o==0)||(p==0))

这是一个等腰三角形。

elseif((i==0)||(j==0)||(k==0))

这是一个直角三角形!

elseprintf("

这是一个任意三角形!

elseprintf("

这不是一个三角形!

实验5解题思路:

根据不同的距离,确定折扣和运费,参考代码如下:

doublecost(doublex,doubley,doublez,doublep);

doublef,p,w,s,d;

请输入距离:

%lf"

s);

\n请输入运费:

p);

\n请输入货物重量:

w);

if(s<

250.0){

d=0;

f=cost(p,w,s,d);

elseif((s>

=250.0)&

(s<

500.0)){

d=0.05;

=500.0)&

1000.0)){

d=0.1;

=1000.0)&

2000.0)){

d=0.15;

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

当前位置:首页 > 表格模板 > 书信模板

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

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