1.1算法
- 我们要让计算机做计算,就需要像这样找出计算的步骤,然后用编程语言写出来。
- 计算机做出的所有的事情都叫做计算
- 计算的步骤就是算法
1.1.2计算机的思维模式
程序的执行
- 解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行
- 编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言—机器语言–写的程序,然后,这个机器语言写的程序直接执行了。
1.1.3C语言的历史
-
C语言是从B语言发展而来的,B语言是从BCPL发展而来的,BCPL是从FORTRAN发展而来的。
-
BCPL和B都支持指针间接方式,所以C也支持
-
C语言还受到了PL/I的影响,还和PDP-2的机器语言有很大的关系
-
1973年3月,第三版的Unix出现了C语言的编译器
-
1973年2月,第四版的Unix发不了,这个版本完全是用C语言重新写的
image-20220224212547281
做计算
-
printf("%d\n",23+43);
- %d说明后面有一个整数要输出在这个位置上
-
printf(“23+43=%d\n”,23+43)
如何输入
c ¨K31K int main() { int price = 0; printf("请输入金额(元)"); scanf("%d",&price); int change = 100 - price; printf("找出您%d元\n",change); return 0; }
2.1变量常量
2.1.2变量定义
-
int price = 0;
-
这一行,定义了一个新变量。变量的名字是price,类型是int,初始值是0.
-
变量是一个保存数据的地方,当我们需要在程序里保存数据时,比如上面的例子中要记录用户输入的价格,就需要一个变量来保存它。用一个变量保存了数据,它才能参加后面的计算中,比如计算找零。
变量的名字
变量需要一个名字,变量的名字是一种标识符,意思是它是用来识别这个和那个的不同的名字。
-
标识符有标识符的构造规则。基本的原则是:
**标识符只能是由字母、数字、和下划线组成,数字不能出现在第一个位置上,C语言的关键字不可以用作标识符。
2.1.3变量赋值与初始化
- int price=0;
- 这一行,定义了一个变量。变量的名字是price,类型是int,初始值是0.
- price=0是一个式子,这里的=是一个赋值运算符,表示将=右边的值赋给左边的变量。
- a=b表示要求计算机做一个动作:将b的值赋给a。
初始化
- 当赋值发生在定义变量的时候,就是变量的初始化。
2.1.4变量输入
- scanf("%d",&price);
- 要求scanf这个函数读入下一个整数,读到的结果赋值给变量price
- 小心price前面的&
1#include <stdio.h>
2
3int main()
4{
5 int price = 0;
6
7 printf("请输入金额(元)");
8 scanf("%d",&price);
9
10 int change = 100 - price;
11 printf("找您%d元\n",change);
12 return 0;
13 }
2.1.5变量vs常量
const
- const是一个修饰符,加在int前面,用来给这个变量加上一个const(不变的)的属性。这个const属性表示这个变量的值一旦初始化就不能再修改了。
- int change = AMOUNT - price
- 如果你试图对常量做修改,把它放在赋值运算符的左边,就会被编译器发现,指出为一个错误。
1#include <stdio.h>
2int main()
3{
4 const int AMOUNT = 100;
5 int price = 0;
6 printf("请输入金额(元)");
7 scanf("%d",&price);
8 int change = AMOUNT- price;
9 printf("找您%d元。\n",change);
10 return 0;
11}
2.1.6浮点数
- 美国人固执的使用英制单位,他们习惯几尺几寸来报自己的身高。
1#include <stdio.h>
2int main()
3{
4printf("请分别输入身高的英尺和英寸""如输入\"5 7\"表示5英尺7英寸");
5int foot;
6int inch;
7