"谭浩强著C程序设计(第三版)完整版课后习题答案"
这份资源提供了谭浩强《C程序设计》第三版的课后习题解答,包括了多个关于C语言编程的问题。以下是对部分习题的解析:
1.5 题目要求打印星号图案,代码实现了一个简单的星号框架,输出为:
```
**********
VeryGood!
**********
```
这是通过使用printf函数和字符串常量完成的。
1.6 题目要求输入三个整数并找出最大值,代码中定义了三个变量a、b、c和一个最大值变量max,通过scanf函数获取用户输入,然后通过if语句比较找到最大值,并打印出来。
3.6 题目涉及字符编码,代码中定义了五个字符变量c1到c5,分别赋值为'a'、'b'、'c'、'\101'(ASCII码对应的'e')和'\116'(ASCII码对应的'n'),然后打印出它们,结果是:
```
aabbccabc
e n
```
其中\t表示制表符,\b是退格符。
3.7 题目要求将"China"转换成ASCII码加4后的字符串"Glmrn",并用另外五个变量存储转换后的字符。代码中分别给c1至c5变量加上4,然后打印,得到结果:
```
Glmre
```
3.9 题目涉及到浮点数和整数的混合运算,第一部分表达式计算结果为:
1. `x + a % 3 * (int)(x + y) % 2 / 4` 当x=2.5, a=7, y=4.7时,结果是12.5。
第二部分表达式计算结果为:
2. `(float)(a + b) / 2 + (int)x % (int)y` 当a=2, b=3, x=3.5, y=2.5时,结果是3.5。
3.10 题目考察自增运算符的使用,代码中定义了四个整数i, j, m, n,并对i和j进行自增操作。打印的结果为:
```
9 11 9 10
```
这说明自增运算符在不同位置有不同的效果,如前自增`++i`先增加后返回,而后自增`j++`先返回后增加。
3.12 题目考察赋值运算符的结合性,给出了6个表达式,每个表达式后的数字表示预期结果:
1. `a += a * 2` 结果是24,相当于a = a + a * 2。
2. `a -= 2` 结果是10,相当于a = a - 2。
3. `a *= 2 + 3` 结果是60,相当于a = a * (2 + 3)。
4. `a /= a + a` 结果是0,相当于a = a / (a + a)。
5. `a %= (n %= 2)` 结果是0,n的值变为5,a与n取模后也为0。
6. `a += a -= a * a` 结果是0,因为先执行a *= a(a变成12),然后a -= a(a变成0),最后a += a(保持为0)。
这些题目涵盖了C语言的基础知识,包括输入输出、基本数据类型、运算符、流程控制、字符编码等方面,是学习C语言编程的好资料。