C语言程序设计笔记(浙江大学)

写在前面

上课时记的笔记,没有参考价值,只记录对自己有用的东西。

chap1程序设计与C语言

计算机和编程语言

辗转相除法:
寻找两个数之间的最大公约数

int u = 32;
int v = 26;
while (v != 0)
{
    
    
	int temp = u % v;
	u = v;
	v = temp;
}
printf("%d",u);

算法:

  1. 如果v等于0,计算结束,u就是最大公约数;
  2. 如果v不等于0,那么计算u除以v的余数,让u等于v,而v等于那个余数;
  3. 回到第一步。

枚举法
二分法

程序的执行

  • 解释:
    借助一个程序,那个程序能试图理解你的程序,然后借助你的要求执行(有一些特殊的计算能力,e.g.可以运行中修改源代码)
  • 编译:
    借助一个程序,就像一个翻译,把你的程序翻译成计算机真正懂得语言——机器语言——写的程序,然后,这个机器语言系的程序就能直接执行(能够有确定的运算性能,同样的程序运行速度时固定的)
    ps.任何一个语言既可以解释执行又可以编译执行
    C语言一般是编译执行的。

C语言

  • 现代的编程语言在语法上的差异很小
    • 几乎都是C-like语言
  • 语言的能力/适用领域主要是由
    -库
    • 传统决定的

Fortran语言是人类历史上第一个高级程序设计语言。

在高级语言当中,C语言显得是一种比较底层的语言。

计算

变量

赋值
a = b
在数学中表示一种关系,即a和b的值一样,是静态的;
在程序设计中,a = b表示要求计算机把b的值赋给a,是一种动作,是动态的。

C99标准允许在代码的任意位置定义变量。

直接写造程序里的常数,称为直接量,或者幻数(magic number)e.i.你不知道这个数代表的是什么

const是一个修饰符

表达式

算子(operand)也叫操作数,是指参与运算的值,这个值可能是个常数,也可能是个变量,也有可能是一个方法的返回值

符号优先级
p.s.单目:只有一个算子

优先级 运算符 运算 结合关系 距离
1 + 单目不变 自右向左 a*+b
1 - 单目取负 自右向左 a*-b
2 * 自左向右 a*b
2 / 自左向右 a/b
2 %
3
3
4

猜你喜欢

转载自blog.csdn.net/One_Nation_Lee/article/details/109318752
今日推荐