C语言入门:发展历程与编程应用

C语言,是一种用于计算机程序设计的语言,它有着高级语言所具备的特点,同时又含有汇编语言的特性。它是由美国贝尔研究所的D.M.Ritchie在1972年所推出的,它能够被用作工作系统设计语言,进而编写系统应用程序。它的应用范围十分广泛,拥有很强的数据处理能力,不光是在软件开发方面,各类科研也都需要用到C语言,适宜编写系统软件,三维、二维图形以及动画,具体应用诸如单片机以及嵌入式系统开发。

2.c语言入门教程--发展

C语言被命名为C,原因在于,C语言来源于Ken Thompson所发明的B语言,然而,B语言又来源于BCPL语言。

1967年,Martin Richards来自剑桥大学,他对CPL语言做了简化,进而,BCPL语言也就是Basic Combined Programming Language语言产生了。

在1970年时,美国贝尔实验室里头的Ken Thompson,是以BCPL语言作为基础的情况之下,设计出了那种很简单同时又很接近硬件的B语言(此乃取BCPL的首字母)。而且呢,他运用B语言写出了首个UNIX操作系统。

1972年,美国贝尔实验室里有位叫D.M.Ritchie的人,他在B语言基础之上,最终设计出一种全新的语言,他选取了BCPL的第二个字母,将其作为这种语言的称谓,而这便是C语言。

于1977年,Dennis M.Ritchie发表了编译文本,名为《可移植的C语言编译程序》,这个编译文本不依赖于具体机器系统。

于1978年,美国电话电报公司(AT&T)贝尔实验室正式发表了C语言,Brian Kernighan和Dennis Ritchie出版了《The C Programming Language》这本书,C语言开发者们将这本书称作了"K&R",多年来它被用于当作C语言的非正式的标准说明,人们把这个版本的C语言叫做"K&R C"。

在1970年到80年代期间,C语言得到了广泛应用,其应用范围涵盖从大型主机到小型微机的领域,并且还衍生出了许多不同版本的C语言。

成立了一个委员会的是1983年的美国国家标准局,它简称为ANSI也就是American National Standards Institute啦,这个委员会要去制定C语言标准呢。

在1989年的时候,C语言标准获得批准,它叫作ANSI X3.159 - 1989"Programming Language C",而这个版本的C语言标准一般被称作ANSI C。

国际标准化组织ISO(International Organization for Standards),在1990年的时候,接受了89 ANSI C作为I SO C 的标准成果(ISO9899 - 1990)。随后在1994年,ISO进一步采取行动,对C语言的标准做了修订工作。

1999年,ISO再度对C语言标准予以修订,于基本留存原来C语言特性的基础之上,针对相应的需求,增添了一些功能,将其命名为ISO/IEC9899:1999。

C语言的标准,在ANSI进行标准化以后,于一段算是比较长的时间之内,始终维持不变,哪怕C持续在改进,它被ANSI在2000年3月采用了。

有两次技术修正,一次是在2001年进行的,另一次是在2004年进行的。在2011年12月8日,ISO正式公布了C语言新的国际标准草案,它是ISO/IEC 9899:2011,也就是C11。

3.c语言入门教程--特性

世界上有一种高级程序设计语言,它极为流行且使用广泛,C语言就是其中之一。在操作系统、系统使用程序还有需要对硬件进行操作的场合里,用C语言要明显比其它高级语言更具优势,好多大型应用软件都是用C语言编写而成的。C语言有着几种主要特性,具体如下:

1.C属于高级语言,它融合了高级语言的基本结构以及语句,还结合了低级语言的实用性。

2.C是一种具有重要特性的语言,此特性指其为结构式语言,结构式语言具备显著特点啊,该特点在于代码和数据呈现分隔状样态,也就是说呢,程序的各个部分之间,除了存在必要的信息交流这种情况之外,它们彼此之间是相互独立着的。

3.C语言具备齐全功能,有着各式各样的数据类型,还引进了指针概念,这能够让程序效率变得更高,并且其计算功能、逻辑判断功能也颇为强大,能够达成具有决策目的的游戏。

4.C语言有着广泛适用范围,对多种操作系统适用,像是Windows、DOS、UNIX等之类,并且对多种机型也适用。

5.C语言应用指针时,能够直接开展靠近硬件方面的操作,然而C 的指针操作未进行保护,这也给它带去了诸多不安全的因素,C++在这一领域做了改进,在留存指针操作的情况下又增强了安全性。

6.D.M.Ritchie是C语言创始人,C语言文件由数据序列组成,这些序列能构成二进制文件或者文本文件,常用的C语言IDE有Microsoft Visual C++,还有Dev-C++,以及Code::Blocks,Borland C++,Watcom C++,Borland C++ Builder,GNU DJGPP C++,Lccwin32 C Compiler 3.1,High C,Turbo C,C-Free,win-tc,xcode等。

4.c语言入门教程--基础知识

