c语言能用来做什么

c语言能用来做什么,第1张

c语言学会了能干的事情有:

1、做嵌入式开发;

2、写漂亮的界面;

3、做服务器开发;

4、可以写游戏;

5、可以写驱动程序;

6、可以写外挂;

7、可以做视频流媒体处理;

8、可做网页和爬虫相关的编程;

9、可以进行黑客编程等等。

C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的DMRitchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

这个简单。

先做几个实体

客户,售货员,

客户包括到达时间,完成目标需要的时间,开始 *** 作的时间,结束的时间。

售货员包括当前正在服务的客户,

开2个线程。一个是客户产生线程。

一个是售货员消费线程

中间用个公共寄存体queue。

客户产生线程每次产生一个带到达时间,完成目标时间的客户。

放倒队列里,并提醒售货员线程接收。

售货员线程空置则从队列里拿一个客户,当前时间=当前时间和客户到达的时间最大的一个。客户的开始 *** 作时间=当前时间

结束时间=当前时间+需要时间。

处理完以后当前时间=结束时间。

如果队列空,售货员线程等待。

不为空就继续取。

注意所有处理过的客户都需要放到一个List里。

然后这一天结束了,就把整个List里的客户全部取出来,就算平均等待时间,各种时间。。。。这个会统计的吧。

要求追分

因为c是单线程的 程序以阻塞方式运行 也就是调用了一个函数(system())必须等到返回值才会继续往下执行。

而如果调用system()函数必需等调用的程序执行结束才返回值,也就是直到你关闭了QQ程序它才会返回,程序也才能继续往下执行知道结束,否则会一直等待,窗口也必然一直在

在过去的二十年里,C和C++已经成为在商业软件的开发领域中使用最广泛的语言。它们为程序员提供了十分灵活的 *** 作,不过同时也牺牲了一定的效率。与诸如 Microsoft Visual Basic等语言相比,同等级别的C/C++应用程序往往需要更长时间来开发。由于C/C++语言的复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与效率之间找到一个更为理想的权衡点。

目前有些语言,以牺牲灵活性的代价来提高效率。可是这些灵活性正是C/C++程序员所需要的。这些解决方案对编程人员的限制过多(如屏蔽一些底层代码控制的机制),其所提供的功能难以令人满意。这些语言无法方便地同早先的系统交互,也无法很好地和当前的网络编程相结合。

对于C/C++用户来说,最理想的解决方案无疑是在快速开发的同时又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保持同步并且能和已有的应用程序良好整合的环境。另外,一些C/C++开发人员还需要在必要的时候进行一些底层的编程。

微软推出C#

C# (C sharp)是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft NET平台的应用程序,Microsoft NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何 *** 作系统上通过Internet进行调用。

最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

效率与安全性

新兴的网络经济迫使商务企业必须更加迅速的应对竞争的威胁。开发者必须不断缩短开发周期,不断推出应用程序的新版本,而不仅仅是开发一个“标志性”的版本。

C#在设计时就考虑了这些问题。它使开发者用更少的代码做更多的事,同时也不易出错。

支持现有的网络编程新标准

新的应用程序开发模型意味着越来越多地解决方案依赖于新出现的网络标准,例如HTML,XML,SOAP等。现存的开发工具往往都是早于Internet出现的,或者是在我们所熟知的网络还处于孕育期时出现的。所以,它们一般无法很好地支持最新的网络技术。

C#程序员可以在Microsoft NET平台上事半功倍的构建应用程序的扩展框架。C#包含了内置的特性,使任何组件可以轻松转化为XML网络服务,通过Internet被任何 *** 作系统上运行的任何程序调用。

更突出的是,XML网络服务框架可以使现有的XML网络服务对程序员来说就和C#对象一样。这样,程序员就可以方便地使用他们已有的面向对象的编程技巧来开发利用现有的XML网络服务。

还有一些精细的特性,使得C#成为一流的网络编程工具。例如,XML正逐渐成为在网络上传输结构化数据的标准。这种数据集合往往非常小。为提高性能,C#允许把XML数据直接映射到struct数据类型,而不是class。这样对处理少量的数据非常有效。

