eve血袭者情报收集点:c语言的网络编程特点有哪些?(在线等待,答得好马上给分!)

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 23:26:30
今晚就要答案,在线等待!
michealee3721,你没有看清楚我的问题啊
我问的是“c语言的网络编程特点”,不是所有特点

1. C语言的特点
C语言是一种广受欢迎的结构化程序设计语言,具有极强的生命力.
"C语言无所不能!" :适用面比较广,具有高级语言的优点和低级语言特点
与硬件无关,可移植性强
C语言是一门简洁语言:仅有32个关键字,9种控制语句
在所有高级语言中,目标代码质量高,运行效率最高
结构化,模块化语言,非常适合结构化程序设计.
2.结构化程序设计方法
结构化程序设计方法强调程序设计风格和程序结构的规范化,提倡清晰的结构.
特点:
自顶向下,逐步细化:将问题分解为子问题,将子问题分解为再小的模块.直到该模块我们可以很容易地求解为止.
模块化设计:对每个模块,用结构化的方法加以设计.
结构化编码:对每个模块,分别编写对应的函数.
目标:
便于多人分工协作完成大型软件;便于代码维护;
C语言的编程
3. C语言基本概念
Hello World! 示例
int main()
{ printf("Hello, world!");
return 0; }
函数 结构化,模块化的基础
主函数main()
库函数:数学函数,字符串函数,io函数,内存分配函数
scanf, printf,…
C语言的编程
C语言基本概念(数据表达)
数据类型:整型,实型,字符型
数组:同种数据类型的元素的集合;下标引用
指针: (基本要求:看懂别人的程序)
注:建议掌握计算机硬件工作原理,如直接寻址,间接寻址;至少掌握变量的存储方式 (《C程序设计》p201)
1) 指针即地址;指针变量是用于存放地址的变量
2) 指针可以与整型变量一样运算;
3)★ 指针必须具备合法地址才可用;
C语言的编程
C语言基本概念(数据表达)
结构 (构造类型)
是由不同数据类型的数据组成的集合体;
struct student /*定义结构体类型*/
{ char name[20];
int sex;
int age;
char addr[100]; };
注:结构体变量不能作为一个整体参加数据处理;
struct student Wang2;
Wang2.age=22;
C语言的编程
C语言基本概念(程序结构)
表达式:算术,关系,逻辑,赋值,函数
语句
顺序结构,选择结构(if语句,switch语句),
循环结构(while语句,for语句与do while语句)
函数:输入输出函数
文件:永久保存数据的方式
流式文件;FILE结构体;文件io函数;(p309)
C程序的编写与上机调试
4. C程序的编写与上机调试
Hello World! 示例
cl
tc2.0 (略)
vc6.0: 规范的project操作示范
(1) new一个空的基于console的project;
(2) 创建c文件,并输入代码;
(3) 将c文件加入project;
(4) 编译,调试,运行;
对软件开发成本高和进度估计不准确.
用户对已完成的"软件系统"不满意.
软件产品的质量不可靠.
软件的维护困难,维护的人员与费用不断增加.
缺乏完整,正确的文档资料.
软件成本在计算机系统中所占比例逐年上升.
软件的发展跟不上硬件的发展和用户的要求.
软件的规模非常庞大,多人共同开发,必须有严格和科学的管理.
软件开发过分依赖于个人的智力劳动和经验.
学习指针最好是先学些计算机硬件工作的原理,例如:直接寻址,间接寻址等,只有了解了这些内容以后,你再学指针就比较容易理会,毕竟C语言是一门介于机器语言与高级语言中间的语言,没有一些硬件工作知识是很难领悟它的真谛的.
1.指针是地址变量:它的值有两种:其一是地址,其二是内容.不同的表达方式可以取不同的值,这有点象一个家庭地址在不同的场合标识的人物也不同.例如:父母亲在他们的单位所登记的家庭地址就代表他们自己,而你在学校中登记的同样的家庭地址就代表你自己.
2.指针是可以运算的,它的运算法则与变量是一致的.
另外,在编写一个程序时,除非万不得已,一般不要使用指针变量.建议各位对于指针只要能看懂就行!
对软件开发成本高和进度估计不准确.
用户对已完成的"软件系统"不满意.
软件产品的质量不可靠.
软件的维护困难,维护的人员与费用不断增加.
缺乏完整,正确的文档资料.
软件成本在计算机系统中所占比例逐年上升.
软件的发展跟不上硬件的发展和用户的要求.
软件的规模非常庞大,多人共同开发,必须有严格和科学的管理.
软件开发过分依赖于个人的智力劳动和经验.
学习指针最好是先学些计算机硬件工作的原理,例如:直接寻址,间接寻址等,只有了解了这些内容以后,你再学指针就比较容易理会,毕竟C语言是一门介于机器语言与高级语言中间的语言,没有一些硬件工作知识是很难领悟它的真谛的.
1.指针是地址变量:它的值有两种:其一是地址,其二是内容.不同的表达方式可以取不同的值,这有点象一个家庭地址在不同的场合标识的人物也不同.例如:父母亲在他们的单位所登记的家庭地址就代表他们自己,而你在学校中登记的同样的家庭地址就代表你自己.
2.指针是可以运算的,它的运算法则与变量是一致的.
另外,在编写一个程序时,除非万不得已,一般不要使用指针变量.建议各位对于指针只要能看懂就行!
操作系统,科学计算,自然语言处理…….
C语言是一门简洁语言
简单:仅有32个关键字,9种控制语句(参见附录2).在所有高级语言中,关键字最少的.
简练:在C程序中一行代码可以表达的内容,在别的语言中可能要用好几行代码
C语句: int a[10];
PASCAL:VAR a:ARRAY[1..10] OF INTEGER
生成机器码质量高. 程序执行效率高.仅比汇编程序生成的代码效率低10%~20%.在所有高级语言中,代码执行效率最高的.
学习C语言的难点
C语言:
限制少,灵活性大.使程序设计人员有较大的自由度,以适应宽广的应用面.
引出的问题:
容易出错
技巧性强
因此,C语言虽然很简洁,但学习起来,比Fortran, Basic等高级语言要困难.
怎样学好C语言
多阅读别人书写的结构良好的程序
操作系统,科学计算,自然语言处理…….
C语言是一门简洁语言
简单:仅有32个关键字,9种控制语句(参见附录2).在所有高级语言中,关键字最少的.
简练:在C程序中一行代码可以表达的内容,在别的语言中可能要用好几行代码
C语句: int a[10];
PASCAL:VAR a:ARRAY[1..10] OF INTEGER
生成机器码质量高. 程序执行效率高.仅比汇编程序生成的代码效率低10%~20%.在所有高级语言中,代码执行效率最高的.
学习C语言的难点
C语言:
限制少,灵活性大.使程序设计人员有较大的自由度,以适应宽广的应用面.
引出的问题:
容易出错
技巧性强
因此,C语言虽然很简洁,但学习起来,比Fortran, Basic等高级语言要困难.
怎样学好C语言
多阅读别人书写的结构良好的程序
操作系统,科学计算,自然语言处理…….
C语言是一门简洁语言
简单:仅有32个关键字,9种控制语句(参见附录2).在所有高级语言中,关键字最少的.
简练:在C程序中一行代码可以表达的内容,在别的语言中可能要用好几行代码
C语句: int a[10];
PASCAL:VAR a:ARRAY[1..10] OF INTEGER
生成机器码质量高. 程序执行效率高.仅比汇编程序生成的代码效率低10%~20%.在所有高级语言中,代码执行效率最高的.
学习C语言的难点
C语言:
限制少,灵活性大.使程序设计人员有较大的自由度,以适应宽广的应用面.
引出的问题:
容易出错
技巧性强
因此,C语言虽然很简洁,但学习起来,比Fortran, Basic等高级语言要困难.
怎样学好C语言
多阅读别人书写的结构良好的程序
操作系统,科学计算,自然语言处理…….
C语言是一门简洁语言
简单:仅有32个关键字,9种控制语句(参见附录2).在所有高级语言中,关键字最少的.
简练:在C程序中一行代码可以表达的内容,在别的语言中可能要用好几行代码
C语句: int a[10];
PASCAL:VAR a:ARRAY[1..10] OF INTEGER
生成机器码质量高. 程序执行效率高.仅比汇编程序生成的代码效率低10%~20%.在所有高级语言中,代码执行效率最高的.
学习C语言的难点
C语言:
限制少,灵活性大.使程序设计人员有较大的自由度,以适应宽广的应用面.
引出的问题:
容易出错
技巧性强
因此,C语言虽然很简洁,但学习起来,比Fortran, Basic等高级语言要困难.
怎样学好C语言
多阅读别人书写的结构良好的程序
操作系统,科学计算,自然语言处理…….
C语言是一门简洁语言
简单:仅有32个关键字,9种控制语句(参见附录2).在所有高级语言中,关键字最少的.
简练:在C程序中一行代码可以表达的内容,在别的语言中可能要用好几行代码
C语句: int a[10];
PASCAL:VAR a:ARRAY[1..10] OF INTEGER
生成机器码质量高. 程序执行效率高.仅比汇编程序生成的代码效率低10%~20%.在所有高级语言中,代码执行效率最高的.
学习C语言的难点
C语言:
限制少,灵活性大.使程序设计人员有较大的自由度,以适应宽广的应用面.
引出的问题:
容易出错
技巧性强
因此,C语言虽然很简洁,但学习起来,比Fortran, Basic等高级语言要困难.
怎样学好C语言
多阅读别人书写的结构良好的程序

