C 数据类型

目录

一、数据类型

1、常见数据类型

2、各种数据类型的长度 

3、signed 和 unsigned

二、小小注解

1、main 函数

2、printf 、库函数 和 头文件 

3、怎么看limits.h中的定义 


一、数据类型

1、常见数据类型

C语言是一种结构化的程序设计语言

我们编程是为了解决生活中的问题,使用计算机语言来编程,计算机语言得有能力描述生活中的问题,所以C语言提供了丰富的数据类型来描述生活中的各种数据。

char  // 字符类型  , 例如 a,b,c

int   // 整型类型  , 例如 1,2,3

float // 浮点型类型, 例如 0.1

_Bool // 布尔类型  , 表示真和假

//VS2022,x64
#include<stdio.h>
#include<stdbool.h>     //使用 _Bool 必须包含此头文件

int main()
{
    char n = 'a';
    printf("%c\n", n);

    int num = 3;
    printf("%d\n", num);

    float y = 3.14;
    printf("%lf\n", y);

    _Bool flag = true;  //布尔类型变量的取值是 true 和 false
    if (true)
    {
        printf("great\n");
    }
    
    return 0;
}


2、各种数据类型的长度 

我们使用 sizeof 来计算各种数据类型的长度

sizeof 是一个关键字,也是操作符,专门是用来计算sizeof的操作符数的类型长度的,单位是字 节。

sizeof 操作符的操作数可以是类型,也可是变量或者表达式。 注意: sizeof 中的表达式不计算

//VS2022,x64
#include<stdio.h>
#include<stdbool.h>

int main()
{
    printf("%zd\n", sizeof(_Bool));      // 1

    printf("%zd\n", sizeof(short));      // 2 short int(短整型)

    printf("%zd\n", sizeof(int));        // 4

    printf("%zd\n", sizeof(long));       // 4 long int(长整型)

    printf("%zd\n", sizeof(long long));  // 8 long long int(更长的整型)

    printf("%zd\n", sizeof(char));       // 1

    printf("%zd\n", sizeof(float));      // 4 单精度浮点数

    printf("%zd\n", sizeof(double));     // 8 双精度浮点数

    printf("%zd\n", sizeof(long double));// 8

    //sizeof中的表达式不计算
    int a = 0;
	short b = 1;
	printf("%zd\n", sizeof(b = a + 100));// 2
	printf("b = %d\n", b);               // b 仍然等于 1

    return 0;
}

3、signed 和 unsigned

C语言使用 signedunsigned 关键字修饰 字符型和整型 类型

signed 关键字,表示一个类型带有正负号,包含负值;

unsigned 关键字,表示一个类型不带正负号,只有表示零和正整数。

对于 int 类型,默认是带有正负号的,也就是说 int 等同于 signed int 。

由于这是默认情况,关键字 signed 一般都省略不写,但是写了也不算错。

unsigned 的好处在于,同样长度的内存能够表示的最大整数值,增大了一倍。 

signed int a = 100;  // 等同于 int

unsigned int b = 100;


//以 short int 类型为例
signed short int c = 100;   // signed short int 的取值范围是:-32768~32767,
                            // 最⼤值是32767

unsigned short int d = 100; // unsigned short int 的取值范围是:0~65535,
                            // 最⼤值增⼤到了65535                

signed int 的取值范围可以参看 limits.h 中给出的定义。

#define SHRT_MIN    (-32768)            // short int 的最小值
#define SHRT_MAX      32767             // short int 的最大值
#define USHRT_MAX     0xffff            // unsigned shor int 的最大值
#define INT_MIN     (-2147483647 - 1)   // int 的最小值
#define INT_MAX       2147483647        // int 的最大值

【注意】

C语言规定 char 类型默认是否带有正负号,由当前系统决定。 这就是说, char 不等同于 signed char ,它有可能是 signed char ,也有可能是 unsigned char 。 这⼀点与 int 不同, int 就是等同于 signed int 。


二、小小注解

1、main 函数

每个 C 语言程序不管有多少行代码,都是从 main 函数开始执行的, main 函数是程序的入口, main 函数也被叫做:主函数。 main 前面的 int 表示 main 函数执行结束的时候返回一个整型类 型的值。所以在 main 函数的最后写 return 0; 正好前后呼应。

2、printf 、库函数 和 头文件 

代码中使用了 printf 函数,实现了在屏幕上的信息的打印。

简单的介绍一下 printf , printf 是一个库函数,它的功能是在标准输出设备(一般指屏幕)上进行信息的打印

我们在使用库函数的时候,是需要包含头文件的,比如: printf 函数需要包含的就是 stdio.h 这个头文件

C语言标准规定了一组函数,这些函数再由不同的编译器厂商根据标准进行实现,提供给程序员使用。这些函数组成了一个函数库,被称为标准库,这些函数也被称为库函数。

一个系列的库函数一般会声明在同一个头文件中,所以库函数的使用,要包含对应的头文件。

//这些称为占位符,会被后面的值替代
//目前与 printf 搭配食用最佳

%d    // 打印整型

%c    // 打印字符

%s    // 打印字符串

%f    // 打印单精度浮点数

%lf   // 打印双精度浮点数

%zd   //sizeof的计算结果是 size_t 类型,所以用 %zd

3、怎么看limits.h中的定义 

左键选中,右键,点击  转到文档(G)<limits.h> 

 出现以下画面就成功啦,往下翻就能看到关于整型的取值范围。

其他头文件的查看也是一样哒,浮点型的取值范围在另一个头文件  float.h


  • 28
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值