首页 > 其他分享 >03-数据类型

03-数据类型

时间:2024-12-05 11:10:01浏览次数:5  
标签:03 字节 int 数据类型 long 整型 printf sizeof

三、数据类型

【问】为什么写代码

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

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

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

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

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

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

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

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

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

1、C语言中的数据类型

char 字符数据类型

short 短整型

int 整型

long 长整型

long long 更长的整型

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

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

2、数据类型的用法

(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;
}

(5)单精度浮点型(float)

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

#define _CRT_SECURE_NO_WARNINGS 1

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

    return 0;
}

(6)双精度浮点型(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;
}

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

3、数据类型的大小

(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.1-01电脑

(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

标签:03,字节,int,数据类型,long,整型,printf,sizeof
From: https://www.cnblogs.com/AK47YHAO/p/18588112

相关文章

  • ABB机器人3HAC036260-001驱动器维修看点
    ABB机器人驱动器是机器人运动控制系统的核心组件之一,负责为机器人提供必要的动力和控制信号,以确保其能够准确、稳定地完成各种工作任务。然而,由于长时间运行、环境因素或操作不当等原因,abb机械臂驱动器3HAC036260-001可能会出现各种故障,影响机器人的正常运行。常见故障及维修方法1......
  • 对`a == ('1'||'2'||'3') ? false : true`写法进行改进,写出你优化后的方法
    Theoriginalexpressiona==('1'||'2'||'3')?false:trueisflawedanddoesn'tworkasintended.The('1'||'2'||'3')partwillalwaysevaluateto'1'becauseofhowthe||(OR......
  • 力扣103. 二叉树的锯齿形层次遍历
    链接:103.二叉树的锯齿形层序遍历-力扣(LeetCode)vector<vector<int>>vec;if(root==nullptr)returnvec;queue<TreeNode*>que;que.push(root);//true代表从左到右//false代表从右到左boolflag=true;while(!q......
  • python 数据类型和操作
    &转义要写成amp;<转义成<input默认转化为字符串是个文本,当需要计算时要转化为数字eg.x=input()​x=int或者更简单的x=int(input(""))布尔值,TRUEORFLASE​机器学习大任务:​回归是预测一个数​分类是给一个准确具体的数print(type(type(42......
  • python: Eclipse 2024‑03 R+pydev
    https://www.eclipse.org/downloads/packages/release/2024-03/r      ......
  • Day3 [Python学习] 数据类型:数字;整型、浮点型、str()函数
    数学里边的数分为整数和小数,python语言中同样1.整型1.1赋值eg:建立一个名为age_a的变量,给它赋值1。此时控制台输出的1是整型,而不是字符串类型age_a=1print(age_a)1.2运算可对其执行加(+)减(-)乘(*)除(/)运算age_a=3age_b=27age_c=12age_d=40print(age_a......
  • C语言程序设计基础(例题(请看注释)03
    一,基础篇案例1—1《点到直线的距离》    已知直线L的方程是Ax+By+C=0,点P的坐标是(x,y),求点P到直线L的距离。点到直线的距离公式为:要求先输入A,B,C三个参数,确定直线L;然后再输入x和y,确定点P;最后根据点到直线的距离公式,计算点到直线的距离。#include<stdio.h>#i......
  • YOLOv8-ultralytics-8.2.103部分代码阅读笔记-errors.py
    errors.pyultralytics\utils\errors.py目录errors.py1.所需的库和模块2.classHUBModelError(Exception): 1.所需的库和模块#UltralyticsYOLO......
  • 【教学类-43-25】20241203 数独3宫格的所有可能-使用模版替换(12套样式,空1格-空8格,每套
    前期做数独惨宫格的所有排列,共有12套样式,空1格-空8格,每套510张,共6120小图)【教学类-43-24】20241127数独3宫格的所有可能(12套样式,空1格-空8格,每套510张,共6120小图)-CSDN博客文章浏览阅读1.7k次,点赞41次,收藏30次。【教学类-43-24】20241127数独3宫格的所有可能(12套样式,空1格-......
  • 803 取石子游戏2
    //803取石子游戏2.cpp:此文件包含"main"函数。程序执行将在此处开始并结束。///*http://oj.daimayuan.top/course/22/problem/904有n堆石子,每堆有ai个石子。Alice和Bob轮流取石子,Alice先移动。每次可以选一堆石子然后从里面拿走若干个石子,可以拿光,但不能不拿。最后......