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.01.05 By lzq ny
0 0
原创粉丝点击