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: 晚上做完习题画的,嘿嘿:

 

  未完待续 ...

posted @ 2012-09-16 14:50  小言s  阅读(330)  评论(0编辑  收藏  举报