C语言—翁恺课程笔记
计算
变量
int price = 0;
- 这一行,定义了一个变量。变量的名字是price,类型是int,初始值是0。
- 变量是一个保存数据的地方,当我们需要在程序中保存数据时,比如上面的例子中要记录用户输入的价格,就需要一个变量来保存它。用一个变量保存了数据,它才能参加到后面的计算中,比如计算找零。
变量定义
变量定义的一般形式就是: <类型名称><变量名称>;
int price;
int amount;
int price,amount;
变量名称
- 变量需要一个名字,变量的名字是一种“标识符”,意思是它是用来识别这个和那个的不同的名字。
- 标识符有标识符的构造规则。基本的原则是:标识符只能由字母、数字和下划线组成,数字不可以出现在第一个位置上,C语言的关键字(有的地方叫它们保留字)不可以用作标识符。
变量赋值和初始化
int price = 0;
- 这一行,定义了一个变量。变量的名字是price,类型是int,初始值是0.
- price = 0是一个式子,这里的“=”是一个赋值运算符,表示将“=”右边的值赋给左边的变量。
赋值
- 和数学不同,a=b在数学中表示关系,即a和b的值一样;
- 而在程序设计中,a=b表示要求计算机做一个动作:将b的值赋给a。关系是静态的,而动作是动态的。在数学中,a=b和b=a是等价的,而在程序设计中,两者的意思完全相反
初始化
- 当赋值发生在定义变量的时候,就像程序I中的第7行那样,就是变量的初始化。虽然C语言并没有强制要求所有的变量都在定义的地方作初始化,但是所有的变量在第一次被使用(出现在赋值运算符的右边)之前被应该复制一次。
- 如果没有初始化?
变量初始化
- <类型名称><变量名称>=<初始值>;
- int price = 0;
- int amount =100;
- 组合变量定义的时候,也可以在这个定义中单独给单个变量赋初值,如:
- int price = 0, amount = 100;
常量VS变量
常量
- int change = 100 - price;
- 固定不变的数,是常数。直接写在程序里,我们称作直接量(literal)。
- 更好的方式,是定义一个常量:const int AMOUNT = 100;
优点:用有意义的名字,方便用户理解数字的意义;将常量放在程序的开头,便于修改常量的值。
const
- const是一个修饰符,加在int的前面,用来给这个变量加上一个const(不变的)的属性。这个const的属性表示这个变量的值一旦初始化,就不能再修改了。
- int change = AMOUNT - price;
- 如果你试图对常量做修改,把它放在赋值运算符的左边,就会被编译器发现,指出为一个错误。
数据类型
- 整数
int
prinf(“%d”,…)
scanf(“%d”,…) - 带小数点的数
double
printf(“%f”,…)
scanf(“%lf”,…)
浮点数
- 有问题的代码:
#include<stdio.h>
int main()
{
printf("请分别输入身高的英尺和英寸,"
"如输入\"5 7\"表示5英尺7英寸:");
int foot;
int inch;
scanf("%d %d", &foot,&inch);
printf("身高是%f米。\n",
((foot + inch / 12)* 0.3048));//输出结果是3
return 0;
}
- 优化后的代码1:
#include<stdio.h>
int main()
{
printf("请分别输入身高的英尺和英寸,"
"如输入\"5 7\"表示5英尺7英寸:");
int foot;
int inch;
scanf("%d %d", &foot,&inch);
printf("身高是%f米。\n",
((foot + inch / 12.0)* 0.3048));//输出结果是3.3333
return 0;
}
- 优化后的代码2:
#include<stdio.h>
int main()
{
printf("请分别输入身高的英尺和英寸,"
"如输入\"5 7\"表示5英尺7英寸:");
double foot;
double inch;
scanf("%lf %lf", &foot,&inch);
printf("身高是%f米。\n",
((foot + inch / 12)* 0.3048));//输出结果是3.3333
return 0;
}
- 浮点数:带小数点的数值。浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式。另一种方式叫做定点数,不过在C语言中你不会遇到定点数(小数点是固定的)。人们借用浮点数这个词来表达所有的带小数点的数。
- 注意:当浮点数和整数放到一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算。
表达式
- 浮点数:带小数点的数值。浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式。另一种方式叫做定点数,不过在C语言中你不会遇到定点数(小数点是固定的)。人们借用浮点数这个词来表达所有的带小数点的数。
- 注意:当浮点数和整数放到一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算。