C语言程序设计笔记
写在前面
上课时记的笔记,没有参考价值,只记录对自己有用的东西。
week1程序设计与C语言
计算机和编程语言
辗转相除法:
寻找两个数之间的最大公约数
int u = 32;
int v = 26;
while (v != 0)
{
int temp = u % v;
u = v;
v = temp;
}
printf("%d",u);
算法:
- 如果v等于0,计算结束,u就是最大公约数;
- 如果v不等于0,那么计算u除以v的余数,让u等于v,而v等于那个余数;
- 回到第一步。
枚举法
二分法
程序的执行
- 解释:
借助一个程序,那个程序能试图理解你的程序,然后借助你的要求执行(有一些特殊的计算能力,e.g.可以运行中修改源代码) - 编译:
借助一个程序,就像一个翻译,把你的程序翻译成计算机真正懂得语言——机器语言——写的程序,然后,这个机器语言系的程序就能直接执行(能够有确定的运算性能,同样的程序运行速度时固定的)
ps.任何一个语言既可以解释执行又可以编译执行
C语言一般是编译执行的。
C语言
- 现代的编程语言在语法上的差异很小
- 几乎都是C-like语言
- 语言的能力/适用领域主要是由
-库- 传统决定的
Fortran语言是人类历史上第一个高级程序设计语言。
在高级语言当中,C语言显得是一种比较底层的语言。
week2计算
变量
赋值
a = b
在数学中表示一种关系,即a和b的值一样,是静态的;
在程序设计中,a = b表示要求计算机把b的值赋给a,是一种动作,是动态的。
C99标准允许在代码的任意位置定义变量。
直接写造程序里的常数,称为直接量</