1. 数据类型介绍
利用数据类型来描述⽣活中的各种数据。使⽤整型类型来描述整数,使⽤字符类型
来描述字符,使⽤浮点型类型来描述⼩数。所谓“类型”,就是相似的数据所拥有的共
同特征,编译器只 有知道了数据的类型,才知道怎么操作数据。
字符型- char
整形-int
内置类型 浮点型-float
布尔类型-_Bool
数据类型
数组
结构体-struct
自定义类型 枚举-enum
联合体-union
布尔类型的使⽤得包含头⽂件<stdbool.h> 变量的取值是:true或者false
C 语⾔并没有为布尔值单独设置⼀个类型,⽽是使⽤整数
0
表⽰假,⾮零值表⽰真。
在
C99
中也引⼊了 布尔类型 ,是专⻔表⽰真假的。
2. signed 和 unsigned
C 语⾔使⽤
signed
和
unsigned
关键字修饰字符型和整型类型的。
signed
关键字,表⽰⼀个类型带有正负号,包含负值;
unsigned
关键字,表⽰该类型不带有正负号,只能表⽰零和正整数。
3. 数据类型的取值范围
3.
数据类型的取值范围
上述的数据类型很多,尤其数整型类型就有short、int、long、long long 四种,为什么呢?
其实每⼀种数据类型有⾃⼰的取值范围,也就是存储的数值的最⼤值和最⼩值的区间,有了丰富的类
型,我们就可以在适当的场景下去选择适合的类型。如果要查看当前系统上不同数据类型的极限值:
limits.h
⽂件中说明了整型类型的取值范围。
float.h
这个头⽂件中说明浮点型类型的取值范围。
为了代码的可移植性,需要知道某种整数类型的极限值时,应该尽量使⽤这些常量。
•
SCHAR_MIN
,
SCHAR_MAX
:signed char 的最⼩值和最⼤值。
•
SHRT_MIN
,
SHRT_MAX
:short 的最⼩值和最⼤值。
•
INT_MIN
,
INT_MAX
:int 的最⼩值和最⼤值。
•
LONG_MIN
,
LONG_MAX
:long 的最⼩值和最⼤值。
•
LLONG_MIN
,
LLONG_MAX
:long long 的最⼩值和最⼤值。
•
UCHAR_MAX
:unsigned char 的最⼤值。
•
USHRT_MAX
:unsigned short 的最⼤值。
•
UINT_MAX
:unsigned int 的最⼤值。
4. 变量
- 变量在创建的时候就给⼀个初始值,就叫初始化。
-
• 全局变量:在⼤括号外部定义的变量就是全局变量全局变量的使⽤范围更⼴,整个⼯程中想使⽤,都是有办法使⽤的。• 局部变量:在⼤括号内部定义的变量就是局部变量局部变量的使⽤范围是⽐较局限,只能在⾃⼰所在的局部范围内使⽤的。
- 当局部变量和全局变量同名的时候,局部变量优先使⽤
-
局部变量是放在内存的栈区全局变量是放在内存的静态区堆区是⽤来动态内存管理的
5. 算术操作符:+、-、*、/、%
+和-
-
+ 和 - 都是有2个操作数的,位于操作符两端的就是它们的操作数,这种操作符也叫双⽬操作符。
-
运算符 * ⽤来完成乘法。运算符 / ⽤来完成除法。
3. 除号的两端如果是整数,执⾏的是
整数除法,得到的结果也是整数。
4.运算符 % 表⽰求模运算,即返回两个整数相除的余值。这个运算符只能⽤于整数,不能⽤于浮点数。
负数求模的规则是,结果的正负号由第⼀个运算数的正负号决定。
6. 赋值操作符:= 和复合赋值
在变量创建的时候给⼀个初始值叫初始化,在变量创建好后,再给⼀个值,这叫赋值
赋值操作符 = 是⼀个随时可以给变量赋值的操作符。
7. 单⽬操作符:++、--、+、-
++是⼀种⾃增的操作符,⼜分为前置++和后置++,--是⼀种⾃减的操作符,也分为前置--和后置--.
计算⼝诀:先+1,后使⽤;
int
a =
10
;
int
b = ++a;
//++
的操作数是
a
,是放在
a
的前⾯的,就是前置
++
printf
(
"a=%d b=%d\n"
,a , b);
a原来是10,先+1,后a变成了11,再使⽤就是赋值给b,b得到的也是11,所以计算技术后,a和b都 是11,相当于这样的代码
后置++
int
a =
10
;
int
b = a++;
//++
的操作数是
a
,是放在
a
的后⾯的,就是后置
++
printf
(
"a=%d b=%d\n"
,a , b);
比特就业课
计算⼝诀:先使⽤,后+1
a原来是10,先使⽤,就是先赋值给b,b得到了10,然后再+1,然后a变成了11,所以直接结束后a是 11,b是10,相当于这样的代码:
前置--
前置--是同理的,只是把加1,换成了减1;
计算⼝诀:先-1,后使⽤
int
a =
10
;
int
b = --a;
//--
的操作数是
a
,是放在
a
的前⾯的,就是前置
--
printf
(
"a=%d b=%d\n"
,a , b);
//
输出的结果是:
9 9
后置--
同理后置--类似于后置++,只是把加⼀换成了减⼀
计算⼝诀:先使⽤,后-1
int
a =
10
;
int
b = a--;
//--
的操作数是
a
,是放在
a
的后⾯的,就是后置
--
printf
(
"a=%d b=%d\n"
,a , b);
//
输出的结果是:
9 10
9. scanf和printf介绍
printf()
的作⽤是将参数⽂本输出到屏幕。它名字⾥⾯的
f
代表
format
(格式化),表⽰可以
定制输出⽂本的格式。
scanf()
函数⽤于读取⽤⼾的键盘输⼊。
程序运⾏到这个语句时,会停下来,等待⽤⼾从键盘输⼊。
⽤⼾输⼊数据、按下回⻋键后,
scanf()
就会处理⽤⼾的输⼊,将其存⼊变量。
它的原型定义在头⽂件
stdio.h
。
scanf()
的语法跟
printf()
类似。