个人介绍
C语言

主讲教师:

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔实验室的Dennis M. Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件、三维、二维图形和动画,具体应用例如单片机以及嵌入式系统开发。
C语言之父

2011年10月9日,丹尼斯·里奇去世,享年70岁。

‍       丹尼斯·里奇,全称丹尼斯·麦卡利斯泰尔·里奇。美国计算机科学家,对C语言和其他编程语言、Multics和Unix等操作系统的发展作出了巨大贡献。里奇在哈佛大学学习物理学和应用数学毕业,1967年他进入贝尔实验室,1983年他与肯·汤普逊一起获得了图灵奖。理由是他们“研究发展了通用的操作系统理论,尤其是实现了UNIX操作系统”。 肯·汤普逊和丹尼斯·里奇1999年两人为发展C语言和Unix操作系统一起获得了美国国家技术奖章。在里奇的成长历程中,有两个人对他的影响最大,一个是他父亲,而另一个是他的挚友,同为UNIX发明人的肯·汤普逊。尤其是后者。 有人问过丹尼斯,他的偶像是谁,不论在计算机领域还是其他领域?他说:我不是在英雄熏陶下成长起来的。很显然,对我职业生涯影响最大的人物是肯·汤普逊。UNIX大部分是他的工作,同样也是C语言的前辈,同样Plan 9系统的大部分工作也是他做的。并且在这其间Ken做了第一个计算机象棋大师。

       里奇身上有很多可贵的品格:首先,他对所做的事十分有兴趣。比如创造出Unix的初衷并非为了挣钱,事实上刚开始是为了省钱,或者将他们的游戏装到一个更省钱的机子里边。第二,跳出舒适区工作非常有必要。里奇原本是一个物理学家和数学家,但是,他却成了最具传奇的程序员。很显然,他的专业背景为他研发出C语言或者Unix起了很大帮助,正如里奇所言:“要不惧工作在一个陌生的领域里。”如果里奇花了数十年的时间在晦涩的数学上,或许Unix就会胎死腹中。第三,要有创新思维。Unix在贝尔实验室是幸运的,那里资金充足、不缺员工,他才有条件与他的朋友按照自己的时间安排来研发他们想要的东西。最后,要懂得分享。许多企业都喜欢保密,将自己的核心技术藏匿起来,这在里奇看来都是不成功的。‍

C语言的概说

C语言是1972年由美国的Dennis Ritchie设计发明的,并首次在UNIX操作系统的DEC PDP-11计算机上使用。它由早期的编程语言BCPL(Basic Combined Programming Language)发展演变而来,在1970年,AT&T贝尔实验室的Ken Thompson根据BCPL语言设计出较先进的并取名为B的语言,最后导致了C语言的问世。而B语言之前还有A语言,取名自世界上第一位女 程序员Ada(艾达)。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言的标准。二十世纪八十年代至今的有关程序开发工具,一般都支持符合ANSI C的语法。发展随着微型计算机的日益普及,出现了许多C语言版本。由于没有统一的标准, 使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所为C语言制定了一套ANSI标准,成为现行的C语言标准。

C语言的语法结构


顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。例如:a=3,b=5,现交换a,b的值,这个问题就好像交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为:c=a; a=b;b=c;执行结果是a=5,b=c=3如果改变其顺序,写成:a=b;c=a;b=c;则执行结果就变成a=b=c=5,不能达到预期的目的,初学者最容易犯这种错误。顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s =3.14159*r*r,输出圆的面积s。‍

顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择。对于要先做判断再选择的问题就要使用选择结构。选择结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序。选择结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的选择语句。选择结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。

‍循环结构可以减少源程序重复书写的工作量,用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构,C语言中提供四种循环,即goto循环、while循环、do while循环和for循环。四种循环可以用来处理同一问题,一般情况下它们可以互相代替换,但一般不提倡用goto循环,因为强制改变程序的顺序经常会给程序的运行带来不可预料的错误。

‍       

       用while和do…while循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在语句1中进行的;while循环和for循环都是先判断表达式,后执行循环体,而do…while循环是先执行循环体后判断表达式,也就是说do…while的循环体最少被执行一次,而while循环和for就可能一次都不执行。另外还要注意的是这三种循环都可以用break语句跳出循环,用continue语句结束本次循环,而goto语句与if构成的循环,是不能用break和 continue语句进行控制的。顺序结构、分支结构和循环结构并不彼此孤立的,在循环中可以有分支、顺序结构,分支中也可以有循环、顺序结构,其实不管哪种结构,均可广义的把它们看成一个语句。在实际编程过程中常将这三种结构相互结合以实现各种算法,设计出相应程序,但是要编程的问题较大,编写出的程序就往往很长、结构重复多,造成可读性差,难以理解,解决这个问题的方法是将C程序设计成模块化结构。‍

移动在线 “码”上学习

课程评价

教学资源
课程章节 | 文件类型   | 修改时间 | 大小 | 备注
1.1 C语言的简单介绍及历史背景
视频
.mp4
2018-09-06 18.64MB
1.2 C语言的特点
视频
.mp4
2018-09-06 60.41MB
1.3 C语言程序的结构分析案例
视频
.mp4
2018-09-06 94.82MB
 
视频
.mp4
2018-09-06 63.53MB
 
视频
.mp4
2018-09-06 41.56MB
1.4 C语言程序的结构
视频
.mp4
2018-09-06 65.18MB
1.5 C语言程序的规范
视频
.mp4
2018-09-06 51.71MB
1.6 运行C语言程序的步骤和方法
视频
.mp4
2018-09-06 61.62MB
2.1 C语言的数据类型
视频
.mp4
2018-09-06 116.79MB
2.2 浮点型数据
视频
.mp4
2018-09-06 104.54MB
2.3 变量赋初值
视频
.mp4
2018-09-06 81.12MB
2.4 算数运算符和算数表达式
视频
.mp4
2018-09-06 117.08MB
3.1 顺序程序设计
视频
.mp4
2018-09-06 22.06MB
 
视频
.mp4
2018-09-06 33.37MB
 
视频
.mp4
2018-09-06 25.23MB
3.2 数据的输入与输出
视频
.mp4
2018-09-06 176.69MB
4.1 关系运算符和关系表达式
视频
.mp4
2018-09-06 41.63MB
4.2 逻辑运算符和逻辑表达式
视频
.mp4
2018-09-06 70.58MB
4.3 if语句
视频
.mp4
2018-09-06 92.61MB
4.4 switch语句
视频
.mp4
2018-09-06 62.64MB
5.1 函数概念及无参函数的定义
视频
.mp4
2018-09-06 99.89MB
5.2 有参函数的定义
视频
.mp4
2018-09-06 81.26MB
5.3 函数的参数
视频
.mp4
2018-09-06 134.34MB
5.4 函数的返回值及调用
视频
.mp4
2018-09-06 107.49MB
6.1 While语句及Do...While语句
视频
.mp4
2018-09-06 184.16MB
6.2 用For语句实现循环
视频
.mp4
2018-09-06 104.27MB
6.3 For语句的几点说明
视频
.mp4
2018-09-06 95.44MB
6.4 循环的嵌套
视频
.mp4
2018-09-06 167.07MB
7.1 数组及一维数组的定义
视频
.mp4
2018-09-06 87.60MB
7.2 一维数组的引用与初始化
视频
.mp4
2018-09-06 115.78MB
7.3 二维数组
视频
.mp4
2018-09-06 48.21MB
7.4 字符数组
视频
.mp4
2018-09-06 86.93MB
提示框
提示框
确定要报名此课程吗?
确定取消

京ICP备10040544号-2

京公网安备 11010802021885号