- 1、本文档共92页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
note2
C语言程序设计进阶尹宝林;C语言的基本数据类型;基本数据的特点;基本数据的特点;整型数据的长度;整型数据的限制符;整型数据的数值范围;整型数据的数值范围(续);整型数据的数值范围(续);char的符号类型;有符号数和无符号数的差别;有符号数和无符号数的差别;有符号数与无符号数的转换;有符号数与无符号数的转换;无符号数的使用;变量符号类型的判断;变量符号类型的判断(续);整型的截断;整型的扩展;整型的计算表达式;整型计算与常规算术的差别;产生差别的原因;整型计算溢出的例;溢出的判断;溢出的避免;改变计算顺序避免溢出的例;避免溢出的例(续);避免溢出的例(续);舍入误差引起的错误;int win_w; //窗口的宽度
int win_x; //窗口的起始x坐标
int p_x[MAX_PT]; //计算结果
win_w = 100, win_x = 0, n = 10;
for (i = 1; i n; i++) {
p_x[i] = i / n * win_w + win_x;
printf(“%d\t”, p_x[i]);
}
putchar(‘\n’);
计算结果:
0 0 0 0 0 0 0 0 0 0
原因
i / n == 0;win_w = 100, win_x = 0, n = 10;
w = win_w / n; // 计算每一等分的宽度
// 避免每一次循环时都要进行除法
for (i = 1; i n; i++) {
p_x[i] = w * i + win_x;
printf(“%d\t”, p_x[i]);
}
putchar(‘\n’);
计算结果:
10 20 30 40 50 60 70 80 90
当win_w等于99时,计算结果:
9 18 27 36 45 54 63 72 81
原因:被舍弃的小数部分累加;int win_w, win_x, w;
int p_x[MAX_PT];
win_w = 99, win_x = 0, n = 10;
for (i = 1; i n; i++) {
p_x[i] = win_w * i / n + win_x;
printf(“%d\t”, p_x[i]);
}
putchar(‘\n’);
计算结果:
9 19 29 39 49 59 69 79 89;char的符号类型;char的符号类型(续);char型数据的使用;char的类型转换;整型数据的字节序;整型数据的字节序(续);大尾端(big endian);小尾端(little endian);不同尾端的例;尾端的判断
将数据按字节方式显示
将字符串按整型数据显示
例:
int *ip;
char s[] = abcdefghijk;
ip = (int *) s;
printf(%s, %x, %x\n, s, *ip, *(ip + 1));
ASCII编码:
a 0x61 b 0x62
c 0x63 d 0x64
e 0x65 ... ...
X86上的输出结果:
abcdefghijk,尾端的处理;尾端的显示;浮点数据类型;浮点数据的表示范围;浮点数可精确表达的数;浮点计算的特点;浮点计算的特点(续);浮点计算的特点(续);浮点计算的特点(续);浮点计算的特点(续);浮点计算的特点(续);浮点的比较;不正确的浮点比较的例;浮点计算中的溢出;泊松分布的概率计算;泊松分布的概率计算(续);泊松分布的概率计算(续);泊松分布的概率计算(续);泊松分布的改进;double poisson(int m, int k)
{
double x = 1.0;
int i;
if (m k) {
for (i = 0; i k; i++)
x *= m / M_E / (k - i);
for (; i m; i++)
x /= M_E;
return x;
}
for (i = 0; i m; i++)
x *= m / M_E / (k - i);
for (; i k; i++)
x *= (double) m / (k - i);
re
文档评论(0)