<C 程序设计语言>__第 1 章 导言
2011-04-20 14:57
190 查看
int 与 float 类型的取值范围取决于具体的机器。对于 int 类型,通常为 16 位,其取值范围在 -32678 ~ +32767 之间,也有用 32 位表示的 int 类型。 float 类型通常是 32 位,它至少有 6 位有效数字,取值范围一般在 10^(-38) ~ 10^(+38) 之间。
while 循环语句的执行方式是这样的:首先测试圆括号中的条件:如果条件为真,则执行循环体;然后再重新测试圆括号中的条件,如果为真,则再次执行循环体;当圆括号中的条件测试结果为假时,循环结束。
正确的缩进以及保留适当的空格的程序设计风格对程序的易读性非常重要。我们建议每行只写一个语句,并在运算符两边各加上一个空格字符,这样可以使得运算的结合关系更清楚明了。
即使浮点数常量取的是整型值,在书写时最好还是为她加上一个显式的小数点,这样可以强调其浮点性质,便于阅读。%6f 表示待打印的浮点数至少有 6 个字符宽;%.2f 表示指定待打印的浮点数的小数点后有两位小数,但宽度没有限制。
printf 仅仅是标准库函数中的一个有用的函数而已。
C语言中一个通用规则实例:在允许使用某种类型变量的任何场合,都可以使用该类型的更复杂的表达式。
for 语句是一种循环语句。for (;;)。第一部分是初始化部分,仅在进入循环前执行一次;第二部分是控制循环的测试条件或条件部分。循环控制对该条件求值,如果结果值为真,则执行循环体;此后将执行第三部分,并再次对条件求值。如果计算得到的条件值为假,循环终止执行。
---------------------------
本来我打算写成一个笔记式的日志,但发觉这本书真的很经典,字字珠玑,如果真的像原先想的那样做成一个笔记式的,那几乎是把这本书重新打过一遍,一来造轮子,二来浪费时间。不如用彩色笔在书上划出关键句子,然后把课后习题在这里做一遍。
书中原代码:
练习题答案:
1-8
while 循环语句的执行方式是这样的:首先测试圆括号中的条件:如果条件为真,则执行循环体;然后再重新测试圆括号中的条件,如果为真,则再次执行循环体;当圆括号中的条件测试结果为假时,循环结束。
正确的缩进以及保留适当的空格的程序设计风格对程序的易读性非常重要。我们建议每行只写一个语句,并在运算符两边各加上一个空格字符,这样可以使得运算的结合关系更清楚明了。
即使浮点数常量取的是整型值,在书写时最好还是为她加上一个显式的小数点,这样可以强调其浮点性质,便于阅读。%6f 表示待打印的浮点数至少有 6 个字符宽;%.2f 表示指定待打印的浮点数的小数点后有两位小数,但宽度没有限制。
printf 仅仅是标准库函数中的一个有用的函数而已。
C语言中一个通用规则实例:在允许使用某种类型变量的任何场合,都可以使用该类型的更复杂的表达式。
for 语句是一种循环语句。for (;;)。第一部分是初始化部分,仅在进入循环前执行一次;第二部分是控制循环的测试条件或条件部分。循环控制对该条件求值,如果结果值为真,则执行循环体;此后将执行第三部分,并再次对条件求值。如果计算得到的条件值为假,循环终止执行。
---------------------------
本来我打算写成一个笔记式的日志,但发觉这本书真的很经典,字字珠玑,如果真的像原先想的那样做成一个笔记式的,那几乎是把这本书重新打过一遍,一来造轮子,二来浪费时间。不如用彩色笔在书上划出关键句子,然后把课后习题在这里做一遍。
书中原代码:
/* 打印华氏温度与摄氏温度对照表 */ /* 版本 1 */ #include <stdio.h> main() { int fahr, celsius; int lower, upper, step; lower = 0; upper = 300; step = 20; fahr = lower; while (fahr <= upper) { celsius = 5 * (fahr-32) / 9; printf("%d\t%d\n", fahr, celsius); fahr = fahr + step; } } /* 版本 2 */ main() { int fahr, celsius; int lower, upper, step; lower = 0; upper = 300; step = 20; fahr = lower; while (fahr <= upper) { celsius = (5.0 / 9.0) * (fahr-32.0) ; printf("%3.0f\t%6.1f\n", fahr, celsius); fahr = fahr + step; } } /* 版本 3 */ main() { int fahr; for (fahr = 0; fahr <= 300; fahr = fahr + 20) printf ("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32)); } /* 版本 4 */ #define LOWER 0 #define UPPER 300 #define STEP 20 main() { int fahr; for (fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP) printf ("%3d %6.1f\n", fahr, (5.0/9.0) * (fahr - 32)) }
练习题答案:
1-8
#include <stdio.h> main() { int c; int nb, nt, nl; nb = 0; nt = 0; nl = 0; while ((c = getchar()) != EOF) { if (c == ' ') ++nb; else if (c == '\t') ++nt; else if (c == '\n') ++nl; } printf("Blanks: %d, Tab: %d, Line: %d", nb, nt, nl); }
相关文章推荐
- <一> 导言
- <转载><!DOCTYPE html>很重要
- <转>小故事让你秒懂“资产证券化”
- <Android 应用 之路> 天气预报(一)
- <a>标签的href和onclick属性
- <转载>一份诚恳的互联网找工作总结和感想(附:怎样花两年时间去面试一个人)
- <设计模式9>观察者模式
- <>信号
- <转载>让iOS的应用程序在点击设备的home键返回桌面后,再次打开应用进入启动画面
- IOS开发中(null)与<null>的处理
- <jsp:include>和<%@include%>的区别
- Mybatis的<where><foreach><set>等标签详解
- <Linux>WIN10内置Ubuntu子系统运行图形程序,解决中文乱码
- <小技巧>_使用原生C#实现对象的平滑移动
- 【VS Shell Integrated】在VS.Net 2008 IDE中如何设置直接弹出的WPF窗体的Owner(对<在VS.Net 2008 IDE中直接使用WPF窗体作为弹出窗体>的补充
- <Linux> 使用ssh,ngrok 外网远程连接linux(树莓派)
- <a href="" />,<a href="#" />与<a href="javascript:void(0)" />的区别
- <转>eclipse如何修改dynamic web module version .
- <摘录>详谈高性能TCP服务器的开发
- <转载.翻译>知识图谱简介:事物,而非字符