C程序设计语言:变量

第2周:变量

标签(空格分隔): C


2.1.1 变量:变量定义

如何输入
  • 输入也在终端窗口中
  • 输入是以行为单位进行的,行的结束标志是按下回车键。在按下回车之前,程序不会读到任何东西
变量
  • int price = 0;
    • 这一行定义了一个变量。变量的名字是price,类型是int,初始值是0。
  • 变量是一个保存数据的地方,当我们需要在程序里保存数据时,就需要一个变量来保存它。用一个变量保存了数据,它才能参加到后面的计算中。
  • 变量定义的一般形式就是:<类型名称> <变量名称>;
    • int amount;
    • int price,amount;
变量的名字
  • 变量需要一个名字,变量的名字是一个“标识符”,意思是它是用来识别这个和那个的不同的名字。
  • 标识符有标识符的构造规则。基本原则是:
    • 标识符只能由字母、数字和下划线组成
    • 数字不可以出现在第一个位置上
    • C语言的关键字(或称保留字)不可以用做标识符。

2.1.2 变量:变量赋值与初始化

赋值和初始化
  • int price = 0;
    • 这一行定义了一个变量。变量的名字是price,类型是int,初始值是0。
    • price=0是一个式子,这里的“=”是一个赋值运算符,表示将“=”右边的值赋给左边的变量。
  • 当赋值发生在定义变量的时候,就是变量的初始化。
  • 所有的变量在第一次被使用(出现在赋值运算符的右边)之前应该被赋值一次。
变量初始化
  • <类型名称> <变量名称> = <初始值>;
  • int price = 0;
  • 组合变量定义的时候,也可以在这个定义中单独给单个变量赋初值,如:
    • int price=0,amount = 100;
变量类型
  • int price = 0;
    • 这一行定义了一个变量。变量的名字是price,类型是int,初始值是0。
  • C是一种有类型的语言,所有的变量在使用之前必须有定义或声明,所有的变量必须具有确定的数据类型。数据类型表示在变量中可以存放什么样的数据,变量中只能存放指定类型的数据,程序运行过程中也不能改变变量的类型。

2.1.3 变量:变量输入

读整数
  • scanf("%d", &price);
    • 要求scanf这个函数读入下一个整数,读到的结果赋值给变量price
  • scanf("%d %d", &a, &b);输入两个整数。

2.1.4 变量:变量VS常量

const
  • int change = 100 -price;
  • 固定不变的数,是常数。直接写在程序里,称作是直接量(literal)。
  • 更好的方式,是定义一个常量:const int AMOUNT = 100;
  • const是一个修饰符,加在int的前面,用来给这个变量加上一个const(不变的)属性。这个const的属性表示这个变量的值一旦初始化,就不能再修改了。
  • 常量用大写字母。

2.1.5 变量:浮点数

浮点数
  • 带小数点的数值。浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式。另一种方式叫做定点数,不过在C语言中不会遇到定点数。人们借用浮点数这个词来表达所有的带小数点的数。
  • 当浮点数和整数放在一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算。
double
  • double类型是双精度浮点数,float表示单精度浮点数。
  • printf("%.2f\n", sum); 精确到小数点后两位。
数据类型
  • 整数
    • int
    • printf("%d",…)
    • scanf("%d",…)
  • 带小数点的数
    • double
    • printf("%f",…)
    • scanf("%lf",…)

2.2.1 表达式:表达式

表达式
  • 一个表达式是一系列运算符和算子的组合,用来计算一个值
运算符
  • 运算符(operator)是指进行运算的动作,比如加法运算符“+”。
  • 算子(operand)是指参与运算的值,这个值可能是常数,也可能是变量,还可能是一个方法的返回值。

2.2.2 表达式:运算符优先级

运算符优先级
优先级运算符运算结合关系举例
1+单目不变自右向左a*+b
1-单目取负自右向左a*-b
2*自左向右a*b
2/自左向右a/b
2%取余自左向右a%b
3+自左向右a+b
3-自左向右a-b
4=赋值自右向左a=b
  • a*+b意思是:a*(b)
  • a*-b意思是:a*(-b)
赋值运算符
  • 赋值也是运算,也有结果
  • a=6的结果是a被赋予的值,也就是6
  • a=b=6–>a=(b=6)

2.2.3 表达式:复合赋值和递增递减

复合赋值
  • 5个运算符,±/*%,可以和赋值运算符“=”结合起来,形成复合赋值运算符:“+=”、“-=”、“/=”、“ *= ”、“%=”
  • 注意两个运算符中间不要有空格
  • a/=b意思是:a=a/b
  • a-=b意思是a=a-b
  • a+=b意思是:a=a+b
  • a*=b意思是:a=a*b
前缀后缀
  • ++和–可以放在变量的前面,叫做前缀形式,也可以放在变量的后面,叫做后缀形式。
  • a++的值是a加1以前的值,而++a的值是加了1以后的值,无论哪个,a自己的值都加1了。
#include <stdio.h>

int main()
{
	int a; 
	
	scanf("%d", &a);
	printf("输入a=%d\n", a);
	
	printf("a++=%d\n", a++);
	printf("a=%d\n", a);
	
	printf("++a=%d\n", ++a);	
	printf("a=%d\n", a);
} 
 
输入a=1
a++=1
a=2
++a=3
a=3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值