学习 C语言第二天 :C语言数据类型和变量(上)

目录:

        1.数据类型介绍

        2.signed和unsigned的介绍

        3.数据类型的取值范围

1.数据类型介绍

    C语言提供了丰富的数据类型来描述生活中的各种数据。使用整型类型来描述整数,使用字符类型来描述字符,使用浮点型类型来描述小数。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作数据。

    1.1.字符;

1.char
2.[signed] char
3.unsigned char

    1.2.整形;

1.短整型
2.short [int]
3.[signed] short [int]
4.unsigned short [int]

5.整型
6.int
7.[signed] int
8.unsigned int

9.长整型
10.long [int]
11.[signed] long [int]
12.unsigned long [int]

13.更长的整型,C99引入
14.long long [int]
15.[signed] long long [int]
16. unsigned long long [int]

    1.3.浮点型;

1.float
2.double
3.long double

   1.4.布尔类型;

1.在 C99 中也引⼊了 布尔类型 ,是专门表示真假的。
2._Bool

3. 布尔类型的使⽤得包含头⽂件 <stdbool.h> 

4.布尔类型变量的取值是:true或者false.

5.#define bool _Bool

6.#define false 0

7.#define true 1

// 代码演示
_Bool flag = true;
if (flag)
    printf("I Like C.");

2.signed和unsigned的介绍

    C语言使用[signed]和[unsigned]关键字修饰字符类型和整型类型。

    [signed]关键字:表示一个类型带有正负号,包含负值。

    [unsigned]关键字:表示该类型不带有负号,只能表示零和正整数。

    对于int来说,默认是带有正负号的,所以[int]也相当于是[signed int]。

    由于是默认的情况下,关键字[signed]是默认不写的,写了也没事。

    整数变量声明为 unsigned 的好处是,同样长度的内存能够表示的最大整数值,增大了一倍。比如,16位的 [signed short int] 的取值范围是:[-32768~32767],最大是[32767];而[unsigned short int] 的取值范围是:[ 0~65535],最大值增大到了[65,535]。32位的 [signedint] 的取值范围可以参看 limits.h 中给出的定义。

    这里推荐使用Everthing工具,可以快速查找到。官网链接:voidtools

     

 3.数据类型的取值范围

     其实每⼀种数据类型有自己的取值范围,也就是存储的数值的最大值和最小值的区间,有了丰富的类 型,我们就可以在适当的场景下去选择适合的类型。如果要查看当前系统上不同数据类型的极限值:[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 的最大值。

  • ULONG_MAX :unsigned long 的最大值。

  • ULLONG_MAX :unsigned long long 的最大值。

本篇文章介绍了C语言的数据类型和变量,因为过多的知识点,所以分了两篇文章进行编写,以供咱们学习的朋友可以浏览或者学过有点忘记的朋友可以想起来,反正都是干货,学习就是源泉。 

猜你喜欢

转载自blog.csdn.net/m0_58724783/article/details/131941470