03-数据类型

03-数据类型

【问】为什么写代码

【答】为了解决生活中的问题。例如:购物、点餐、看电影 等

【比如】购买了一本《C语言》的书,这本书的价格66(整型),或者66.6(小数),而《C语言》书名又是字符串)。

【问】那么这些书名啊、价格啊又是如何存储的呢?

【答】这时候,在C语言中为了能够描述这些东西就引用了数据类型。对于小数抽象出了一种数据类型,即浮点型。对于整数抽象出来了一种数据类型,即整型。对于字符抽象出来了一种数据类型,即字符型

【问】为什么叫浮点型呢?

【答】因为小数点可以浮动

【比如】66.6,可以表示位6.66 * 10,也可表示0.666 * 100

【问】为什么会有这么多的类型呢?

【答】因为生活中就有这些类型。

一、C语言中的数据类型

char 字符数据类型

short 短整型

int 整型

long 长整型

long long 更长的整型

float 单精度浮点型(精度较低)

double 双进度浮点型(精度更高)

二、数据类型的用法

1、字符类型(char)

【比如】有一个 字符 a ,那么这个 **字符 a ** 怎么存储呢?

#define _CRT_SECURE_NO_WARNINGS 1

int main()
{
    /* ch是存放字符 a 的存储空间 */
    char ch = 'a';		//将字符 a 放入变量 ch 的空间里
    
    return 0;
}

2、整型(int)

【比如】有个人有 20 岁,那么这个 20 就是整数类型,怎么表示呢?

#define _CRT_SECURE_NO_WARNINGS 1

int main()
{
    /* age(年龄)是存放整型 20 的存储空间 */
    int age = 'a';		//将整型 20 放入变量 age 的空间里

    return 0;
}

3、短整型(short int)

short int 也可用 short 表示。

【比如】有个数字 10 岁,那么这个 10 就是短整型(就是比 int 短的 整型),怎么表示呢?

#define _CRT_SECURE_NO_WARNINGS 1

int main()
{
    /* num(数字)是存放短整型 10 的存储空间 */
    int num = 'a';		//将短整型 10 放入变量 num 的空间里

    return 0;
}

4、单精度浮点型(float)

【比如】一个人的 体重55.5 公斤,怎么表示呢?

#define _CRT_SECURE_NO_WARNINGS 1

int main()
{
    /* weight(体重)是存单精度浮点型 55.5 的存储空间 */
    float weight = 55.5;		//将单精度浮点型 55.5 放入变量 weight 的空间里

    return 0;
}

5、双精度浮点型(double)

double精度float精度高。

【比如】一个人的 体重55.5 公斤,怎么表示呢?

#define _CRT_SECURE_NO_WARNINGS 1

int main()
{
    /* weight(体重)是存双精度浮点型 55.5 的存储空间 */
    double weight = 55.5;		//将双精度浮点型 55.5 放入变量 weight 的空间里

    return 0;
}

【问】数据存储空间,那么每一种类型空间大小是多少

三、数据类型的大小

1、sizeof

sizeof关键字,也是操作符

【作用】计算类型或者变量所占空间的大小(单位:字节)。

2、进制数

进制数的范围
二进制:0、1
八进制:0、1、2、3、4、5、6、7
十进制:0、1、2、3、4、5、6、7、8、9
十六进制:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F

我们生活在一个十进制的世界,即0123456789

3、计算机中的单位

计算机只能识别二进制的数,即比特位(bit)只能使用 01 来表示。

1.1.2.3-02计算机单位

4、%d

表示按照整型的格式打印。

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()
{
	printf("%d\n", sizeof(char));			//	1(字节)
	printf("%d\n", sizeof(short));			//	2(字节)
	printf("%d\n", sizeof(int));			//	4(字节)
	printf("%d\n", sizeof(long));			//	4(字节)
	printf("%d\n", sizeof(long long));		//	8(字节)
	printf("%d\n", sizeof(float));			//	4(字节)
	printf("%d\n", sizeof(double));			//	8(字节)
	printf("%d\n", sizeof(long double));	//	8(字节)

	return 0;
}

image-20241129234400801

【注】C语言中规定: sizeof(long) >= sizeof(int) !!!

【问】为什么C语言中的整型浮点型种类

【答】为了更好的合理利用C语言空间,提高代码空间利用效率

5、%zu

打印 sizeof 返回值时输出的是无符号整型

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()
{
	printf("%zu\n", sizeof(char));			//	1(字节)
	printf("%zu\n", sizeof(short));			//	2(字节)
	printf("%zu\n", sizeof(int));			//	4(字节)
	printf("%zu\n", sizeof(long));			//	4(字节)
	printf("%zu\n", sizeof(long long));		//	8(字节)
	printf("%zu\n", sizeof(float));			//	4(字节)
	printf("%zu\n", sizeof(double));		//	8(字节)
	printf("%zu\n", sizeof(long double));	//	8(字节)

	return 0;
}

image-20241129234435931

posted @ 2024-12-05 11:30  AK47YHAO  阅读(11)  评论(0编辑  收藏  举报