c 的开篇(自学 c 语言)
因为想要成为高级PHPER,所以开始认真学习C语言,我看的书名为 C K&R.pdf。这系列文章将作为读书笔记及心得不定时的发布到博客上。
The first c program
这是摄氏与华氏温度转换的公式:C=(5/9)(F-32)
1 /* 引入库文件 */ 2 #include <stdio.h> 3 #include <stdlib.h> 4 /* 入口函数 */ 5 main() 6 { 7 /* 定义变量 */ 8 int fahr, celsius; 9 int lower, upper, step; 10 11 /* 初始化变量的值 */ 12 lower = 0; 13 upper = 300; 14 step = 20; 15 16 fahr = lower; 17 18 /* 循环语句判断fahr是否自增到最大 */ 19 while (fahr <= upper) { 20 celsius = 5 * (fahr-32) / 9; 21 /* 格式化输出每次计算的结果 */ 22 printf("%d\t%d\n", fahr, celsius); 23 fahr = fahr + step; 24 } 25 /* 暂停 */ 26 system("PAUSE"); 27 return 0; 28 29 }
这个不复杂的程式,包含了很多概念,包括 注释、变量声明与赋值、计算表达式、循环、格式化输出。
results:
1 -17
20 -6
40 4
60 15
80 26
100 37
120 48
140 60
160 71
180 82
200 93
220 104
240 115
260 126
280 137
300 148
the same program write in php
1 <?php 2 // define variable 3 $fahr = 0; 4 $celsius = 0; 5 6 //loop 7 while($fahr <= 300) { 8 // expression 9 $celsius = 5 * ($fahr-32) / 9; 10 // print formatted output 11 printf("%d \t %.2f <br />",$fahr,$celsius); 12 // increase 13 $fahr = $fahr + 30; 14 } 15 16 ?>
results:
0 -17.78
30 -1.11
60 15.56
90 32.22
120 48.89
150 65.56
180 82.22
210 98.89
240 115.56
270 132.22
300 148.89
小结:php不需要去定义所谓的变量类型,因为是弱类型,变量类型的隐式转换交给了 zval . 输出也不需要引入 stdio.h 库文件, 估计已动态包含了。
从输出的结果来看,c 只会返回已定义类型的结果, 而 php 会根据计算的结果动态的转换返回值的类型。
ps: 晚上做完习题画的,嘿嘿:
未完待续 ...