C语言发展历史,C语言特点,C语言利于弊,入门须知三招

C语言是面向过程的,而C++是面向对象的

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

C语言的发展历史:

20世纪70年代初,贝尔实验室的Dennis Richie 等人在B语言基础上开发出C语言,最初是作为UNIX的开发语言;

20世纪70年代末,随着微型计算机的发展,C语言开始移植到非UNIX环境中,并逐步成为独立的程序设计语言;

在1978年,Kernighan和里奇的《C程序设计语言》第一版出版,在这本书中,C语言通常被表述成“K&R C”;

1988年ANSI(美国国家标准协会)对C语言进行了标准化,产生了“ANSI C”;

在ANSI标准化自己的过程中,一些新的特征被加了进去。ANSI也标准了函数库。ANSI C标准被ISO(国际标准化组织)采纳成为ISO 9899。ISO的第一个版本文件在1990年出版,诞生了“ISO C”;

标准在90年代才经历了改进,这就是ISO9899:1999(1999年出版)。这个版本就是通常提及的C99。它被ANSI于2000年三月采用。

C语言的特点:

小编推荐一个学C语言/C++的学习裙【815393895 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元;

C是结构式语言。结构式语言的显著特点是代码及数据的分割化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化;

C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。

C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件、三维、二维图形和动画,支持多种显示器和驱动器;

C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。

C语言的优点:

既有高级语言的结构和编程环境,又有类似于低级语言(如汇编语言)的系统资源操纵能力。目标代码的执行效率只比汇编低10~20% ,比其他高级语言高,适合解决有实时要求的问题;

有丰富的运算符、数据类型和表达式,对程序设计有良好的适应性;

支持以函数为基础结构化程序设计、多文件构成及文件独立编译,适合大型复杂程序设计;

语言简洁、紧凑,使用方便、灵活,书写形式自~由;

代码及可执行程序的可移植性好。

C语言的缺点:

C语言它的最大的缺点就是,如果你的项目很复杂,大量的开发人员互相之间需要更新大段代码时,C语言可能会使事情变得异常麻烦。因为C是在面向对象方法流行之前开发的,这大大降低了C语言复杂设计的可能性。(不要以为C语言做不了大项目 - -世界上有太多的经典都是用C语言完成的,如果你想了解C语言的能力,不妨看看QUAKE3的源代码——很敬佩ID的无私,这份代码完全是公开的,任何人都可以使用它与修改它。);

输入输出相对很多语言都较为复杂。对于字符串的处理,只能通过字符数组实现。绘图操作较为复杂;

C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别;

C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握;

指针是C语言的一大特色,可以说是C语言优于其它高级语言的一个重要原因。就是因为它有指针,可以直接进行靠近硬件的操作,但是C的指针操作也给它带来了很多不安全的因素。C++在这方面做了很好的改进,在保留了指针操作的同时又增强了安全性。Java取消了指针操作,提高了安全性;

类型检查机制相对较弱、缺少支持代码重用的语言结构。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/531159.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员怎么看待C语言?最伟大?最落后?

一,前言 对我来说,C语言应该可以算得上是世界上最伟大的编程语言。全中国口气最大的程序员,业界称之为“垠神”,曾经发过文章吐槽过业界各种主流的编程语言(对Java,的Python稍微宽容一些)&…

如何学习C语言?就是这么简单粗暴!

C语言是面向过程的,而C++是面向对象的。 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理…

C/C++对编程的重要性!其他编程语言都是弟弟!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

C语言其实不难,只是你没有找对方法!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

想学好C语言?先把基础打好再说吧!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

C语言新手最常见的问题!你在这里跌倒过吗?

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

用C语言做出你自己的七夕表白程序!

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

C语言/C++编程的起源与能力学习

C语言是面向过程的,而C++是面向对象的 C和C的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得…

Windows下设置自动关机的命令指示符

(请先看置顶博文)https://blog.csdn.net/GenuineMonster/article/details/104495419 Windows定时操作命令:superR,输入:??:??shutdown -s ”??“代表时间…

Ubuntu16.04amp;amp;Windows 10双系统安装教程(UEFI模式)

相信来这里的各位,都是想在Windows 10的PC上安装Linux Ubuntu16.04,来达到双系统并用的目的。 那么接下来,我就在默认已安装Windows 10的基础上介绍如何以UEFI的方式安装Ubuntu16.04!我的PC是联想小新潮7000—13。在装双系统之前…

Linux Ubuntu16.04界面美化

(请先看置顶博文)本博打开方式,请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 很多人在安装系统之后可能对其外观、主题或是桌面壁纸不满意,本文给大家介绍几种美化方法和插件! 1.可以将左侧的“热区”…

Linux16.04和Windows 10双系统下,解决时间不一致问题

装完双系统,你可能会发现某一个系统的时间与现在时间不一致(中国相差八个小 时),那么如何解决这个问题呢? 1.将某一个系统的设置时间更新方式设置为“手动”,而不是“从互联网自动获取”。 2.进入PC的BIO…

基于Vitual Box建立虚拟机,虚拟机系统为Linux Ubuntu16.04

相比于为PC机安装双系统,安装虚拟机在达到相同目的的时候显得更为方便。 那本文就详细的为大家介绍如何在Windows 10的系统下,安装Vitual Box,进而安装虚拟机。 一、下载Vitual Box虚拟机制作软件及镜像文件 Vitual Box网址为:…

ROS安装过程和配置过程(可能出现的问题及解决方法)

(请先看置顶博文)本博打开方式,请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 准备学习ROS,所以在Linux Ubuntu16.04 的系统下安装ROS (建议初学者,先在虚拟机里进行学习和实践&#xff0c…

C语言(CED)排序算法总结。比较完整和详细

排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存 内部排序算法有:直接插入排序,折半插入排…

C语言:表白(多彩小心心)

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff0c;请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 #include <stdio.h> #include <math.h> #include <stdlib.h> #define I 20 #define R 340 #include <string.h> int ma…

Windows 10重装系统时,提示Windows只能安装到GPT磁盘的解决方法(更新于2021.4.28)

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff0c;请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 重要提示&#xff1a;一般情况下&#xff0c;笔记本电脑和台式机所含硬盘数量不同&#xff0c;不同用户对硬盘分区的数量也不同。为防止数据损失&…

Android Studio-------添加按钮

&#xff08;请先看置顶博文&#xff09;本博打开方式&#xff0c;请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 我们要想添加按钮&#xff0c;首先得有一个活动Activity&#xff0c;所以先手动创建一个活动。 点击第一项-> 点击Finish。 创建成功之后&…

Android Studio------------重要提醒

最近帮着很多同学进行Android Studio的安装&#xff0c;发现了很多问题&#xff0c;这些问题确实让人头疼&#xff0c;所以专门写了此文&#xff01; 1、首先是Android Studio的下载和安装&#xff1a; 可能大家都会买一本这样的书去学习&#xff0c;确实是明智之选&#xff…

Ubuntu系统下载网易云音乐

&#xff08;请先看置顶博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 1、访问网易云官网&#xff1a;https://music.163.com/#/download 点击对应的Linux版本下载&#xff1a; 2、下载结束后&#xff0c;打开终端&#xff0c;输入命令&a…