C/C++

开源公司:贝尔实验室

作品详情

中文名
C/C++
展开
发明时间
一九七八年
展开
标准
《K&R》标准
展开
外文名
C/ C Plus Plus
展开
发明者

1C语言的发展过程

当代最优秀的程序设计语言

早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语言之一。

C语言是当今最流行的程序设计语言之一,它的功能丰富、表达力强、使用灵活方便、应用面广、目标程序高、可植入性好,既有高级语言的特点,又有低级语言的许多特点,适合作为系统描述语言,既可以用来编写系统软件,也可以用来编写应用软件。C语言诞生后,许多原来用汇编语言编写的软件,现在都可以用C语言编写了(如UNIX操作系统),而学习和适用C语言要比学习和适用汇编语言容易得多。

C语言的特点

C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。

C语言版本

目前最流行的C语言有以下几种:

·Microsoft Visual C++

·Borland Turbo C++

·AT&T C

这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。

2面向对象的程序设计语言

C++简介

在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C++。 C++进一步扩充和完善了C语言,成为一种面向 对象的程序设计语言。C++目前流行的集成开发环境最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++2017。C++提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。

C和C++关系

但是,C是C++的基础,C++语言和C语言在很多方面是兼容的。因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的。

C timeline

1978 k&R C---->1988 ANSI C-->1995 ISO C

学习C语言最经典的还是The C Programming Language,

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
案例
1.基于ARM Linux的门禁机,设备支持人脸识别、二维码识别、NFC门口识别、远程等各种开门方式,大容量低延迟。 2.我负责整个设备的嵌入式开发,包括Linux系统裁剪、平台构建、组件设计及功能实现。
950Qtqt
搭建后台通讯服务平台连接所有手机终端。公司旨在和所有手机厂商合作,以达到通过网络下发短信、媒体消息等能力。目 前公司已经合作的厂商有小米、oppo 、华为。 责任描述: 1:基于 libevent、hiredis 封装 redis 异步操作接口; 2:基于 zookeeper、libkafka 封装 kafka 接口、调优、维护; 3:基于 zookeeper 封装统一参数配置接口; 4:基于 libevent 封装 TCP 客户端接口; 5:基于 muduo 封装网络库接口; 6:参与整体架构设计、讨论、画图; 7:参与部署结构设计、讨论、画图; 8:封装计速、控速模块接口; 9:参与项目中
960redis即时通讯
远程视频会议解决方案,远程视频会议终端,以及会议教育互动录播终端产品中软件模块,包括会议(课堂)中音视频业务 实现模块;可对会议视频进行录制和推流。本产品的开发前提是为了方便移动端(安卓和 iOS )处理课件操作,主要的视频课件有 flv (非 fliv 课件利用 fimpeg 工具转换)、m3u8课件(此类视频分片下载);以及文档类、网页类等课件的管理。该项目是在 Linux 下完成。参与 SDK 开发。 1:参与整体架构设计、讨论、画图; 2:参与部署结构设计、讨论、画图; 3:参与 SOUI、QT 界面开发; 4:参与项目中部分进程业务代码撰写、调试; 5:负责整个项目工程目录
1020qt视频会议
1、录音系统的设计、开发、测试 2、录音文件的转码、存储、移动等 3、录音文件的故障分析 4、采用ffpeg工具,多线程技术,并发进行录音文件的转码
630redisC
1、负责WAF从无到有的设计 2、区域访问控制、自定义规则、人机挑战、SSL证书卸载、证书匹配、TLSB版本控制等功能开发 3、自动化单元测试,质量保证
1410Nginx
当前共5319个项目

评论