好文档 - 专业文书写作范文服务资料分享网站

C语言程序设计第三版谭浩强课后习题答案完整版

天下 分享 时间: 加入收藏 我要投稿 点赞

C语言程序设计第三版谭浩强 课后习题答案完整版

第一章

1.5请参照本章例题,编写一个C程序,

输出以下信息:

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

Very Good!

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

解:

mian()

{printf(“**************************”);

printf(“\\n”);

printf(“Very Good!\\n”);

printf(“\\n”); printf(“**************************”);

}

1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。

解:

mian()

{int a,b,c,max;

printf(“请输入三个数a,b,c:\\n”); scanf(“%d,%d,%d”,&a,&b,&c);

max=a;

if(max

max=b;

if(max

printf(“最大数为:“%d”,max); }

第三章

3.6写出以下程序运行的结果。

main()

{char

c1=’a’,c2=’b’,c3=’c’,c4=’\\101

#include

main()

’,c5=’\\116’;

{

printf(“a?%c\\tc%c\\tabc\\n”,c1,c2,c

c1=’C’,c2=’h’,c3=’i’,c4=’n’,c

char

3);

printf(“\\t\\b%c %c”,c4,c5);

}

解:

aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabc

AㄩN

3.7 要将\译成密码,译码规律是:

用原来字母后面的第4个字母代替原来的

字母.例如,字母\后面第4个字母是\.\代替\。因此,\应译为\。请编一程序,用赋初值的方法使

cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。

解:

5=’a’;

c1+=4;

c2+=4;

c3+=4;

c4+=4;

c5+=4;

printf(\

是%c%c%c%c%c\\n\}

运行结果:

密码是Glmre

3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4

设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y

设a=2,b=3,x=3.5,y=2.5

(1)2.5

(2)3.5

3.10写出程序运行的结果。

main()

{int i,j,m,n;

i=8;

j=10; m=++i;

n=j++;

printf(“%d,%d,%d,%d”,i,j,m,n);

}

解:

9,11,9,10

3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。

(1)a+=a (2) a-=2 (3) a*=2+3 (4)

a/=a+a

(5) a%=(n%=2),n的值等于5

(6)a+=a-=a*=a

解:

(1) 24 (2) 10 (3) 60 (4) 0

(5) 0 (6) 0

第四章

4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序

(包括定义变量类型和设计输出)。

a=_3_ _b=_4_ _c=_5

x=1.200000,y=2.400000,z=-3.600000

x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40

c1=ˊaˊ_or_97(ASCII)

c2=ˊbˊ_or_98(ASCII) main() {int a=3,b=4,c=5;

long int u=51274,n=128765;

float x=1.2,y=2.4,z=3.6; char c1=’a’,c2=’b’; printf(\printf(\ printf(\y+z=%5.2f z+x=%5.2f\\n\

printf(\

printf(\n\

,c1,\

printf(\n\,c2,\ }

4.7用scanf下面的函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=ˊAˊ,c2=ˊa

ˊ,问在键盘上如何输入?

main()

{

int a,b;float x,y;char c1c2;

scanf(\,&a,&b);

scanf(\,&y);

scanf(\,&c1,&c2);

}

a=3_b=7

_x=8.5_y=71.82

_c1=A_c2=a

4.8设圆半径r=1.5,圆柱高h=3,求圆周

长、圆面积、圆球表面积、圆球体积、圆柱

体积。用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。

main()

{float r,h,C1,Sa,Sb,Va,Vb;

scanf(\ C1=2*3.14*r; Sa=3.14*r*r; Sb=4*Sa;

Va=4*3.14*r*r*r/3;

Vb=Sa*h;

printf(\

printf(\=%.2f\\n\

}

4.9输入一个华氏温度,要求输出摄氏温度。公式为

c=5(F-32)/9

输出要求有文字说明,取位2小数。

main()

{float F,c;

scanf(\

c=5*(F-32)/9;

printf(\

}

4.10编程序,用getchar函数读入两个字符给c1、c2,然后分别用函数和函数输出

这两个字符。并思考以下问题:(1)变量

c1、c2应定义为字符型或整形?抑二者皆可?(2)要求输出c1和c2值的ASCII码,

应如何处理?用putchar函数还是printf

函数?(3)整形变量与字符变量是否在任何情况下都可以互相代替?如: char c1,c2; 与

int c1,c2;

是否无条件的等价?

#include\

main()

{char c1,c2;

c1=getchar();c2=getchar();

66rmb9edyy3fmdy9ul8q7b8vd538ce00y3x
领取福利

微信扫码领取福利

微信扫码分享