C语言学习笔记01-C编程介绍概述

计算机思维:重复是计算机最擅长的。

计算方式 枚举(凑) 研究算法进行优化:如二分法

1. 初识编程——程序的定义、编程语言的作用

当问题十分复杂时,我们需要编写程序交由计算机处理,在计算机世界中,程序=算法+数据结构(Wirth公式),程序需要用特殊的编程语言写出来。编程语言不是用来与计算机交谈的(人与计算机的交互如:GUI界面双击图标、CLI界面输入命令),而是用来描述完成一件任务(what)要求计算机执行哪些具体操作步骤的(即告知计算机如何解决问题how to do)。

算法:对操作的描述,用来明确计算机解决问题的方法及具体计算步骤(计算机做的事都叫做计算),而不仅仅是理论;

数据结构:对数据的描述,用来指定使程序能正确运行的数据类型及数据组织形式;数据是指程序能适当处理的信息。

对于程序的直接定义是:程序是一组可被识别并按照一定顺序执行的用来提供所希望的功能和性能的特定指令集合。

2. 编程语言的发展——机器语言、汇编语言、高级语言

机器语言(二进制):计算机能理解的语言,可直接执行。查阅代码手册编写,采用十六进制简化显示。

低级语言——汇编语言:符号语言,使用助记符,编译后可执行。

高级语言:面向过程编程(POP)语言、面向对象编程(OOP)语言等,接近自然语言,编译或解释的方式执行。

3. 程序的两种执行方式——解释、编译

解释:借助一个程序(解释器),该程序能试图理解你的程序,然后它会按照你的要求(源代码)直接让机器执行,但每次执行你的程序都需要借助该解释程序。

编译:借助一个程序(编译器),该程序将你的程序翻译成机器真正能懂的语言——机器语言——写的程序,然后机器语言版的你的程序(如二进制的可执行文件.exe或.out)就可以直接被执行了。

编程语言本身无编译/解释之分,任何编程语言都可以用编译或解释的方式执行。

通常说,C语言是编译型语言,Python是解释型语言,指的是这两种语言的常用执行方式,你当然可以为C语言专门写一个解释器或为Python语言专门写一个编译器来执行程序。

解释型语言有特殊的计算能力,编译型语言有确定的运算性能。随着计算机本身运算速度发展到较高的层次,解释较编译的速度差异已不再是问题。

4. 首先选择C的原因

C语言的市场占有率稳定前3,在工业软件开发领域受欢迎,偏向底层很基础,很多时候无可取代。现代编程语言在语法差异上小,几乎都是C-like语言,其语言能力/适用领域主要由库(类库或函数库)和使用传统决定。

5. C的历史——诞生、发展以及当代C的应用领域

5.1. C的诞生:

1969夏,PDP-7(小型机)上开发了Unix系统,后来在PDP-11上开发了Unix的新版本,使用底层/系统编程语言(机器语言)PL/1,该语言对C语言的开创有重要影响。

FORTRAN(1950 首个高级语言)->BCPL(支持指针)->B语言(支持指针)->C语言

因此,C的特点:支持指针、偏向表达机器指令(偏底层)。

1973.3,Unix的第3版上出现了C语言的编译器。1973.11,Unix第4版完全由C语言重新编写。(鸡和蛋问题)

5.2. C的版本发展:

经典C(K&R the C)->1989 ANSI C->1990 ISO C89->1995 C95、1999 C99(最新),当代所有编译器均支持C99。面向对象的C++语言同时兼容面向过程的C语言,你在.cpp文件或.c文件中均可编写C源代码。

不同C版本标准,语法略有差异,能力也有提升,如C99支持任意位置定义变量、const修饰符等。

5.3. C语言应用领域:

操作系统、嵌入式系统、驱动程序、底层驱动、图形引擎、图像处理、声音效果……C语言是偏向底层的基础性语言,最注重开发效率,日常应用往往不用C语言编写。学习C的过程主要是练习代码而非开发软件。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值