C Primer Plus第六版第五章复习题答案

5.10复习题

  1. a.30
    b.27
    c.x=y=1
    d.x=3,y=9

  2. a.6
    b.52
    c.0
    d.13

  3. a.37.5
    b.1.5
    c.35
    d.37
    e.37.5
    f.35.0

//修改后的程序如下
#include <stdio.h>
int main(void)
{	
	int i = 0;
	float n;
	
	printf("Watch out ! Here come a bunch of fractions! \n");
	while (++i < 30)
	{
		n  = 1.0 / i;
		printf(" %f \n", n);
	}
	printf("That'a all folks! \n");

	return 0;
}


  1. 此程序并未初始化sec的值,所以在while loop的测试条件中sec的值为系统随机分配的值,并且在while loop内并没有给用户提供选择是否进行下一项计算的选择,总之这个程序写的很糟糕…
#include <stdio.h>
#define FORMAT "%s! C is cool ! \n "
int main(void)
{
	int num = 10;	
	
	printf(FORMAT, FORMAT);
	printf("####################################\n");
    	printf("%s! C is cool!\n", "%s! C is cool!\n");
    	printf("%d\n", ++num);
    	printf("%d\n", num++);
    	printf("%d\n", num--);
    	printf("%d\n", num);

	return 0;
}

输出结果如下图:在这里插入图片描述
7.

#include <stdio.h>
int main(void)
{
	 char c1, c2;
	 int diff;
	 float num;

	c1 = 's';
	c2 = 'o';
	diff = c1- c2;
	num = diff;
	printf("%c%c%c: %d %3.2f \n", c1, c2, c1, diff, num);

	return 0;
}

输出结果如下图:在这里插入图片描述
8.

#include <stdio.h>
#define TEN 10
int main(void)
{
	int n = 0;

	while (n++ < TEN)
		printf("%5d \n", n);
	printf("\n");

	return 0;
}	

输出结果如下图:在这里插入图片描述
9.

#include <stdio.h>
#define LEN 7
int main(void)
{
	int n = 96;
	while (n++ < LEN + 96)
		printf("%5c \n", n);
	printf("\n");

	return 0;
}

a. 
   1   2


b.
101
102
103
104		//注意x++是执行了的
c.
stuvw


infinity loop
COMPUTER BYTES DOG
COMPUTER BYTES DOG
COMPUTER BYTES DOG
COMPUTER BYTES DOG
//a.将变量x的值增加10
x = x + 10;
//b.将变量x的值增加1
x = x + 1;
//c.将a与b之和的两倍赋值给c
c = 2 * (a + b);
//d.将a与b的两倍之和赋给c
c = a + 2 * b; 
//a.将变量x的值减少1
x = x - 1;
//b.将n除以k的余数赋给m
m = n % k;
//c.q除以b减去a,并将结果赋给p
p = q / (b - a);
//d.a与b之和除以c与d的乘积,并将结果赋给x
x = (a + b) / (c * d);

猜你喜欢

转载自blog.csdn.net/weixin_42912350/article/details/82807654