我想学习C语言,该从那学啊?

来源:百度知道 编辑:UC知道 时间:2024/05/16 10:12:18

首先我们来分析一下计算机的组成部分,在输入输出部分的设备我们主要接触的有输出:显示
器、打印机,输入:键盘、鼠标
显示器方面就是我上几次讲的图形方式,对于打印机不作要求
键盘上次用keykey()这样一个函数就可以完成检测按键的功能呢
对于鼠标,鼠标是一个现在用得非常广的一个输入设备,在C语言中是如何对它进行控制呢?

事实上在计算机上有一种叫中断服务例程的代码,它提供中断号来进行计算机的控制。
而鼠标就是调用了其中的33号中断。
因为涉及比较深,所以有兴趣朋友可以仔细看下面的程序,对于初学者可以将下面的代码作
为一个库函数来调用。事实上以下代码是十分经典的,即使是自己要写一个C程序,依然可以
用这段代码。
首先要申请一个寄存器变量
union REGS r;
那么怎样去调用中断呢?
事实上是很简单的
在CPU寄存器组中分AX、BX、CX、DX,
在编程时只要先对这些变量附上相应的值,再调用中断号就行了
这些对应的值就代表对应的某些功能,这些值可以在许多书上找到参考表的。
下面以鼠标为例看看中断的调用
在运行之前要执行mouse.com,驱动鼠标。执行后鼠标并不显示出来。
现在要显示鼠标:
在参考表中是这样描述的
------------
入口参数 出口参数
AX=0001显示光标 无 无
AX=0003取光标位置与状态钮 BX(b=0;左键,b=2右键...)
------------
显示鼠标:
r.x.ax=1int86(0x33,&x,&x)
检测鼠标
r.x.ax=3int86(0x33,&x,&x)
if(r.x.bx=1) {当左键按下时完成的程序.....}
if(r.x.bx=2)
.....
事实上就这么简单!任何一个中断的调用者是这么简单。

下面的程序是比较规范的经典的鼠标函数。
就不一一界绍了。
#include<graphics.h>
#