『C语言入门』第一章-初识C语言(1)

1.什么是c语言


目录

1.什么是c语言

        1.起源

        2.标准化

        3.C生万物

       4.C语言的优缺点

2.编写一个简单的C程序

3.数据类型


        1.起源

         首先,C语言是贝尔实验室的Ken Thompson、Dennis Ritchie等人开发的Unix操作系统的“副产品”————1969年

        因为当时操作系统均是使用汇编语言编写的(UNIX系统也不例外),程序往往难以调试和改进,于是Thompson意识到需要一种更高级的编程语言来完成Unix系统未来的开发,于是他在BCPL语言(20世纪60年代中期产生的一种系统编程语言)的基础上设计了一种小型的B语言,

        不久Ritchie也加入到UNIX项目中,并一同开始用B语言编写程序。

        1970年,贝尔实验室为UNIX项目争取到一台PDP-11计算机,并将B语言改进在PDP-11计算机上成功运行。

        1971年,B语言已经明显不适合PDP-11计算机了,于是Ritchie开始研发B语言的升级版。最初,他将新开发的语言命名为NB语言(New B),但后来却越来越偏移B语言,于是他将其改名为C语言

        1973年,C语言已经足够稳定,可以用来重新编写UNIX系统。同时,改用C语言编写的程序有一个非常重要的好处:可移植性。只要为贝尔实验室的其他计算机编写C语言编译器,他们的团队就能让UNIX系统也运行在那些机器上。

        2.标准化

        C语言在20世纪70年代(特别是1977年到1979年之间)持续发展。这时期出现了一本C语言的书——《C程序设计语言》由Brian Kenighan和Dennis Ritchie合作编写的,此书1979年出版,迅速成为了C程序员必读的“圣经”,并成为了当时C语言事实上的标准,被称为K&R或者“白皮书”

        随着C语言的迅速普及,一系列问题也接踵而至。因为编写新的C语言编译器的程序员都用“白皮书”来作为参考,但遗憾的是,白皮书对一些语言的描写非常模糊,使得不同的编译器会对这些特性做出不同的处理,而且白皮书中并没有对C语言的特性和UNIX系统的特性进行区分,更糟糕的是,白皮书出版后,C语言仍在不同变化,增加新特性并去除了一些老特性,这使得C语言需要一个全面、准确的最新描述开始成为了常识。

        1983年,在美国国家标准学会(ANSI)的推动下,美国开始制定本国的C语言标准。经过多次修订,最终于1988年完成并在1989年12月正式通过,成为ANSI标准X3.159-1989。

        1990年,国际标准化组织(ISO)通过了此项标准,将其作为ISO/IEC 9899:1990国际标准。我们将这一C语言标准成为C89或C90,以区别原始的C语言版本(经典C)

        1999年,ISO通过的ISO/IEC 9899:1999新标准中做出一些重要的改变,这一标准成为C99

        2011年,ISO通过ISO/EC 9899:2011,这一标准所描述的 C语言通常称为 C11

        2018年,ISO通过ISO/IEC 9899:2018,这一标准所描述的 C语言通常称为 C18。

        3.C生万物

        C语言对现代编程语言有着巨大的影响,许多现代编程语言都包含了大量C语言的特性

        1.  C++:        包括了所有 C特性,但增加了类和其他特性以支持面向对象编程

        2.  Java:       基于 C+,因此也继承了 C 的许多特性。

        3.  C# :           由 C++和 Java 发展起来的一种较新的语言。

        4.  Perl:         最初是一种非常简单的脚本语言,在发展过程中采用了C的许多特性。

       4.C语言的优缺点

           优点:    高效,可移植性,功能强大,灵活,具有标准库,与UNIX系统的集成

           缺点:    C程序更容易隐藏错误,C程序可能会难以理解 ,C程序可能会难以修改

2.编写一个简单的C程序

        显示双关语

        

         #include<stdio.h>是必不可少的,它“包含”了C语言标准输入/输出库的相关信息。

        程序的可执行代码都在main函数中,该函数代表“主”函数,一个工程中main函数有且仅有一个

        printf函数来自标准输入/输出库(使用前需要提前输入 #include<stdio.h>),可以产生完美的格式化输出。

         return 0; 则表明程序终止时向操作系统返回值0

3.数据类型

        C语言中,每一个变量都必须有一个类型。类型用来说明变量所存储的数据种类,该图为C语言所具有的数据类型

        C语言中,变量具有不同的类型所占用的内存空间也不同,可如何知道不同的类型所占用的空间为多少呢?

         如图,我们可以通过sizeof操作符配合printf函数去实现知道不同的类型占用的内存空间大小。

                sizeof:是一个单目操作符,用来求类型、变量所占内存空间的大小,单位为字节

        计算机存储空间单位之间换算如图,bit(比特)为最小单位


        至此C语言入门 学习第一篇完结,如果有什么问题欢迎大家在评论区,讨论,指正。

        (第一次码字,实属不易,望大家多多包涵)

        也希望此文对于你能够有所帮助,谢谢大家~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值