当前位置:网站首页>C语言程序设计笔记(浙大翁恺版) 第一周:程序设计与C语言
C语言程序设计笔记(浙大翁恺版) 第一周:程序设计与C语言
2022-08-09 14:23:00 【CS_Lee_】
按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源。原课程链接如下:
https://www.icourse163.org/course/ZJU-9001
由于是大三抽空回头整理的,所以可能前五章会记的内容比较简略。此外,作为选学内容的A0:ACLLib的基本图形函数和链表两章也没有做。西电的考试是机试,理论上学到结构体就能够应付考试了,但为了以后的学习考虑建议全学。
其他各章节的链接如下:
程序设计与C语言
计算机和编程语言
计算机与编程语言
计算机是怎么做事情的,编程语言是什么?
计算机如何解决问题

计算机语言
程序是用特殊的编程语言写出来表达如何解决问题的
不是用编程语言来和计算机交谈,而是描述要求它如何做事情的过程或方法
计算机的语言

计算机-程序-算法
算法
我们要让计算机做计算,就需要像这样找出计算的步骤,然后用编程语言写出来
计算机做的所有的事情都叫做计算
计算的步骤就是算法
计算机的思维方式
重复是计算机最擅长的
程序的执行
解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行
编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言——机器语言——写的程序,然后,这个机器语言写的程序就能直接执行了
解释语言 vs 翻译语言
语言本身无编译/解释之分,常用的执行方式而已
解释型语言有特殊的计算能力
编译型语言有确定的运算性能
C语言
为什么是C
C语言在工业界占有重要地位,在很多领域无可替代
为什么是C?

其他语言?

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

C语言是从B语言发展而来的,B语言是从BCPL发展而来的,BCPL是从FORTRAN发展而来的
BCPL和B都支持指针间接方式,所以C也支持了
C语言还受到了PL/I的影响,还和PDP-II的机器语言有很大的关系
1973年3月,第三版的Unix上出现了C语言的编译器
1973年11月,第四版的Unix(System Four)发布了,这个版本是完全用C语言重新写的
C的发展与版本-K&R

C的发展与版本-标准
1989年ANSI发布了一个标准——ANSI C
1990年ISO接受了ANSI的标准——C89
C的标准在1995年和1999年两次更新——C89和C99
所有的当代编译器都支持C99了
编程软件
C语言的编程软件选择太多,课程推荐Dev C ++
C语言是一种工业语言,用在哪里?

编译—>运行
C需要被编译才能运行,所以你需要编辑器和编译器或者IDE(集成开发环境)
推荐的编程软件
Dev C++(4.9 for Win7,5.0 for Win8)
免费、安装简单、不用建工程
其他选择
- MS Visual Studio Express(Windows)
- Xcode(Max OS X)
- Eclipse-CDT
- Geany(和MinGW一起)
- Sublime(和MinGW一起)
- vim/emacs(和MinGW一起)
第一个程序
第一个C程序
如何在Dev C++中编辑、编译和运行程序
// hello.c
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
详解第一个程序
程序框架、printf、出错怎么办
程序框架

输出
printf("Hello Wordld!\n");
""里面的内容叫做“字符串”,printf会把其中的内容原封不动地输出
\n表示要在输出的结果后面换一行
程序中的错误

C语言的编译器不管空格,回车和缩进

不要用中文!
中国学生还有一个极其常见的低级错误,就是用了中文输入法来输入程序。那些标点符号,在中文和英文可能看上去相似,但是对于计算机是完全不同的符号,如果你还开了全角标点的话,问题就更严重了
做点计算
如何让程序输出算术结果
做计算
printf("%d\n", 23+43);,printf("23+43=%d\n", 23+43);
%d说明后面有一个整数要输出在这个位置上
四则运算

命令行编译和执行
Mac OS X如何在命令行编辑、编译和运行C程序


编译快捷键:cmd + B
运行快捷键:shift + cmd + B

vi有三种工作方式,刚进入是命令模式,输入i进入插入模式编辑代码,结束后输入Esc回到命令模式,输入:wq保存并退出

边栏推荐
猜你喜欢

*1-4 OJ 605 Gray Code

Zero Time Technology | Nomad cross-chain bridge theft of 180 million US dollars incident analysis

*1-2 OJ 190 run-length code

Meta 发布 1750 亿聊天机器人,亿万富翁老板小扎被「他」疯狂吐槽!

ArcGIS在国土空间·城乡规划中的实战应用

Assembly language learning (2)

【DevOps】jekins部署(一)

After reading the "Redis In-depth Notes" compiled by Tencent bosses in 90 days, I worshipped on the spot.
![[DevOps] jekins configuration (2)](/img/d3/a6774cb8a1f99adf572653be0e581e.png)
[DevOps] jekins configuration (2)

*3-4 CCF 2014-09-3 String matching
随机推荐
Regular expression combat: the latest Douban top250 crawler super detailed tutorial
MySQL锁机制和锁算法
*1-1 OJ 56 Hamming Distance
ArcGIS在国土空间·城乡规划中的实战应用
除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效
IK学习笔记(2)——TwoBones IK
[MRCTF2020]套娃-1
VMWare does not use easy install, install ISO manual manually
dpkg: error: cannot new file '/var/lib/dpkg/info/format-new': no
一款翻译机背后的全球经济浪潮
Add-apt-repository command details
[manjaro] updated kernel file loading failure
* 5-2 CCF 2014-12-3 call auction
兆骑科创创新创业大赛平台,人才引进,项目路演
【软考】2022年上半年软考过啦
Word numbering and text spacing are too large
Unity Obi插件修改到支持URP
Minesweeper game
【DevOps】jekins配置(二)
概率论基础知识整理 | 随机变量的数字特征