C语言之所以是中级偏低的语言,是因为它向汇编靠拢。在汇编中,除了加法,没有乘法,乘法是用汇编的加法算法编写一段程序得到的。同样,在C中,基本操作就是赋值,除了赋值,它什么也不懂,这方面跟汇编一样。谁说C简洁来着?呸,除了汇编第二,第三繁琐就是C,第一那个是01码编程,会那个的就是真牛了。
ANSI C只规定标准C编译器实现能够从某个地址读数据以及向某个地址写数据的功能即可:
从键盘读,是编程的人知道键盘硬件敲入字符时它的信息存放在内存的地址以及编码的意义,才能写出一段程序从这个他了解的地址中读取数据,一旦键盘硬件的构造或编码协议改变,读取程序就要重新编写,所以这种设备IO功能不是C语言本身的事,是编程人员的事,C语言也不会提供可以从任何键盘读取信息的功能,那不是学C语言时该学的,是了解硬件IO知识的人学的,是他们用C语言写好了程序给你使用,是外挂程序,不要拿这些东西当成是C语言的组件去学习,这不叫学C,是学习使用别人写好的程序,跟学用Windows点击右上角的叉叉关闭窗口没什么区别。
输出,是编程的人知道显示器每个点在内存中的位置,当向这个位置写入1时这个点就会亮,后面接着的三个字节是颜色编码,给这些地址写数据,屏幕指定位置就会以指定颜色打亮,或者熄灭。这些同样是硬件结构,C语言本身是什么都不知道的。
寻址、读取、赋值,这就是C语言的基本动作,谁要学三个月才懂?学C根本上用不了一个月,但学硬件结构和知识能要你一辈子的时间。别什么叫学C都没搞清楚。
[
本帖最后由 TonyDeng 于 2011-8-10 19:49 编辑 ]