C语言编程学习:谭浩强版第三版课后习题详解
需积分: 10 165 浏览量
更新于2024-11-03
收藏 65KB TXT 举报
"C语言程序设计_第三版_谭浩强主编_课后习题答案_完整版"
在《C语言程序设计》第三版中,由谭浩强主编的这本书是学习C语言的经典教材,配套的课后习题答案对学习者巩固理论知识和提升编程技能大有裨益。以下是对部分习题的解析:
1.5 题目要求打印星号图案,这涉及到字符输出和控制字符的使用。
```c
void printStars() {
printf("\n");
printf("VeryGood!\n");
printf("\n");
}
```
此题主要考察了printf函数的使用,包括输出字符串和换行。
1.6 题目要求找出三个整数中的最大值,这里运用了条件语句(if)进行比较。
```c
int main() {
int a, b, c, max;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
max = a;
if (max < b) max = b;
if (max < c) max = c;
printf("最大值是:%d\n", max);
}
```
本题旨在掌握变量、输入输出及条件判断的综合运用。
3.6 题目要求输出特定格式的字符串,涉及字符常量、转义字符和格式化输出。
```c
int main() {
char c1 = 'a', c2 = 'b', c3 = 'c', c4 = '\101', c5 = '\116';
printf("a%cb%c\tc%c\tabc\n", c1, c2, c3);
printf("\t\b%c%c", c4, c5);
}
```
这里考察了字符变量的赋值,转义字符的使用,以及格式化输出字符串的技巧。
3.7 题目要求通过字符的ASCII码值计算新的字符串,这里涉及到了ASCII码的加法运算。
```c
#include<stdio.h>
int main() {
char c1 = 'C', c2 = 'h', c3 = 'i', c4 = 'n', c5 = 'a';
c1 += 4;
c2 += 4;
c3 += 4;
c4 += 4;
c5 += 4;
printf("%c%c%c%c%c\n", c1, c2, c3, c4, c5);
}
```
本题主要测试了字符变量的算术运算和ASCII码的理解。
3.9 题目涉及了浮点数与整数的混合运算,以及取模运算的应用。
1. 当`x=2.5, a=7, y=4.7`时,表达式`1x+a%3*(int)(x+y)%2/4`的结果为1,主要考察了浮点数转换为整数以及取模运算的规则。
2. 当`a=2, b=3, x=3.5, y=2.5`时,表达式`(float)(a+b)/2+(int)x%(int)y`的结果为3.5,这里测试了浮点数除法、整数取模和类型转换的结合。
3.10 题目关于自增自减运算符的用法。
```c
int main() {
int i = 8, j = 10, m, n;
m = ++i; // i先加1再赋值给m,此时m=9, i=9
n = j++; // j先赋值给n再加1,此时n=10, j=11
printf("%d %d %d %d", i, j, m, n);
}
```
输出为`9 11 9 10`,考察了自增自减运算符的顺序规则。
3.12 题目是关于赋值运算符的组合使用。
1. `a += a` 相当于 `a = a + a`,所以`a`变为24。
2. `a -= 2` 后`a`变为12。
3. `a *= 2 + 3` 之后`a`变为60。
4. `a /= a + a` 由于`a`此时为60,`a + a`为120,所以`a`变为0.5。
5. `a %= (n %= 2)` 首先`n %= 2`将`n`变为1,然后`a %= 1`,`a`保持不变,仍为0.5。
6. `a += a -= a *= a` 先进行`a *= a`,`a`变为30,接着`a -= a`,`a`变为0,最后`a += a`,`a`仍为0。
所以最终结果分别为:
1. 24
2. 10
3. 60
4. 0.5
以上是部分C语言程序设计第三版的课后习题解答,这些题目涵盖了C语言的基础知识,如变量、数据类型、运算符、流程控制和输入输出等。通过解决这些问题,学习者可以深入理解C语言的基本概念和编程技巧。
点击了解资源详情
373 浏览量
点击了解资源详情
234 浏览量
155 浏览量
2010-01-04 上传
2010-03-25 上传
110 浏览量
157 浏览量

Eric0310
- 粉丝: 0
最新资源
- 掌握必备的DOS命令:从ping到tracert
- J2EE入门指南:从 Oak 到 J2EE Tutorial 的历史演变
- DOM在VBScript中的应用与浏览器对象结构解析
- 网络软件架构风格与设计:REST原则解析
- Velocity模板引擎:Java web开发新选择
- Velocity Java开发指南中文版:入门与实战
- Ruby经典教程:揭开动态编程奥秘
- Java实现快速拼写检查程序设计与分析
- C#编码规范详解:从文件到注释的全面指导
- MapInfo指南:全球视图地理信息系统详解
- Eclipse与Lomboz集成J2EE开发:JBoss服务器设置
- StarTeam 2005 安装与配置指南
- Struts框架入门教程:快速掌握Web开发
- Js表单验证技术全览
- ARM内核结构详解:程序员模型与存储器格式
- C++基础入门与HelloWorld示例