初识C语言与Hello world

      相信大家在编程初期都会学到C语言并且让你编写程序在屏幕上输出Hello world,但关于Hello world你又了解多少呢?下面就让我带着大家一起去了解C语言和Hello world。

       C语言作为计算机编程语言,具有功能强、语句表达简练、控制和数据结构丰富灵活、程序时空开销小的特点。它既具有诸如Pascal、FORTRAN、COBOL等通用程序设计语言的特点,又具有汇编语言(Assemble Language)中的位(bit)、地址(Address)、寄存器(Register)等概念,拥有其他许多高级语言所没有的低层操作能力;它既适合于编写系统软件,又可用来编写应用软件。C语言的这些特点与其发展过程是密不可分的。

       早期的系统软件(包括操作系统)主要用汇编语言编写,因而程序与计算机硬件的关系十分密切,使程序编写难度大、可读性差、难于移植。这样就要求有一种与硬件关系不紧密的高级语言(High-level Programming Language)用于编程,但早期高级语言缺少汇编语言的某些操作功能,使系统软件的编写十分困难。

       1972年,工作于贝尔实验室的Dennis Ritchie在B语言的基础上设计并实现了C语言。随后,Dennis Ritchie又和Ken Thompson一起设想使用C语言来构造一批软件工具作为软件工作者的开发平台,这些平台包括不太依赖于计算机硬件的操作系统和语言编译软件。UNIX操作系统就是由他们两人用汇编语言编写而成的,并成为一种典型的分时操作系统。他们在1973年对UNIX作了重写,其中90%以上的代码是用C语言改写的,增加了多道程序设计能力,同时大大提高了UNIX操作系统的可移植性和可读性。

       在以后的若干年中,C语言经过多次修改,渐渐形成了不依赖于具体机器的C语言编译软件,成为如今广泛应用的计算机语言之一。

       目前,在各种类型的计算机和操作系统下,有不同版本的C语言编译程序,这些C编译程序有各自的特点。一般来说,1978 年B. W. Kernighan 和Dennis Ritchie(简称K & R)合著的The C Programming Language 是各种C语言版本的基础,称之为旧标准C语言。1983年,美国国家标准化协会(ANSI)制定了新的C语言标准,称ANSIC。目前使用的如Microsoft C、Turbo C等版本把ANSI C作为一个子集,并在此基础上做了合乎它们各自特点的扩充。
无论是哪种版本的C语言,都具有如下一些共同的特点。

(1)C语言是一种结构化语言

       C语言的主要成分是函数。函数是C语言程序的基本结构模块,程序的许多操作可由不同功能的函数有机组装而成,从而容易达到结构化程序设计中模块的要求。另外,C语言还提供了一套完整的控制语句(如循环、分支等)和构造数据类型机制(如结构、数组等),使程序流程与数据描述也具有良好的结构性。

(2)C语言语句简洁紧凑,使用方便灵活

       C语言一共只有32个保留字和9种控制语句,程序书写形式自由,压缩了一切不必要的成分。例如,用大括号{和}代替复合语句的开始与结束,用运算符++--表示加1和减1,用三目运算符?:来表示一个简单的if-else语句,一行中可书写多个语句,一个语句可书写在不同行上,可采用宏定义和文件包含等预处理语句,等等。这些都使C语言显得非常简洁紧凑。

(3)C语言程序易于移植

       C语言将与硬件有关的因素从语言主体中分离出来,通过库函数或其他实用程序实现它们。这特别体现在输入输出操作上,因为C语言不把输人输出作为语言的一部分,而是作为库函数由具体实用程序实现,这大大提高了程序的可移植性(Portability)。

(4)C语言有强大的处理能力

       由于C语言引入了结构、指针(Pointer)、地址、位运算、寄存器存储等功能,在许多方面具有汇编语言的特点,从而大大提高了语言的处理能力。

(5)生成的目标代码质量高,运行效率高

       用C语言编写的程序,经编译后生成的可执行代码比用汇编语言直接编写的代码运行效率仅低不到20%。这是其他高级语言无法比拟的。

       当然,C语言也有一些不足之处,这主要表现在数据类型检查不严格,表达式出现二义性,不能自动检查数据越界,初学者较难掌握运算符的优先级与结合性的概念等。读者在学习C语言时要充分注意到这些不足,否则在编程中经常会出现一些问题,而且对这些错误的查找也较为困难。

 而对于Hello world,为什么学习编程都是从输出Hello world开始的呢?

       这个就要追溯到编程诞生的时期了,“Hello world ”的起源要追溯到1972年,贝尔实验室著名研究员Brian Kernighan在撰写“B语言教程与指导(Tutorial Introduction to the Language B)”时初次使用(程序),这是目前已知最早的在计算机著作中将Hello和world一起使用的记录。

       在1978年,他在他和Dennis Ritchie合作撰写的C语言圣经“The C Programming Language”中,延用了“Hello world”句式,作为开篇第一个程序。在这个程序里,输出的”Hello world”全部是小写,没有感叹号,逗号后有一空格。虽然之后几乎没能流传下来这个最初的格式,但从此用Hello world向世界打招呼成为惯例。

       随着信息技术的发展,编程越来越重要。计算机的发展可以说与编程语言可以说谁也离不开谁。而Hello world "的延续到如今,更多地表达了对前辈的纪念,也延续着编程语言的初衷,走进编程,走进一个不一样的世界。

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值