第四天学习C语言复习
第四天学习
C语言(浙江大学翁恺)
1.3.2 详解第一个程序
-
\n 换行符
-
; 注意每句后边有英文分号
1.3.3做点计算
| C符号 | 意义 |
|---|---|
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| % | 取余(取两个数相除后的余数) |
| () | 括号 |
2.1.2变量定义
变量定义的一般形式
- <类型名称><变量名称>
- int price;
- int amount,price;
变量的名字
- 变量需要一个名字,变量的名字是一种“标识符”,意思是用它来识别这个和那个的不同的名字
- 标识符构造规则:只能由字母、数字、下划线组成,数字不可以出现在第一个位置上,C语言的关键字不可以用做标识符
2.1.3变量赋值与初始化
int price = 0;
- 右边的0值赋值给price,=代表一个动作赋值,与数学中不同,price是int型变量;
- 变量的初始化:当赋值发生在定义变量的时候就是变量的初始化,所有变量在第一次被使用前都应初始化。
变量初始化
- <类型名称><变量名称>=<初始值>
- int price=0,amount = 100;
表达式
“=”是赋值运算符,有运算符的式子叫做表达式。
变量类型
int price=0;
price就是int型
2.1.4 变量输入
scanf("%d",&price);
- 最后的f是formative,格式化输入
- 注意&符号
2.1.5常量vs变量
固定不变的数是常数,直接写在程序里我们称之为直接量(literal)
const
const是一个修饰符,例如放在int前边用来给这个变量加上一个const(不变的)属性,这个const的属性表示这个变量的值一旦初始化就不能再修改了。
一般const修饰的名字是大写的
2.1.6浮点数
计算机中两个整数相除只能是整数
例如:10/3*3=9
- 10.0是浮点数,10和10.0完全不同
浮点数
带小数点的数值。浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式,另一种方式叫做定点数。
当浮点数和整数放到一起运算时,C会将整数转换成浮点数然后进行浮点数的运算。
double
双精度浮点数的第一个单词,人们用来表示浮点数类型,float(意思就是浮点)表示单精度浮点数。
数据类型
- 整数
- 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=6-->a=(b=6)
结合关系
一般自左向右
单目+-和赋值**= **自右向左
交换变量
交换两个变量
已知a,b
-
用t作为中间量t=a,a=b,b=t
-
a=a+b,b=a-b,a=a-b
-
a=ab,b=ab,a=a^b
复合赋值和递增递减
复合赋值
五个算术运算符+-*/%,可以和赋值运算符=结合起来形成复合赋值运算符,例如total += 5;
注意两个运算符中间不要有空格s
先算右边再算左边
total* = sum+12; 即total = total * (sum+12)s
递增递减运算符
++和--是两个单目运算符,这个算子必须是变量,这两个运算符分别叫做递增和递减运算符,它们的作用就是给这个变量+1或者-1
前缀 ++a
后缀 a++
这两个运算符有其历史来源,可以单独使用,但是不要组合进表达式

浙公网安备 33010602011771号