第四章 运算符、表达式和语句
1.运算符
(1)算术运算符
算术运算符 | 功能 | 示例 |
+ | 加 | a+b |
- | 减 | a-b |
* | 乘 | a*b |
/ | 除 | a/b |
% | 取模 | a%b |
整数除法结果的小数部分都被丢弃,这个过程被称为截尾。
(2)赋值运算符:“=”
(3)增量和减量运算符::“++变量”、“--变量”、“变量++”、“变量--”
(4)关系运算符
关系运算符 | 功能 | 示例 |
== | 等于 | a==b |
!= | 不等于 | a!=b |
> | 大于 | a>5 |
>= | 大于等于 | a>=5 |
< | 小于 | a<5 |
<= | 小于等于 | a<=5 |
逻辑运算符 | 功能 | 示例 |
&& | 逻辑与 | a&&b |
|| | 逻辑或 | a||b |
! | 逻辑非 | !a |
2.数据类型转换
- 当在表达式里,有符号和无符号的char和short类型都将自动转换为int。
- 在包含两种数据类型的任何运算里,两个值都被转换成两种类型里较高级别,这些转换被称为提升。
- 类型级别从高到低:double、float、long、int,short和char已经被提升到int。
- 在赋值语句里,计算的最后结果被转换成将要被赋予值的那个变量的类型,这个过程可能导致提升,也可能降级。
- 当作为函数的参数被传递时,char和short会被转化为int,float会被转换为double。
第五章 选择结构的程序设计
(1)if语句:if(表达式){语句1}
例如:成绩在90分以上打A,80-89分打B,70-79分打C,60-69分打D,不及格打E。
#include <stdio.h>
int main() {
int y;
scanf("%d", &y);
if (y >= 90) {
printf("A" );
} else if (y >=80) {
printf("B");
} else if (y >= 70) {
printf("C");
} else if (y >= 60) {
printf("D");
} else {
printf("E");
}
}
(2)switch语句:switch(表达式){case 常量表达式1:语句1.。。。default:语句n+1}
例如:
#include <stdio.h>
int main(void) {
int a;
scanf("%d", &a);
switch(a) {
case 0 :
printf("输入了0\n");
break;//不使用break会向下漏水
case 1 :
printf("输入了1\n");
break;
default :
printf("输入了其他的\n");
}
}