谭浩强 《C程序设计》 第三版 第三章习题答案 (修正)
2010-02-11 20:03
393 查看
第三章习题答案
3.1
不同的计算机语言所容许定义和使用的数据结构不同的。处理同一类问题,如果数据结构不同,算法也会不同。例如:对10个整数排序和对由10个整数构成的数组排序的算法是不同的。因此,在考虑算法时必须注意数据结构。应当综合考虑算法和数据结构,选择最
佳的数据结构和算法。
3.2
在C语言中,要求对所有用到的变量作强制定义,也就是“先定义,后使用”,这样做的目的如下:
(1)
凡未被事先定义的,系统不把它认作变量名,这就能保证程序中变量名使用得正确。
(2)每一个变量被指定为一个确定类型,在编译时就能为其分配相应的存储单元。
(3)指定每一个变量属于一个类型,这就便于在编译时据此检查在程序中要求对该变量进行的运算是够合法。
3.3 略
3.4如下表:
3.5 ‘a’是字符常量,”a”是字符串常量,但二者究竟有什么区别?C规定:在每一个字符串常量的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。
3.6运行结果:
3.7 程序代码:
运行结果:
3.8
运行结果:
3.9
2.5;
3.5;
3.10
9,11,9,10;
3.11
int 99
0 000 0000 0000 0000 0000 0000 0110 0011
char ‘d’ 0 110 0100
unsigned int 76 0000 0000 0000 0000 0000 0000 0100 1100
3.12
a=12
1.
a+=a; a=24;
2.
a-=2; a=10;
3.
a*=2+3; a=a*(2+3); a=60;
4.
a/=a+a; a=a/(a+a); a=0;
5.
a%=(n%=2),n=5; a%=(n=n%2); a%=1; a=a%1; a=0;
6.
a+=a-=a*=a;
a+=a-=(a=a*a); a+=a-=144;a=144;
a+=(a=a-144); a=0;
a+=0;
a=a+0; a=0;
声明:以上只是参考答案,难免有所疏漏或错误,竭诚希望得到大家的批评指正!
3.1
不同的计算机语言所容许定义和使用的数据结构不同的。处理同一类问题,如果数据结构不同,算法也会不同。例如:对10个整数排序和对由10个整数构成的数组排序的算法是不同的。因此,在考虑算法时必须注意数据结构。应当综合考虑算法和数据结构,选择最
佳的数据结构和算法。
3.2
在C语言中,要求对所有用到的变量作强制定义,也就是“先定义,后使用”,这样做的目的如下:
(1)
凡未被事先定义的,系统不把它认作变量名,这就能保证程序中变量名使用得正确。
(2)每一个变量被指定为一个确定类型,在编译时就能为其分配相应的存储单元。
(3)指定每一个变量属于一个类型,这就便于在编译时据此检查在程序中要求对该变量进行的运算是够合法。
3.3 略
3.4如下表:
VC变量的类型 | 25 | -2 | 2147483649 |
int (4B=32bit) | 0000 0000 0000 0000 0000 0000 0001 1001 | 1111 1111 1111 1111 1111 1111 1111 1110 | 1000 0000 0000 0000 0000 0000 0000 0001 |
long (4B=32bit) | 0000 0000 0000 0000 0000 0000 0001 1001 | 1111 1111 1111 1111 1111 1111 1111 1110 | 1000 0000 0000 0000 0000 0000 0000 0001 |
short (2B=16bit) | 0000 0000 0001 1001 | 1111 1111 1111 1110 | 0000 0000 0000 0001 |
signed char (1B=8bit) | 0001 1001 | 1111 1110 | 0000 0001 |
unsigned int (4B=32bit) | 0000 0000 0000 0000 0000 0000 0001 1001 | 1111 1111 1111 1111 1111 1111 1111 1110 | 1000 0000 0000 0000 0000 0000 0000 0001 |
unsigned long (4B=32bit) | 0000 0000 0000 0000 0000 0000 0001 1001 | 1111 1111 1111 1111 1111 1111 1111 1110 | 1000 0000 0000 0000 0000 0000 0000 0001 |
unsigned short (2B=16bit) | 0000 0000 0001 1001 | 1111 1111 1111 1111 1111 1111 1111 1110 | 0000 0000 0000 0001 |
unsigned char (1B=8bit) | 0001 1001 | 1111 1110 | 0000 0001 |
3.6运行结果:
aa bb cc abc A N Press any key to continue |
void main() { char c1='C',c2='h',c3='i',c4='n',c5='a'; printf("%c%c%c%c%c/n",c1+=4,c2+=4,c3+=4,c4+=4,c5+=4); } |
Glmre Press any key to continue |
运行结果:
ab 97 98 Press any key to continue |
2.5;
3.5;
3.10
9,11,9,10;
3.11
int | 99 | 100 | 76 | 53 | 68 | 42 | -1 |
char | ‘c’ | ‘d’ | ‘L’ | ‘5’ | ‘D’ | ‘0’ | ASCII为-1 |
unsigned int | 99 | 100 | 76 | 53 | 68 | 42 | 4294967295 |
float | 99.000000 | 100.00000 | 76.000000 | 53.65 | 68.000000 | 42.0000000 | -1.000000 |
long int | 99 | 100 | 76 | 53 | 68 | 42 | -1 |
0 000 0000 0000 0000 0000 0000 0110 0011
char ‘d’ 0 110 0100
unsigned int 76 0000 0000 0000 0000 0000 0000 0100 1100
3.12
a=12
1.
a+=a; a=24;
2.
a-=2; a=10;
3.
a*=2+3; a=a*(2+3); a=60;
4.
a/=a+a; a=a/(a+a); a=0;
5.
a%=(n%=2),n=5; a%=(n=n%2); a%=1; a=a%1; a=0;
6.
a+=a-=a*=a;
a+=a-=(a=a*a); a+=a-=144;a=144;
a+=(a=a-144); a=0;
a+=0;
a=a+0; a=0;
声明:以上只是参考答案,难免有所疏漏或错误,竭诚希望得到大家的批评指正!
相关文章推荐
- 谭浩强 《C程序设计》 第三版 第四章习题答案 (修正)
- 谭浩强 《C程序设计》 第三版 第五章习题答案 (修正)
- 谭浩强《C程序设计》(第三版)部分习题答案—第七章
- 谭浩强《C程序设计》(第三版)部分习题答案—第六章
- C语言程序设计第三版 谭浩强课后习题答案完整版
- 算法导论第三章习题答案(第三版) Introduction to Algorithm
- 谭浩强C程序设计(第三版)-习题答案
- (原创)谭浩强C程序设计(第三版)-习题答案02
- 数据挖掘概念与技术(原书第三版)范明 孟小峰译-----第三章课后习题答案
- C++程序设计(第二版)谭浩强----程序题课后习题答案第三章
- 数据库原理 西安电子科技大学(第三版) 付婷婷 第三章 课后习题答案
- 随机过程及其在金融领域中的应用 第三章 习题 及 答案
- 谭浩强第六章习题答案
- 数据挖掘概念与技术(原书第三版)范明 孟小峰译-----第一章课后习题答案
- 计算机操作系统第三版课后习题答案-汤小丹梁红兵.doc
- java2 实用教程 第三版 第三章 习题 2
- C++Primer第五版 第三章习题答案(1~10)
- NEUQ1051: 谭浩强C语言(第三版)习题6.7
- Java 2实用教程(第三版)实验指导与习题解答and实验模版代码及答案(一)
- python编程从入门到实践第三章习题答案