1.1 计算机与编程语言
- 设计算法 -> 编写程序 -> 计算机执行
- 程序执行的两种方式
1.解释:借助一个程序(解释器),那个程序能试图理解你的程序,然后按照你的要求让计算机执行
2.编译:借助一个程序(编译器),把你的程序翻译成机器语言,然后让计算机执行
编程语言本身没有解释型和编译型之分,任何一段程序既可以解释执行,也可以编译执行
1.2 C语言
- C语言标准:C89 -> C95 -> C99 -> C11 -> C17
2.1 变量
- 整数的运算结果还是整数
- 整数int的输入输出:printf("%d",xxx);scanf("%d",&xxx);
- 浮点数double的输入输出:printf("%f",xxx);scanf("%lf",&xxx);
2.2 表达式
- 程序就是数据加计算
- 赋值运算也是有结果的:a=6表示a被赋予了6这个值,同时也表示a=6这个表达式本身的运算结果为6
- 赋值运算是自右向左结合的:a=b=6等价于a=(b=6),a和b的值都为6
3.1 判断
- 关系运算的结果只有0和1
- 所有关系运算符的优先级低于算数运算符,但是高于赋值运算符
3.2 分支
- if语句只要求()里的值是零或非零
- switch语句的控制表达式只能是整数型的结果
4.1 循环
- 循环体内要有改变条件的机会
4.2 循环应用
- x%n的结果是[0,n-1]的一个整数
- 对整数做%10的操作,就得到了它的个位数;对整数做/10的操作,就去掉了它的个位数
5.3 循环应用
- 求两个数的最大公约数:辗转相除法(两个整数的最大公约数等于其中较小那个数和两数相除的余数的最大公约数)