数据类型:用来规定变量空间有多大
int/q 4
float 4
doiuble 8
char 1
++/- - 自增自减
#include<stdio.h>
int main()
{
int num = 10;
num++;
printf("%d\n", num);
}
#include<stdio.h>
int main()
{
int num = 10;
num = num + 5; //num += 5
printf("%d\n", num);
}
int main()
{
double num = 6; //小类型转大类型 - 自动类型转换
int num1 = (int)num; //大类型转小类型 -强制类型转换
}
类型转换
short -> int -> long ->
运算符和表达式
运算符
赋值运算符
=: 计算顺序 “从右往左”
算数运算符
一元:++, –
二元:+,-,*,/,%
//前置后置
int main()
{
int num =5;
int result = num++; //先赋值,再++ result=5
int result = --num; //先--,再赋值 result=4
}
关系运算符
关系运算符可以比较大小,高低,长短
> <
> = <=
== !=
int main()
{
printf("5 > 8 么? %d\n", 5>8); //返回0,即假
printf("5 < 8 么? %d\n", 5<8); //返回1,即真
}
逻辑运算符 0是假 1是真
运算符 | 表达式 | 说明 |
---|---|---|
&&并且 | 条件1&&条件2 | 两个同时为真才是真 |
II或 | 条件1II条件2 | 两个条件有一个为真就是真 |
! | !条件 | 条件为真的时候结果为假/假的时候结果为真 |
以下需要换成二进制后运算
运算符 | 作用 | 说明 |
---|---|---|
& | 按位与 | 两个操作数同时为1结果为1,否则为0 |
I | 按位或 | 两个数只要有一个为1就是1 |
~ | 按位非 | 操作数为1结果为0;操作数为0结果为1 |
^ | 按位异或 | 两个操作数相同,结果为0;不相同结果为1 |
<< | 左移 | 右侧空位补0 |
>> | 右移 | 左侧空位补符号位 |
>>> | 无符号右移 | 左侧空位补零 |
sizeof运算符
可以测量数据占内存空间大小
sizeof(type name)
int main()
{
//sizeof
printf("整型占%d个字节\n", sizeof(int));
}
表达式
=: 计算顺序 “从右往左”
短路运算
不会考虑&&后的真假
int num = 10;
int result = num++ >11 && --num <20;
printf("%d\n%d\n", num, result);
运算符优先级
(); sizeof; ++ –
!
算数运算符
关系运算符
&&
||
赋值运算符
例子
printf("%d\n", !((18+45%3*5)>16));
条件结构
if结构
if(条件为真)
{
//代码块1
}
else if
{
//代码块2
}
else
{
//代码块3
}
一个例子
int main()
{
double flowerPrice; //鲜花价格
//打印剧情
printf("在一个月黑风高的夜晚\n");
printf("一个小男生用自己零花钱买花\n");
printf("小女生文小男生鲜花的价格,'这着花多少钱啊'\n");
printf("小男孩说:");
//录入鲜花价格
scanf("%lf", &flowerPrice);
//模拟小女生的反应
if(flowerPrice > 9999999)
{
printf("小女生直接晕了过去!\n");
}
else if(flowerPrice > 100000 && flowerPrice <= 9999999) //10w到99w
{
printf("明天就结婚!\n");
}
else if(flowerPrice >= 10000 && flowerPrice <100000)
{
printf("拉拉手,明天再约\n");
}
else
{
printf("我们是普通朋友\n");
}
}
switch结构
switch是一把(杀鸡刀), 处理数轴中某个几个点的情况
switch(表达式){
case 常量1:
语句1;
break; //终止,跳出switch结构
case 常量2;
语句2;
break;
...
default: //默认的
语句;
}
例子
switch后只能是整型,字符型
case后可以有多条语句
case和default的顺序可以变换
int main()
{
//想知道某个月有多少天
//逻辑,输入月份,根据月份判断当月的天数
int month; //用户输入月份
printf("请输入月份,我告诉你天数\n");
scanf("%d", &month);
switch(month)
{
case 1:
printf("31\n");
break;
case 2:
printf("28\n");
printf("烟花2月下扬州\n");
break;
default:
printf("你傻逼\n");
}
}