《变量》
1.变量定义
-
int price = 0,定义了⼀个变量,变量的名字是price;
-
当我们需要在程序⾥保存数据时,就需要⼀个变量来保存它,这样才能参加到后⾯的计算中;
-
变量定义的⼀般形式就是:
<类型名称> <变量名称>
int price; int amount; int price, amount;
-
变量需要⼀个名字,变量的名字是⼀种“标识符”,意思是它是⽤来识别这个和其他变量有着不同的名字
-
标识符有标识符的构造规则。基本的原则是:
1.标识符只能由字母、数字和下划线组成;
2.数字不可以出现在第⼀个位置上;
3.C语⾔的保留字不可以⽤做标识符。
-
ANSI C只能在代码开头的地⽅定义变量,C99可以在任意位置定义变量,只要在赋值前。
2.变量赋值
- int price = 0,price=0是⼀个式⼦,这⾥的“=”是⼀个赋值运算符,表⽰将“=”右边的值赋给左边
的变量。
-
赋值和数学不同,a=b在数学中表⽰关系,即a 和b的值⼀样;
⽽在程序设计中,a=b表⽰要求计算机做⼀个动作:将b的值赋给a;
关系是静态的,⽽动作是动态的。
3.变量初始化
-
当赋值发⽣在定义变量的时候,就是变量的初始化;
-
虽然C语⾔并没有强制要求所有的变量都在定义的地⽅做初始化;
但是所有的变量在第⼀次被使⽤(出现在赋值运算符的右边)之前被应该赋值⼀次;
-
如果没有初始化:程序中变量的值就是那块储存空间原本的值;
-
<类型名称> <变量名称> = <初始值>;
int price = 0; int amount = 100; int price = 0, amount = 100;
4.如何输入
-
输入也在终端窗口中;
-
输入是以行为单位进行的,行的结束标志就是你按下了回车键;
-
按下回车键程序就读入了一个数据,否则程序读不到这个数据
-
读整数scanf("%d", &price),要求scanf这个函数读⼊下⼀个整数,
读到的结果赋值给变量price⼩⼼price前⾯的**&**
-
如果未输入整数,程序未读到数字,就会用默认值进行计算
-
程序要求读⼊多个数字时,可以在⼀⾏输⼊,中间⽤空格分开,也可以在多⾏输⼊
-
在scanf的格式字符串中有⼏个%d,它就等待⽤户输⼊几个整数
当然,字符串后⾯也需要对应有那么多个整数,他们用逗号隔开
5.如何输出
-
printf(“Hello World!\n”);
-
"…"⾥⾯的内容叫做“字符串”,printf会把其中的内容原封不动地输出
-
\n表⽰需要在输出的结果后⾯换⼀⾏
-
printf("%d\n", 23+43);
-
%d说明后⾯有⼀个整数要输出在这个位置上,%d是一个占位符
6.变量类型
-
int price = 0,变量的类型是int。
-
C是⼀种有类型的语⾔,所有的变量在使⽤之前必须定义或声明,所有的变量必须
具有确定的数据类型。数据类型表⽰在变量中可以存放什么样的数据,变量中只能
存放指定类型的数据,程序运⾏过程中也不能改变变量的类型。
7.常量
-
int change = 100 - price;固定不变的数,是常数。直接写在程序⾥,我们称作直接量(literal);
-
更好的⽅式,是定义⼀个常量:const int AMOUNT = 100;int change = AMOUNT - price;
-
const是⼀个修饰符,加在int的前⾯,⽤来给这个变量加上⼀个const(不变的)的属
性。
这个const的属性表⽰这个变量的值⼀旦初始化,就不能再修改了。
如果你试图对常量做修改,把它放在赋值运算符的左边,就会被编译器发现,指出
为⼀个错误;
这个变量在程序开始前定义合适。
8.整数
- 整数类型不能表达有⼩数部分的数,整数和整数的运算结果还是整数。
- 两个整数的运算的结果只能是整数10/3*3=9;
- 计算机⾥会有纯粹的整数这种奇怪的东⻄,是因为整数的运算⽐较快,⽽且占地⽅也⼩。
9.浮点数
-
10和10.0在C中是完全不同的数,10.0是浮点数;
-
浮点数是带⼩数点的数值,⼈们借⽤浮点数这个词来表达所有的带⼩数点的数;
浮点这个词的本意就是指⼩数点是浮动的,是计算机内部表达⾮整数(包含分数和⽆理数)的⼀种⽅式。另⼀种⽅式叫做定点数,不过在C语⾔中你不会遇到定点数。
-
(foot + inch / 12.0) * 0.3048,
当浮点数和整数放到⼀起运算时,C会将整数转换成浮点数,然后进⾏浮点数的运算;
-
double
double的意思是“双”,它本来是“双精度浮点数”的第⼀个单词,⼈们⽤来表⽰浮点
数类型。
除了double,还有float(意思就是浮点!)表⽰单精度浮点数;
输入和输出格式:
printf("%f",a); scanf("%lf",b);