C语言程序设计笔记
本系列笔记是学习复盘慕课上浙江大学 翁恺老师《程序设计入门-C语言》课程的笔记和一些自己的总结。(文章的部分截图来自课程视频截图)
课程链接:https://www.icourse163.org/learn/ZJU-199001?tid=1206771253#/learn/content
一. 程序设计与C语言
1.1.1计算机与编程语言
(1)程序与编程语言
程序:用特殊的编程语言写出来表达如何解决问题的
编程语言:不是用来与计算机交谈的,而是描述要求它如何做事情的过程与方法
Eg:计算机不是你写一句编程语言,它反馈一句 而是告诉他How to do;你在电脑上双击某按钮,电脑打开它,这叫交谈.
(2)计算机使用的语言
计算机的语言:十六进制
(3)算法
算法:我们要让计算机做计算,就需要像这样找出计算的步骤,然后用编程语言写出来。计算机做的所有事情都叫做计算(不只有加减乘除),计算的步骤就是算法。
举例:辗转相除法(欧几里得算法):算两个正整数的最大公约数
假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里德算法,是这样进行的:
1997 / 615 = 3 (余 152)
615 / 152 = 4(余7)
152 / 7 = 21(余5)
7 / 5 = 1 (余2)
5 / 2 = 2 (余1)
2 / 1 = 2 (余0)
至此,最大公约数为1。以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,所以就得出了 1997 和 615 的最大公约数 1。
1.1.2计算机的思维方式
Eg:2X+6=20 计算机怎么算?(枚举:1,2,3…)
怎么让计算机变快?
程序执行的两种方式:
(1)解释:一个不同于你的程序的新程序;这个程序能读懂你的程序,不产生任何东西,然后按照你的要求计算机执行。(下次再要执行,还需要这个解释的程序)
(2)编译:翻译你的程序成计算机的语言—机器语言—机器执行。(下次再要执行,只需机器语言)
(3)解释语言&编译语言:
程序语言往往更常哪种执行方式,我们称之为什么语言。例如,C语言是编译语言,但C语言也有解释器。
解释性/编译型在速度上没有非常大的差异
能力使用领域主要是由库(语言带来的库 决定语言的强大)和传统决定了。
1973 Unix上出现 C语言的编译器 且出现 Unix第四版的操作系统是用C写的
2011 c11是最新的C语言版本 支持C99的标准
1.3.1 安装编程软件
1.3.2 第一个C程序
EG hello.c
程序框架:知道学习函数之前 我们的代码都只是在这个框架中间
#include
int main(){
return 0;
}
编译错误
1.3.5 MAC软件安装
Xcode 或者其他 gcc编译器
1.3.6 命令行的编译和执行
编辑器:sublime
可以在sublime里配编译器 但是不能在程序里有输入
如果想再程序里有输入则要使用cmd终端
1.3.7 做点计算(printf)
#include
int main(){
//将后面的值填到d ""里面其他的原封不动输出
printf("%d\n",12+34);
printf("12+34=%d",12+34);
//可做四则运算
return 0;
}