c语言应用范围, 发展前途

c语言应用范围, 发展前途

ID:8392615

大小:42.00 KB

页数:16页

时间:2018-03-25

c语言应用范围, 发展前途_第1页
c语言应用范围, 发展前途_第2页
c语言应用范围, 发展前途_第3页
c语言应用范围, 发展前途_第4页
c语言应用范围, 发展前途_第5页
资源描述:

《c语言应用范围, 发展前途》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、C语言的应用范围,发展前途C一般用来底层开发,如操作系统,嵌入式开发。或者要求效率,高可移植性的地方。C对人要求很高,程序员要考虑的地方太多。他的特点就是每一个字节都可以精确控制,不象C++,编译器为你自动加的东西太多,效率也就低了。windows就是用它来开发的,linux很多程序也用它来写例如:用C语言编写简单的接口程序.在当今,流行的编程软件种类繁多,它们编程方便、易于维护,但是在与硬件直接打交道和编制系统软件时却束手无策,于是C语言就有了用武之地。C语言作为汇编语言与高级语言之间的一种过渡语言,兼有汇编语言的高效和高级语言的方便。  在通讯中,为了保证行运安全可靠,标准的串行口必须

2、具有许多握手信号和状态信息。这是因为通讯的各个计算机CPU速度不一样(这会导致“错帧”)以及发送机发送数据速度比接收机接收速度快(这会导致“过冲”)。为解决这个问题,我们采用一个简单的握手信号,即发送机每次仅发送半个字节(低4位)的数据,而另外半个字节(高4位)则用来传送信息。我们可以对信息位(高4位)进行如下简单的编码:0H:发送的是新的半个字节数据1H:重新发送上次传送错误的数据2H:文件名结束3H:文件结束这样,每当发送机发送一个字节以后,就等待接受机发回送信号,这回送信号就是发送机发送过来的那个字节。发送机接收到回送信号后,把它与刚发送的字节相比较,如果相同,就发送新的半个字节,否

3、则就重新发送。新数据与旧数据通过信息位来区分。下面就是我用C语言编写控制串行口的程序。我们以一个发送文件的程序为例,介绍一下用C语言实现对接口的控制。源程序用C语言编写简单的接口程序源代码#include"dos.h"/*c的特点在于只要有头文件,就能和任意文件接上*/#include"stdlib.h"#include"stdio.h"#definePORT0voidSendFile(charfname);/*发送文件*/voidSend(ints);/*发送一个字节*/voidSendFileName(charfname);/*发送文件名*/voidReceiveFile();/*接收

4、文件*/voidGetFileName(charf);/*接收文件名*/voidInitPort(intport,unsignedcharpara);/*初始化端口*/voidSendPort(intport,charc);/*端口发送*/intReadPort(intport);/*读端口字节*/intCheckState(intport);/*检查端口状态*/intReceive(intport,intG);/*接收一个字节*/main(argc,argv)intargc;char*argv[];{if(argc<2){printf("PleaseinputR(receive)orS(

5、sent)parametre:");exit(1);}InitPort(PORT,231);if(argv[1]=='S')/*检查选择的有效性*/SendFile(argv[2]);elseif(argv[1]=='R')ReceiveFile();else{printf("Errorparament.Pleaseinputagain.");exit(1);}}voidSendFile(fname)char*fname;{FILE*fp;intch,s;if(!(fp=fopen(fname,"rb"))){printf("Can'topenthefile.");exit(1);}S

6、endFileName(fname);do{ch=(int)getc(fp);if(ferror(fp)){printf("Errorreadingfile.");break;}s=ch%16;/*取文件中一个字节的低4位*/Send(s);s=ch/16;/*取文件中一个字节的高4位*/Send(s);}while(!feof(fp));s=46;/*发送文件结束信息*/Send(s);Send(s);fclose(fp);}voidSend(s)ints;{intG;SendPort(PORT,s);G=ReadPort(PORT);/*等待握手信号*/if(s!=G)s=s+16

7、;do{SendPort(PORT,s);G=ReadPort(PORT);/*等待握手信号*/}while(s!=G);}voidSendFileName(fname)char*fname;{ints,ch;printf("Nowtransmitthefile.Pleasewait...");while(*fname){ch=(int)fname++;s=ch%16;/*取文件名中一个字节的低4位*/Send(s);s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。