《C语⾔程序设计(第五版)》习题答案
各章习题参考答案
webstorm免费吗第1章习题参考答案
1. 简述C程序的结构特点。
答:
(1) ⼀个C语⾔源程序由⼀个或多个源⽂件组成。每个源⽂件由⼀个或多个函数构成,其中有且仅有⼀个主函数(main函数)。
(2) ⼀个函数由函数⾸部(即函数的第⼀⾏)和函数体(即函数⾸部下⾯的⼤括号内的部分)组成。函数⾸部包括函数类型、函数名和放在圆括号内的若⼲个参数。函数体由声明部分和执⾏部分组成。
(3) C程序书写格式⾃由,⼀⾏内可以写多条语句,⼀个语句也可以分写在多⾏中,每个语句必须以分号结尾。
(4)程序的注释内容放在“/*”和“*/之”间,在‘/’和‘*’之间不允许有空格;注释部分允许出现在程序中的任何位置处。
2. 分析例1.3程序的结构。
答:下⾯是例1.3的程序,它的结构是:有且只有⼀个主函数main以及若⼲个其它函数,还有⼀个被主函数调⽤的sumab函数。函数有⾸部,包括类型和名称,⾸部下的⼤括号中有变量定义、输⼊、计算和输出等语句。
#include
int sumab (int x, int y); /*函数声明*/
int main () /*主函数*/如何在手机上玩4399电脑游戏
{ int a,b,sum; /*定义变量*/
printf("请输⼊变量a与b的值:"); /*提⽰信息*/
scanf ("%d %d", &a, &b); /*输⼊变量a和b的值*/
sum=sumab(a,b); /*调⽤sumab函数*/
printf("a与b的和等于%d", sum);/*输出sum的值*/
return 0;
}
int sumab (int x, int y) /*定义sumab函数,并定义形参x、y */
{ int z;
z=x+y;
return z;
}
3. 分别编写完成如下任务的程序,然后上机编译、连接并运⾏。
(1) 输出两⾏字符,第1⾏是“The computer is our good friends!”,第2⾏是“We learn
C language.”。
main()
{printf("The computer is our good friends!\n");
printf("We learn C language.\n");
putchar函数return 0;
}
(2)从键盘输⼊变量a、b的值,分别计算a+b、a–b的值,将计算结果分别存放在变量c、d中,最后输出计算结果。main()
{int a=10,b=5,c,d;
c=a+b; d=a-b;尚硅谷mysql零基础教程网盘
printf("a+b=%d,a-b=%d \n",c,d);
return 0;
}
第2章习题参考答案
精彩不容错过网页1. 阅读程序,写出运⾏结果。
(1) # include
main()
{ int a,b,d=241; a=d/100%9; b=a*d; printf("%d, %d", a, b); return 0;}
输出:2,482
(2) #include
main()
{short a; unsigned short b=65535; a=b; printf("%d,%d", a, b); return 0;}
输出:56635,-1
(3)# include
main()
{ char c='A'; printf("%d,%o,%x,%c\n",c,c,c,c); return 0;}
输出:65,101,41,A
(4) # include
main()
{float f=3.1415927; printf("%f,%e\n",f,f); return 0; }
输出:3.141593, 3.14159e+000
(5) # include
main()
{int i,j,x,y; i=5; j=7; x=++i; y=j++; printf("%d,%d,%d,%d",i,j,x,y); return 0;}
输出:6,8,6,7
(6) # include
main()
{long int a=123,b=456,c,d; c=––b; d=(a––, a+c); printf("%ld,%ld,%ld,%ld"a,b,c,d); return 0;} 输出:122,455,455,577 2. 编写程序。
(1) 利⽤变量k,将两个变量m和n的值交换。
main()
{ int m,n,k; scanf("%d,%d",&m,&n); /*如果输⼊3,5*/
k=m; m=n; n=k; printf("%d,%d",m,n); /*那么输出5,3*/
}
(2) 输⼊⼀个整数n,输出n除以3的余数。
main()
{ int n; scanf("%d",&n); printf("%d",n%3);
}
(3) 输⼊⼀个三位整数n,把n倒着输出(如输⼊672,输出276)。main()
{ int n, a,b,c;
printf("输⼊⼀个三位数:"); scanf("%d",&n);
a=n/100; b=n/10%10; c=n%10; printf("%d%d%d",c,b,a);
}
(4) 输⼊⼀个三位整数n,求n的三位数码之和。
main()
{int n, p,s=0; scanf("%d",&n); /*如n为123*/
p=n%10; s=s+p; n=n/10; /*n变为12*/
p=n%10; s=s+p; n=n/10; /*n变为1*/
p=n%10; s=s+p;
printf("%d",s);
}
第3章习题参考答案
1. 阅读程序,写出运⾏结果。
(1) # include
int main()
{char x='a',y='b'; printf("%d\\%c\n",x,y);
printf("x=\'%3x\',\'%–3x'\n",x,x);
return 0;
}
输出:97\b
x=' 61', ' 61 '
(2) # include
int main()
{int k=65; printf("k=%d,k=%0x,k=%c\n",k,k,k); return 0; }
输出: k=65,k=41,k=A
(3) int main()
{int integer1,integer2; float sum1,sum2,sum;
char c='A'; integer1=65; integer2=–3; sum1=234.5; sum2=18.75; sum=sum1+sum2; printf("%d %c %d %o %f \t",integer1,integer1,integer2,integer2,sum);
printf("%c %d %s" , c, c, "good!");
return 0;
}
输出:65 A –3 177775 253.250000 A 65 good!
(4) int main()
{ int a=5,b=7; float x=67.8564,y=–789.124;
char c='A'; long n=1234567; unsinged long u=65535;
printf("%d%d\t",a,b); printf("%3d%3d\n",a,b);
printf("%f,%f \t",x,y); printf("%–10f,%–10f\n",x,y);
printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y);
printf("%e,%10.2e\n",x,y); printf("%c,%d,%o,%x\n",c,c,c,c);
printf("%ld,%lo,%lx\n",n,n,n); printf("%u,%o,%x,%d\n",u,u,u,u);
printf("%s,%5.3s\n","COMPUTER","COMPUTER”);
return 0;
}
输出:57 5 7
67.856400,–789.124000 67.856400 ,–789.124000
67.86, -789.12, 67.8564,–789.1240,67.856400,–789.124000
6.78564e+001, -
7.89e+002
A,65,101,41
1234567,4547275,12cebd
65535, 177777, ffff, -1
COMPUTER,COM
(5) int main()
{ char c1='a',c2='b',c3='c',c4='\101',c5='\116';
printf("a%c b%c\t%c\t abc\n",c1,c2,c3);
printf("\t\b%c %c\n",c4,c5);
}
输出:aabb c abc
AN
(6) int main()
{ char ch1='A',ch2,ch3;
ch2=ch1+1; ch3=ch2+1;
printf("%3c %3c%3c\n",ch1,ch2,ch3);
ch1=getchar(); ch2=ch1+1; ch3=ch2+1;
printf("%d,%d,%d\n",ch1,ch2,ch3);
}
运⾏上⾯程序时,从键盘输⼊3后按回车。
输出: A B C
3,4,5
小程序开发教程步聚2. 编写程序
(1) ⽤scanf函数输⼊圆柱的半径和圆柱⾼,计算圆周长、圆⾯积、圆柱表⾯积、圆柱体积,并输出计算结果,输出时要有⽂字说明,取⼩数点后两位数字。
main()
{float pi,h,r,l,s,sq,sq,sz; pi=3.1415926;
printf("请输⼊圆半径r, 圆柱⾼h:\n"); scanf("%f,%f',&r,&h);
l=2*pi*r; s=r*r*pi; sq=4*pi*r*r;
sq=4.0/3.0*pi*r*r*r; sz=pi*r*r*h;
printf("圆周长为: l=%6.2f\n",l);
printf("圆⾯积为: s=%6.2f\n",s);
printf("圆球表⾯积为: sq=%6.2f\n",sq);
printf("圆球体积为: sq=%6.2f\n",sq);
printf("圆柱体积为: sz=%6.2f\n",sz);
}
(2) 输⼊⼀个华⽒温度值f,计算并输出摄⽒温度值c=(5/9)*(f–32)。输出要有⽂字说明,取两位⼩数。
main()
{float c,f;
printf("请输⼊⼀个华⽒温度:\n"); scanf("%f",&f);
c=(5.0/9.0*(f-32); printf("摄⽒温度为: %5.2f\n",c);
}
(3) ⽤getchar函数读⼊两个⼩写英⽂字母分别给变量c1和c2,然后分别⽤putchar函数和printf函数输出这两个⼩写英⽂字母以及对应的⼤写英⽂字母。
#include
main()
{char c1,c2;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论