先看C的数据类型,它涵盖了多种,其中有整型,还有字符型,另外有实型或者浮点型这类,也包含枚举类型,数组类型也是其中一部分,还有结构体类型,共用体类型同样属于,指针类型也在其中,最后还有空类型。

值不可改变且符号常量名通常用大写的常量,变量是以某标识符为名字的值可变的量,变量在编译时会为其分配相应存储单元。

如果,一个变量名,后面跟着,一个有数字的中括号,那么,它的声明,即为数组声明,在C++语言代码里。字符串,同样是,一种数组。

当一个变量在声明的时候于其前面运用 * 号,这就说明了它是一个指针类型的变量。也就是说,此变量存放着一个地址,而且指针不单单能够是变量的地址,它还能够是数组的地址,或者是数组元素的地址,又或者是函数的地址。

字符型数组即为C语言里的字符串,使用字符型时无需引用库,然而使用字符串则需要C标准库中用于操作字符串的一些函数,它们与字符数组不同。

文件输入与输出,于C语言而言,输入之事以及输出之事,是借由处于标准库当中的一组函数去达成的。标准输入和输出存在三个,此三个标准输入与输出乃是在标准I/O库当中预先就定义好了的,分别是stdin即标准输入,stdout即标准输出,stderr为输入输出错误。

操作----C语言的操作极为灵动,效能相当丰富,操作类别远比其他程序设计语言多。

关键字,又被称作保留字,它是那种已被C语言自身所运用,不可以当作其他用途来使用的字,比如说关键字不能够被用作变量名、函数名这类标识符,由ANSI标准定义的C语言关键字一共有32个:

自动的,双精度的,整型的,结构体,中断,否则,长整型的,开关语句。

列举事例,用枚举类型,进行注册,使用类型定义,定义字符类型,声明为外部的,有返回值,使用联合体。

这里面包含了常量小数,短数据类型,无符号修饰,与后续用于某种流程控制的关键字,有符号修饰,以及表示无返回值的类型修饰项。

那默认的,跳转到那求大小的,易变的,执行那循环的,要是有条件判断的,当是循环的时候,静态的,内联的。

对_Bool加以限制,对_Complex加以限制,对_Imaginary加以限制,基于_Generic规则。

5.c语言入门教程--语法结构

顺序结构

程序设计里的顺序结构,是最为简单的那种,只需依照解决问题拥有的顺序,去写出对应的语句便可,它的执行顺序是从上面到下面,逐个去执行。顺序构建能够单独运用,进而构成一个简单的完整程序,常见的输入、计算以及输出这三步所形成的程序实例,就是顺序结构这种情况。

选择结构

选择结构的执行,是依照一定条件来挑选执行路径,并非严格按语句呈现的物理顺序,选择结构的程序设计方法的关键之处在于建构合适的分支条件以及剖析程序流程,依据不同的程序流程去选定恰切的选择语句。

循环结构

存在一种结构,它能够削减源程序里重复书写所带来的工作量,其用途是用以描绘重复去执行某段算法的相关问,题这属于程序设计里最能够展现计算机所具备特长的那种程序结构,在C语言当中给出了四种循环,它们分别是goto循环,还有while循环,以及do while循环和for循环。

模块化程序结构

C语言采用函数来达成模块化程序结构,也就是把复杂的C程序划分成若干模块,给每个模块编写成一个C函数,接着借助主函数调用函数以及函数调用函数去完成一大型问题的C程序撰写,所以常常会说:C程序等于主函数加上子函数。所以,对于函数的定义、调用、值的返回等方面要特别着重去理解和应用,并且通过上机调试予以巩固。

相关推荐
良木生香2 小时前
【C++初阶】:泛型编程的代表作---C++初阶模板
c语言·开发语言·数据结构·c++·算法
yashuk2 小时前
C语言中强制类型转换:不同数据类型间的转换方法与示例
c语言·强制类型转换·示例代码·注意事项·数据类型转换
计算机安禾3 小时前
【数据结构与算法】第48篇:算法思想(三):贪心算法
c语言·开发语言·数据结构·算法·贪心算法·代理模式·图论
疏星浅月13 小时前
虚拟内存三大核心作用详解
linux·c语言·arm开发·嵌入式硬件
无敌昊哥战神15 小时前
【保姆级题解】力扣17. 电话号码的字母组合 (回溯算法经典入门) | Python/C/C++多语言详解
c语言·c++·python·算法·leetcode
阿亮爱学代码17 小时前
AAOS(Android Automotive OS)IVI(车机娱乐信息系统)相关的简单讲解
娱乐·aaos·automotive·基础知识
CHANG_THE_WORLD19 小时前
用 C++20 打造一个实用的十六进制对比工具
c语言
计算机安禾19 小时前
【数据结构与算法】第42篇:并查集(Disjoint Set Union)
c语言·数据结构·c++·算法·链表·排序算法·深度优先
Paper_Love20 小时前
user_adc_read.c
c语言