1. 数据类型介绍
2. signed 和unsigned
3. 数据类型的取值范围
4. 变量
5. 算术操作符:+、-、*、/、%
6. 赋值操作符:=和复合赋值
7. 单⽬操作符:++、–、+、
8. 强制类型转换
9. scanf和printf介绍
一. 数据类型介绍
在我们日常的生活中接触着各种类型的数据 :小数 整数 等~其他各种类型的数据
但是总的来说我们都可以把其归纳为以下几类
1.1
字符类型
char
(signed)char 有符号字符类型
unsigned char 无符号字符类型
1.2
整形
int
(signed) int
unsigned int
短整型
short int
(signed) short int
unsigned short int
长整型
long int
(signed) long int
unsigned long int
> 更长整形
long long int
…
…
1.3
浮点类型
flaot 单精度浮点数
double 双精度浮点数
long double
1.4
Bool 类型
注:这是在C99之后引入的一种新类型
C语⾔原来并没有为布尔值单独设置⼀个类型,⽽是使⽤整数
在C99中也引⼊了布尔类型,是专⻔表⽰真假的。_Bool0 表⽰假,⾮零值表⽰真。
布尔类型的使用要包含的头文件是<stdbool.h>
布尔类型表示真假的是 true false
接下来举一个例子
#include<stdio.h>
#include<stdbool.h>
int main()
{
bool num1 = false;
if (num1 == true)
{
printf("ikun二年半");
}
else
printf("小黑子");
return 0;
}
1.5
各种类型的数据长度
每⼀种数据类型都有⾃⼰的⻓度,使⽤不同的数据类型,能够创建出⻓度不同的变量,变量⻓度的不同,存储的数据范围就有所差异。
而sizeof 操作符就是来计算各种类型数据的大小。 单位是字节
sizeof的操作对象既可以是数据类型 又可以是变量或表达式
sizeof (int /double )
sizeof(5 /bianliang1)
这里需要注意的是sizeof的返回值是一个不确定的类型,为此
C语⾔提供了⼀个解决⽅法,创造了⼀个类型别名
回值类型。对应当前系统的size_t ,⽤来统⼀表⽰sizeof 的返sizeof 的返回值类型,可能是unsigned int ,也可能是unsigned long long
这里需要注意以下几点
1.sizeof
的操作数如果不是类型,是表达式的时候,可以省略掉后边的括号的。
2.sizeof
后边的表达式是不真实参与运算的,根据表达式的类型来得出⼤⼩。
3.sizeof 的计算结果是size_t 类型的(占位符是%zd)
接下来我们来举几个例子
我们会发现虽然打印出了每个数据类型的字符场长度,但是下边会有警告
但是如果占位符换成**%zd**,则就没有影响。这就说明了上边我们所提出的问题
1.6
这里我们还需要注意的是sizeof在参与表达式时 ,sizoef后的表达式是不计算的
例如
如果这里计算的话,sum的值应为15;但是结果为0。则说明我们的以上说法是正确的
二、 signed 和 unsigned
从其汉文中我们可以看出一个是无符号的一个是有符号的
那么两者的区别是什么呢?接下来同志们我们来一起研究
signed int 就相当于 int
unsigned int 就是其本身
整数变量声明为unsigned (只有正值)
的好处是,同样⻓度的内存能够表⽰的最⼤整数值,增⼤了⼀倍。
⽐如,16位的signed short int 的取值范围是:-32768~32767,最⼤是32767;⽽unsigned short int 的取值范围是:0~65535,最⼤值增⼤到了65,535。
对于字符类型和整形是有区别的
signed char
unsigned char
注意,C语⾔规定
char 类型默认是否带有正负号,由当前系统决定。
这就是说,char 不等同于unsigned char 。它可能是 signed char 也可能****是unsigned char ,这一点与int 类型不同int中signed int就等于interesting
三、数据类型的取值范围
上述的数据类型很多,尤其数整型类型就有short、int、long、longlong四种,为什么呢?
其实每⼀种数据类型有⾃⼰的取值范围,也就是存储的数值的最⼤值和最⼩值的区间,有了丰富的类型,我们就可以在适当的场景下去选择适合的类型。如果要查看当前系统上不同数据类型的极限值:
limits.h ⽂件中说明了整型类型的取值范围。
float.h 这个头⽂件中说明浮点型类型的取值范围。
这里我给大家一些参考
(1)整型:
- char (通常 1 个字节,8 位):-128 到 127 或 0 到 255。
- short int (通常 2 个字节,16 位):-32768 到 32767。
- int (通常 4 个字节,32 位):-2147483648 到 2147483647。
- long int (通常 4 个字节或更多,具体取决于编译器)。
(2)
浮点型: - float :大约 ±3.4028235E38F。
- double :大约 ±1.79769313486231570E+308。
四、变量
从字面来理解就是可改变的量 那么我们以专业的角度来理解呢?
欲知后事如何,且听下级分解
在上边我们介绍了类型,那么作用是什么呢?(猜猜呢 )
当然是与我们本节介绍的变量是有关的
了解清楚了类型,我们使⽤类型做什么呢?类型是⽤来创建变量的。
什么是变量呢?C语⾔中把经常变化的值称为变量,不变的值称为常量。
变量创建的语法形式是这样的:
type_name = 初始值
接下来 我们来举几个例子
#include<stdio.h>
int main()
{
int num = 0;
char ch = 'a';
float fl = 1.0; // 不难看出 变量的命名的格式就是我们上边所描述的
double a = 3.0; // 同志们可以看见我在创建变量时都会给其一个数值
return 0; //在创建变量时都会给其一个数值:这就叫做初始化
}
4.2 变量的分类
变量的分类是有两种的:
1 全局变量
2 局部变量
注意:(当全局变量和局部变量同时出现的时候 局部变量时优先的)
多说无益:实践才是检验真理的唯一标准
int num = 100;