消除大量程序错误

即使是专家级的C++程序员也常会犯一些最简单的小错误——比如忘了初始化变量,但往往就是这些小错误带来了难以预料的问题,有些甚至需要很长时间来寻找和解决。一旦一个程序作为产品来使用,就算最简单的错误纠正起来也可能要付出极其昂贵的代价。

C#的现代化设计能够消除很多常见的C++编程错误。例如:

l资源回收减轻了程序员内存管理的负担。

l C#中变量由环境自动初始化。

l变量是类型安全的。

这样,程序员编写与维护那些解决复杂商业问题的程序就更方便了。

对版本的更新提供内在的支持降低了开发成本

更新软件组件是一项很容易出错的工作,因为代码的修改可能无意间改变原有程序的语义。为协助开发者进行这项工作,C#为版本的更新提供内在的支持。例如,方法重载必须显式声明。这样可以防止编码错误,保证版本更新的灵活性。还有一个相关的特性就是对接口和接口继承的内在支持。这些特性使得C#可以开发复杂的框架并且随着时间不断发展更新它。

总体来说,这些特性使得开发程序项目的后续版本的过程更加健壮,从而减少后续版本的开发成本。

功能、表达与灵活性

商业过程和软件实现的更好对应

企业的商业计划要付诸现实,必须在抽象的商业过程和实际的软件实现之间建立紧密地对应。不过大多数语言都很难做到这点。例如,如今的程序员们一般使用代码注释来注明哪个类对应于某个抽象的商业对象。

C#语言允许类型定义的,扩展的元数据。这些元数据可以应用于任何对象。项目构建者可以定义领域特有的属性并把他们应用于任何语言元素-类,接口等等。然后,开发人员可以编程检查每个元素的属性。这样,很多工作都变得方便多了,比如编写一个小工具来自动检查每个类或接口是否被正确定义为某个抽象商业对象的一部分,或者只是创建一份基于对象的领域特有属性的报表。定制的元数据和程序代码之间的紧密对应有助于加强程序的预期行为和实际实现的之间的对应关系。

扩展交互性

作为一种自动管理的,类型安全的环境,C#适合于大多数企业应用程序。但实际的经验表明有些应用程序仍然需要一些底层的代码,要么是因为基于性能的考虑,要么是因为要与现有的应用程序接口兼容。这些情况可能会迫使开发者使用C++,即使他们本身宁愿使用更高效的开发环境。

C#采用以下对策来解决这一问题:

l内置对组建对象模型(COM)和基于Windows的API的支持;

l允许有限制地使用纯指针(Native Pointer)。

在C#中,每个对象都自动生成为一个COM对象。开发者不再需要显式的实现IUnknown和其他COM接口这些功能都是内置的类似的,C#可以调用现有的COM对象,无论它是由什么语言编写的

C#包含了一个特殊的功能,使程序可以调用任何纯API。在一段特别标记的代码中,开发者可以使用指针和传统C/C++特性,如手工的内存管理和指针运算。这是其相对于其它环境的极大优势。这意味着C#程序员可以在原有的C/C++代码的基础上编写程序,而不是彻底放弃那些代码。

无论是支持COM还是纯API的调用,都是为了使开发者在C#环境中直接拥有必要的强大功能。

结论

C#是一种现代的面向对象语言。它使程序员快速便捷地创建基于Microsoft NET平台的解决方案。这种框架使C#组件可以方便地转化为XML网络服务,从而使任何平台的应用程序都可以通过Internet调用它。

C#增强了开发者的效率,同时也致力于消除编程中可能导致严重结果的错误。C#使C/C++程序员可以快速进行网络开发,同时也保持了开发者所需要的强大性和灵活性。

以上就是关于c语言能用来做什么全部的内容,包括:c语言能用来做什么、用C或java编写排队服务程序、怎样用c兑现一个windows服务程序,在后台模拟键盘输入等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10114945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存