📄 00000002.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER> <BR> <BR> 战 斗 世 家 C 语言讲座 #2 <BR> <BR> 作者: Lgw Lu <BR> E-Mail: <A HREF="mailto:lgwlu@ms1.hinet.net">lgwlu@ms1.hinet.net</A> <BR>--------------------------------------------------------------- <BR> <BR> < K&R C vs ANSI C > <BR> <BR>前言: <BR> <BR> 西元 1978 年,K&R 出了 The C Programming Language 之後, <BR> C 语言 - 红了!! 从 UNIX 移植到各个平台,从此越来越多人用 C, <BR> 但因为电脑科技进步神速,使得各家 Compiler 做的越来越不同. <BR> <BR> 西元 1983 年 ANSI 成立了 C 语言委员会,目的是要制定一套可 <BR> 遵循的 C 语言标准. <BR> <BR>内文: <BR> <BR> 在此我们不研究历史,我们来看看 ANSI 多了啥,有啥好用的!! <BR> (请注意!目前市面上的 C Compiler 大都支援 ANSI 及 K&R 格式) <BR> <BR> .............. <BR> ........ <BR> 说实在的,ANSI 要说完,可能篇幅....... 超级大!! <BR> 所以我指出一些重要的,其他的,如果有机会再说了!! <BR> <BR> (1) 型别转换 <BR> <BR> Ex: <BR> K&R C 写法 ANSI C 写法 <BR> <BR> /* FILE 1 */ <BR> <BR> float a(float,float); <BR> main() <BR> { 同左 <BR> float x=1.2 , y=2.3; <BR> <BR> printf("%f\n",a(x,y)); <BR> } <BR> <BR> /* FILE 2 */ <BR> <BR> float a(x,y) float a(float x,float y) <BR> float x,y; { <BR> { return (x+y); <BR> return (x+y); } <BR> } <BR> <BR> 大家一定以为这两种写法的结果相同,其实不然!! K&R C 写法的 <BR> 结果是错的!! 哇!! 相信有些用这种写法的人一定会觉得-怎麽可能 <BR> ???? 我说明一下,当然你可以试试看!! <BR> <BR> 原因是型别转换不同(详细资料请自行查书),K&R C 会在运算前, <BR> 将 float 转成 double,但因传回是 float,so 资料就失掉准度, <BR> 因此结果是错的!!还有 K&R C 的写法 Compiler 无法帮你做型别检 <BR> 查,容易造成传错型别参数而不自知!! <BR> <BR> 所以 ANSI C 的委员,都建议不要使用此种写法,当然目前都还是 <BR> 支援此写法,用 K&R C 写法的人,自己要小心,以免错了而不知错 <BR> 在哪的情形发生!! <BR> <BR> (2) 资料型别 <BR> <BR> ANSI C 增加了 signed 及 unsigned ,还有 wchar_t ,在这介绍 <BR> 一下 wchar_t!! <BR> <BR> wchar_t : 宽文字,也就是双字元组. <BR> <BR> 这表示 ANSI C 对亚洲也有顾虑到呦!!用法: <BR> <BR> char str[]="战斗世家"; <BR> <BR> 以前这样写,如果想取出其中一字,怎办?!只好分两次 ...... 唉!! <BR> 但如果这样写 <BR> <BR> #include <stddef.h> <BR> <BR> wchar_t str[]=L"战斗世家"; <BR> <BR> (前面 L 是常数前导,设初值最好加一下,作用同 long x=6000000L; <BR> 主要是让 Compiler 确定此型别,毕竟每家 Compiler 都不同嘛!!) <BR> <BR> 那就容易多了,如 "世" 字,就是 str[2];....... 多容易!! <BR> <BR> 这真的很方便,但还是有人写程式不用, 例如 Windows 下的软体 <BR> 常常都不能用中文,也许对亚洲市场没兴趣吧!! <BR> <BR> K&R C vs ANSI C 暂时写到这,还有其他的东东,慢慢後续都会讲 <BR> 到,记得继续看下去呦!! <BR> <BR> 清楚两种写法不同之处了吧!! 建议 - 用 ANSI C 写法吧!! <BR> <BR>预告: <BR> 下篇将介绍 C 语言最强之指标运用!! < 指标 - 强强强 > <BR> <BR>--------------------------------------------------------------- <BR> <BR> <<< 本文版权属於作者 >>> <BR> 本文章可自由引用,拷贝,传阅,但需保持本文章之完整性,从标题 <BR> 到最後版权宣告,且不能用来做商业用途!! <BR> <BR> 若有任何问题,或是错误之处,欢迎来信批评指教!! 谢谢!! <BR> <BR> <BR> <BR> <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -