2014--C语言回首之旅(1)
来源:互联网 发布:淘宝旺铺多少钱 编辑:程序博客网 时间:2024/04/30 10:40
此次C语言回首之旅,内容是一些我回首时新学习到的和一些之前理解不清楚以及一些我感觉不错的。
我看的书主要是C语言之父的《C程序设计语言 第二版 新版》。
1、如果某个算术运算符的所有操作数均为整数,则执行整数运算。但是,如果某个算术运算符有一个浮点型操作数和一个整型操作数,则在开始运算之前整型操作数将会转换为浮点型。
一个温度转换的例子:
1 /* 2 编写一个程序,实现公式℃ = (5/9)(F - 32) 进行华氏温度与摄氏温度的转换 3 */ 4 5 6 #include <stdio.h> 7 8 int main() 9 {10 int fathr, celsius;11 int lower, upper, step;12 13 lower = 0; //温度表的下限14 upper = 300; //温度表的上限15 step = 20; //步长16 17 fathr = lower;18 while(fathr <= upper)19 {20 celsius = 5 * (fathr-32) / 9;21 printf("%3d %6d\n", fathr, celsius);22 fathr += step;23 }24 return 0;25 }
celsius = 5 * (fathr-32) / 9; 在该语句中,之所以把表达式写成先乘5再除以9,而不是直接写成5/9。其原因是在C语言等语言中,整数除法操作将执行舍位,结果中的任何小数部分都会被舍弃。
2、格式声明:
%d 按照十进制整型数打印
%6d 按照十进制整型数打印,至少6个字符宽
%f 按照浮点数打印
%6f 按照浮点数打印,至少6个字符宽
%.2f 按照浮点数打印,小数点后有两位小数
%6.2f 按照浮点数打印,至少6个字符宽,小数点后有两位小数
格式说明可以省略宽度与精度。
%o表示八进制数;
%x表示十六进制数;
%%表示百分号(%)本身
3、#define指令行的末尾没有分号
4、字符的输入与输出:
字符在键盘、屏幕或其他的任何地方无论以什么形式表现,它在机器内部都是以位模式存储的。
getchar()函数从文本流中读入下一个输入字符,并将其作为结果值返回。
区分文件中有效数据与输入结束符:用EOF
一个例子:
1 #include <stdio.h> 2 int main() 3 { 4 int c; 5 c = getchar(); 6 while(c != EOF) 7 { 8 putchar(c); 9 c = getchar();10 }11 return 0;12 }
误区:getchar()不是只能从键盘输入一个字符
在这里,变量c声明为int,因为它必须足够大,除了能存储任何可能的字符外,还要能存储文件结束符EOF。因此,我们将c声明为int,而非char.
EOF定义在头文件<stdio.h>中,是一个整型数。
上述程序中,while中可以改成 (c = getchar()) != EOF。 但是不能写成c = getchar() != EOF
因为 运算符!=的优先级比赋值运算符=的优先级高。 c = getchar() != EOF 等价于 c = (getchar() != EOF)
最后,贴诗一首,与君共勉
最美的爱恋
-- By lzq
多年以前 花恋蜻蝶 蜻蝶翩翩
- 2014--C语言回首之旅(1)
- 2014--C语言回首之旅(开篇)
- 2014--C语言回首之旅(2)
- 回首2014
- 回首2014
- 2006之回首
- 再回首之“拆装机”
- C语言之旅(1)指针
- 我的编程之路(二十八) 回首2014
- 回首C&&C++
- C语言学习之旅
- C语言之排序1
- c语言之题1
- c语言之基础-1
- C语言之指针(1)
- 回首2013,展望2014
- 回首2013,展望2014
- 回首2013~2014
- Kenneth Lane Thompson
- 电子邮件营销如何冲出重围
- SSL证书续费
- sh文件在windows下修改后无法执行的解决方法
- MFC消息映射浅谈
- 2014--C语言回首之旅(1)
- CSS3学习总结
- 2014--C语言回首之旅(2)
- 0025 Java 动态代理(反射的应用)【基础】
- chrome插件示例
- Delphi调用WCF异构编程
- Dennis MacAlistair Ritchie
- Jos-lab2(Exercise 5)
- 使用org.dom4j将java对象转化为xml