运算符与条件结构
1.运算符与表达式
1.1赋值运算符、算术运算符、关系运算符、逻辑运算符
1.1.1 单等号 =
计算顺序:从右向左
1.1.2 算术运算符
一元运算符 :++ 、--
二元运算符:+ 、-、 、*、 /、 %
//复合运算符
int num = 8;
num %= 5;
printf("%d\n",num);
1.1.3 关系运算符
<、>、<=、>=、==、!=
printf("5 > 8吗?%d\n", 5 > 8); //假为0
printf("9 > 6吗?%d\n", 9 > 6); //真为1
1.1.4 逻辑运算符
运算符 | 表达式 | 说 明 |
&&并且 | 条件1&条件2 | 两个条件同时为真,结果为真 |
||或 | 条件1||条件2 | 两个条件有一个为真,结果为真 |
! | !条件 | 条件为真时,结果为假 条件为假时,结果为真 |
1.1.5 sizeof运算符
//字符所占字节
printf("sizeof(int) = %d\n",sizeof(int));
printf("sizeof(long) = %d\n",sizeof(1000L));
printf("sizeof(float) = %d\n",sizeof(321.1f));
printf("sizeof(double) = %d\n",sizeof(951.22));
printf("sizeof(char) = %d\n",sizeof(char));
1.1.6 运算符优先级
printf("%d\n",!((18 + 45 % 3 * 5) > 16));
() sizeof ++ -- |
! |
算术运算符 |
关系运算符 |
&& |
|| |
赋值运算符 |
1.2 if结构
先判断后执行
if(条件为真)
{
//代码块1
}
else
{
//代码块2
}
double price1 = 229.0; // 商品1
double price2 = 10240.55; // 商品2
double price3 = 2345.3; // 商品3
double total = price1 + price2 + price3; // 总额
double zhekou; // 折扣
if(price1 > 1000 || price2 > 1000 || price3 > 1000 || total>5000)
{
zhekou = 0.3;
}
total = total * zhekou;
printf("支付金额:%.2lf\n",total);
1.2.1 多重if结构
int age;
printf("请输入你的年龄:");
scanf("%d", &age);
if(age >= 18)
{
printf("恭喜你已经成年!\n");
}
else if(age < 18)
{
printf("抱歉你未成年!\n");
}
1.3 表达式 a = (b + 3) + (b - 1) 运算符和操作数的组合