一般不会有人去用纯C去写网络的,
C不是为网络设计的, 网络不是他的长项,
他大部分时候被用来编写高速程序。

如果非要找什么特点的话,那就是速度了.

C#这种程序是开发网络,C并不是~~

C/C++比较底级,面向系统底层。
C++是C的超级体现,也许可以这样说:标准C++ == 标准C + 类概念和类库,用C++比较仅仅用C要方便一些。
而JAVA已经从系统中抽象出来,用JAVA写网络程序(写其它也一样)一般只写应用,不用程序员与系统打多少交道,一般只需调用接口就行了,所以比较C/C++简单。

1、你说得用C语言开发网络程序,一定指的是在WIN/UNIX/LINUX/SOLARIS/FreeBSD等多进程/多线程操作系统下的编程,网络编程是基于B/S或者C/S架构的,无论那种,S都需要有多线程或者子进程的处理与客户端通信的能力,DOS下的C是不具备这个能力。另外,网络程序是对操作系统多线程/多进程能力要求很高的应用,所以UNIX下的C编程能很好的满足要求。

2、网络编程只要遵从一种协议,语言是没有限定的,比较各种语言编写的网路应用的特点,归根结底还是回到这种语言已经它存在的操作系统的特点。相比与其他语言开发的网络程序,用UNIX/SOKCET/C这种模式开发的网络应用能最大限度的利用系统资源,同时兼备UNIX的稳定性和C的高效率,是大型网络应用经常采用的方式,例如著名的freeBSD,大量的论坛都是这样的方式。很多网络应用,离开UNIX和C,在重连接负荷的情况下是无法工作的。

3、但是由于高效与通用是一对矛盾,UNIX/C开发的网络应用,比较靠近系统底层,代码的可移植性、可重用性相对于使用winsock编程的WINDOWS/C++方案的网络应用要差一些,windows的MFC已经对网络协议做了很多层的封装,使用C++来继承可以节省大量开发时间。

4、结论,如果你想开发自己全新的网络应用/协议,并且要承担很重的用户访问负荷,那么你可以用C,而且操作系统要用UNIX/LINUX,如果你仅仅希望用已经成熟的internet协议写一些界面漂亮的网络应用,推荐你用WINDOWS/C++方式。