浙大翁凯C语言网课笔记自整理——C语言入门必看(持更)

第一个视频:C语言简史

为了玩小游戏Space Travel,需要在电脑上使用小型的操作系统。

而当时只有大型机GE-645,以及对应的Multics系统

于是肯·汤普森和丹尼斯·里奇写出了,Unix操作系统

记忆:M→多 复杂

           U→小 相对简单

 


1.1.1计算机与编程语言

计算机是怎么做事情的:告诉计算机如何做,ta只会按照要求一步一步做(How to do)

与计算机交流的方式:使用计算机语言写出的程序,以程序告诉计算机步骤。

计算机懂什么语言呢?↓a1ae0f3377324242a1e5c6dd6dcb0f23.png

是不是看不懂?我们需要借助工具将ta转化成我们能看懂的样子↓

5267a6eb613f487ca1d3c7f29b5ece49.png

在没学编程语言时也许还是看不懂。其实上述程序是在用辗转相除法,计算32和26的最大公约数。 

程序之上的是算法0ee7330d6f3e4451b38329355ce52b38.png

关于算法:↓966f3540141948b88580701a107f1c62.png

以上:计算机--程序--算法

 

编程语言是什么?

起初用编程语言写系统:对机器指令的直接翻译,是很底层的语言

所以要找一个层次高的工具提高效率

编程语言 (1950)Fortran(放弃)→BCPL(简化)→B语言(改造,充分发挥性能)→C语言


1.1.2计算机的思维方式:重复是计算机最擅长的

2x+6=20  求x是几?

计算机会一个一个试x,即枚举

令x=1错  x=2错 x=3错……x=7对

但这样也太慢了,若下一道题答案是70000000呢?太慢太慢

所以我们→→算法

举个🍐例:“二分法”:已经知道x的大致范围为1-10,我们就先令x=5,式子2x+6=16<20,说明答案x比5大,x范围在5-10之间,可能是性=7或x=8,经过计算,得到x=7。只需两步得到答案。

二分法总结:缩范围

我们已经知道计算机能懂的语言(16进制全是数字)和我们写出的程序(字母和数字)有差异。计算机去执行你的程序有两种方式:解释,编译。

解释:借助一个程序→试图理解你的程序,然后按照你的要求来执行。

编译:借助一个程序→把你的程序翻译成计算机能懂的语言(机器语言)写的程序,然后这个机器语言写的程序就能执行了。

2815e2fdc22d4f8e801e4354bea90dfb.jpg

 语言无解释/编译之分,只是常用的执行方式而已

解释型语言:有特殊的计算能力(源代码被解读)  eg:Python

编译型语言:有确定的运算性能(明确的速度) eg:C语言


1.2.1为什么是C?C语言在工业界上有重要地位,在很多领域无可替代

近12年内各种编程语言的使用占比,很多语言都有使用高峰但避免不了会下降,而C语言的使用占比非常稳定,地位牢固

d1607050b8ad445ea8daf47f8b7b6648.jpg

 现代(C语言成熟稳定以后)很多编程语言的语法差异都很小,都像C+like,C是基础。这与C语言取得的历史地位有关。

37d3ae66e1204748bed1c5ea67f1c742.jpg

(上图右边从上至下依次是C语言 JAVA Python)

往往我们说哪个编程语言很厉害很强,不是由于语言本身特点决定的,而是为这个语言别人写的库(比方说C语言的函数库)。有针对各种应用的库,在这些应用上面能做非常强的事,很难做的事可能调用这个库里的函数就可以解决,或在这个库里使用类做一个事情,就解决一个很大的工作。

如果这个语言有针对你要做的事情的库,你用它来写程序就会很容易。


 

1.2.2简单历史:关于C语言和版本的极其简单的历史

a8323cf6ddbf4024b33c66d133af7ce9.jpg

ebcd50f6ae0c4a82971869834250977f.jpg

 (上图右边也称做小白书,是经典著作,强烈建议亲自阅读学习)

f7d1afb338344ea897ebea7465887d86.jpg

 目前,所有的当代编译器都支持C99了

版本的变化意味着能力的提升,C99中变量可以在任意位置定义。


1.2.3 编程软件:C语言的编程软件太多,我们推荐Dev C++

17300b0f84c24cc3b35bb011686db979.jpg

f031f4a862374912b931e4cffb92c886.jpg

469b8dfc42284ddab7d81672d0ba7543.jpg

a20635370e194169900c99f87c540ac8.jpg

 


1.3.1 第一个C程序:如何在Dev C++中编译运行

创建文件:文件——新建——源代码

a817899e76f041b78d62dd61be229be5.jpg

打出“输出Hello world”的程序

312d6864fe4e4fcbbdae1e3dd60803dc.jpg

 程序写完后要记得保存

e5df97d557dc43c287030701b935d4fa.jpg

 保存方式:可以点文件——保存或者Ctrl+S

要保存为C source files,即C语言类型

7e4b3c3c28144518a16860b1ef809c19.jpg

 

502fd989d3714779babba8ff60eee2eb.jpg

4d1d9ed6b34f4e09af19b2e1efffeee3.jpg保存成功后就可以编译运行了,下面有两种方式

bc2d55ecb1fe4c5a8526eeffd8f9f0c1.jpg 

 ②bd0f8c9254934bd89ab58e0724b24e07.jpg

 编译成功后是这个界面1f7ec8e02bbe4415b85d5f69324c106a.jpg

 

 运行后是这个界面(黑色的叫终端)cf6d8e3e7ad343cb9c2fd873eb1d9611.jpg

 进行了以上操作后,恭喜你,第一个c程序运行成功!

下面来介绍程序框架

fd8c18935bb149eaa632fedf3547e604.jpg

 7dd98b2912c04a1daf7d7c5e618fd8af.jpg

7907bc820e7a472890724babf9e1b196.jpg 


 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值