第一关:数据+运算
怀揣着疑惑和好奇的心理,我抬步向前方走去,率先映入眼帘的是一座金光闪闪的大门,“数据+运算”几个大字龙飞凤舞的印在门上。四处静默,悄无声息,在这诡异的氛围下,我秉持着不怕危险的勇气,迈开双腿,一迅雷不及掩耳之势转身逃跑…
ψ(`∇´)ψ “谁爱开谁开,反正我不开”心里默想
咯吱咯吱…
察觉玩家逃跑意图,先采用强制手段---------
双脚离地,我被一股神奇的力量送入门中…
请学习下列知识,带你学成之后,会有惊喜等着你哟!
一、数据类型
1.分类:
①字符:char , [signed] char , unsigned char
②整型:
短整型:short [int] , [signed] short [int] , unsigned short [int]
整型: int , [signed] int , unsigned int
长整型:long [int] , [signed] long [int] , unsigned long [int]
更长整型:long long [int] , [signed] long long [int] , unsigned long long [int]
③ 浮点型:float , double , long double
④布尔类型:-Bool (C99引入,取值只有true或者false,头文件<stdbool.h>)
signed:表示一个类型带正负号,包括负号。(signed int==int)
unsigned:表示一个类型不带正负号,只表示0和正整数。
2.取值范围
// *a.char 的存储范围:-128~127
* b. unsigned char的存储范围:0~225
* c.short的存储范围:-32768~32767
* d. unsigned short的存储范围:0~65535
* e. int的存储范围:(-2147483647 - 1)~2147483647
* f. unsigned int的存储范围:0~4294967295
二、变量
1.分类
全局变量:在大括号外部的变量
局部变量:在大括号内部的变量(当与全局变量同名时,局部变量优先)
// #include <stdio.h>
int global =10; //全局变量
int main()
{
int local=5; //局部变量
return 0;
}
2.存储
在学习C语言中,我们一般关注内存的三个区域:栈区,堆区,静态区。
局部变量存储栈区,全局变量存储静态区,堆区是用来动态内存管理的。
算数操作符
1.双目操作符
种类:加,减,乘,除,取余(运算符两边都有操作数)
注意:
①当 乘和 除 两边的操作数有一方为浮点数(例如7.0/2=3.5),结果才会是浮点数,当两边全为整型,结果仍为整型(例如7/2=3)与变量定义类型无关。
②%要求两边操作数皆为整型,符号由左边的操作数的正负号决定。
2.=和符合赋值
①创建变量时就给一个初始值称为初始化,在变量创建后,再给一个值称为赋值。
②连续赋值:a=b=c+3;\\从右到左依次赋值
③复合赋值符:+=,-=,*=,/= ,%=,>>=,<<=,&=,|=,^=
(a+=3–>a=a+3)
3.单目操作符
种类:++,- -,+(正号),-(负号)
注意: ①后置++:先使用后运算
#include <stdio.h>
int main()
{
int a=10;
int b=a++;
printf("%d %d",b,a) \\b=10,a=11
return 0;
}
②前置++:先运算后使用
#include <stdio.h>
int main()
{
int a=10;
int b=++a;
printf("%d %d",b,a) \\b=11,a=11
return 0;
}
4.强制类型转换
int a=(double)3.14;
5.运算优先级
例题:b+=a++ +c,因为前置,所以先使用后运算,先算a+c,再算b+=a+c最后算a++。