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

news2024/11/25 3:37:27

目录:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/795868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文1500字从0到1搭建 Jenkins 自动化测试平台

Jenkins 自动化测试平台的作用 自动化构建平台的执行流程&#xff08;目标&#xff09;是&#xff1a; 我们将代码提交到代码托管工具上&#xff0c;如github、gitlab、gitee等。 1、Jenkins要能够检测到我们的提交。 2、Jenkins检测到提交后&#xff0c;要自动拉取代码&…

PostgreSQL构建时间

– PostgreSQL构建时间 select make_timestamp(2023,7,27,7,34,16);

python dataframe转置 多行转列

如上图 转置为下图&#xff1a; index_cols [身份证,手机号,serial_number]dfT df_last.set_index(index_cols).stack().unstack([0,1,2,])

EMP-SSL: TOWARDS SELF-SUPERVISED LEARNING IN ONETRAINING EPOCH

Recently, self-supervised learning (SSL) has achieved tremendous success in learning image representation. Despite the empirical success, most self-supervised learning methods are rather “inefficient” learners, typically taking hundreds of training epoch…

C++STL库中的vector

文章目录 vector的介绍及使用 vector深度剖析及模拟实现 动态二维数组理解 一、vector的介绍及使用 1.vector的介绍 1. vector是表示可变大小数组的序列容器。 2. 就像数组一样&#xff0c;vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进…

进阶 vue3自定义指令 vue中常用自定义指令

文章目录 vue3自定义指令1.什么是自定义指令&#xff1f;2.注册自定义指令2.1 全局注册2.2 局部注册<script setup>中注册&#xff1a;<script>中使用&#xff1a; 3.钩子函数参数详解4.指令传值5.总结 常用自定义指令案例v-longpress 长按v-debounce 防抖v-thrott…

kubernetes安装问题记录

kubernetes安装问题记录 【1】未配置 host 文件警告1.1 原因1.2 解决方案 【2】swap 未禁用警告2.1 产生原因2.2 解决方式 【3】containerd 进程禁用了 cri 模块插件3.1 原因3.2 解决方法 问题1-3的完整错误日志【4】因错误中断再次 kubeadm init 报错4.1 原因4.2 解决方案 【5…

【学习篇】SAE J1939协议—常用到的知识点

前言&#xff1a;以下关于SAE J1939协议知识点的学习均抄录自书籍&#xff0c;侵权请联系删除。 故障诊断 SAE J1939诊断应用层定义了用于诊断服务的报文帧&#xff0c;诊断报文&#xff08;DM&#xff09;提供了用于车辆进行诊断和维修的功能。 诊断故障代码定义 SAE J193…

从Vue层面 - 解析发布订阅模式和观察者模式区别

目录 前言一、发布订阅模式什么是发布订阅模式&#xff1f;应用场景 二、观察者模式1&#xff09;什么是观察者模式&#xff1f;2&#xff09;应用场景3&#xff09;vue中的观察者模式观察者&#xff08;订阅者&#xff09; - Watcher目标者&#xff08;发布者&#xff09; - D…

内部类(上)成员内部类,局部内部类的使用

文章目录 前言一、内部类是什么&#xff1f;二、如何使用&#xff1f; 1.成员内部类2.局部内部类总结 前言 如果在一个文件中创建了两个类&#xff0c;那么这两个类是并列关系&#xff0c;不存在哪一个类包含哪一个类的情况。如果在类中再定义一个类&#xff0c;那么这个在类中…

VMPWN的入门系列-1

温馨提示&#xff1a; 今天的文章有点长&#xff0c;图片比较多&#xff0c;请耐心阅读 5.1 实验一 VMPWN1 5.1.1 题目简介 这是一道基础的VM相关题目&#xff0c;VMPWN的入门级别题目。前面提到VMPWN一般都是接收字节码然后对字节码进行解析&#xff0c;但是这道题目不接受字节…

加载已训练好的目标检测YOLOv8,v5,v3,v6模型,对数据集中某张图片中的object打上方框、标出类别,并将图片保存到本地

参考的教程&#xff1a;Python - Ultralytics YOLOv8 Docs 在与ultralytics代码同一层级下新建 predict.py 里面写下面的内容。运行即可 from ultralytics import YOLO from PIL import Image import cv2# 加载计划使用的模型 model YOLO("yolov8n.pt") # load a…

Flask deleteput

Flask delete&put 一、delete 请求1.1 代码1.2 分析1.3 验证 二、put请求2.1 代码2.2 分析2.3 验证 三、总结 Flask get&post 请求传送门&#xff1a;FLASK get&post分析 一、delete 请求 1.1 代码 from flask import Flask, requestapp Flask(__name__)app.ro…

CVPR2023新作:考虑3D一致性的人脸关键点检测

Title: 3D-aware Facial Landmark Detection via Multi-view Consistent Training on Synthetic (三维感知人脸关键点检测&#xff1a;合成数据下多视角一致训练) Affiliation: Texas A&M University Authors: Libing Zeng, Lele Chen, Wentao Bao, Zhong Li, Yi Xu, Jun…

Linux常用命令——dris命令

在线Linux命令查询工具 dris 显示和清空目录堆栈中的内容 补充说明 dris命令用于显示和清空目录堆栈中的内容。 语法 dris(选项)选项 n&#xff1a;显示从左边算起第n笔的目录&#xff1b; -n&#xff1a;显示从右边算起第n笔的目录&#xff1b; -l&#xff1a;显示目录…

2023年第六届河北省研究生数学建模竞赛题目B题Python求解代码

2023年第六届河北省研究生数学建模竞赛题目B题 本文文档与代码视频讲解与下载&#xff1a;【2023河北省研究生数学建模竞赛B题数据集和代码-哔哩哔哩】 https://b23.tv/weulGAO 光伏电池的异常检测与发电产能预测在碳达峰-碳中和的战略背景下&#xff0c;我国的光伏发电技术发…

离谱!学费4万孩子考8分

家长怒怼学费4万孩子考8分&#xff0c;高中单科却只考了8分&#xff0c;而且还有不少孩子考了5分甚至更低&#xff1f; 这试题是有多难啊&#xff1f; 老洪说两句。 现在有一些“贵族学校”或者是一些民办学校&#xff0c;收费项目和标准都由市场来决定&#xff0c;可能比一般学…

openGauss学习笔记-21 openGauss 简单数据管理-GROUP BY子句

文章目录 openGauss学习笔记-21 openGauss 简单数据管理-GROUP BY子句21.1 语法格式21.2 参数说明21.3 示例 openGauss学习笔记-21 openGauss 简单数据管理-GROUP BY子句 GROUP BY语句和SELECT语句一起使用&#xff0c;用来对相同的数据进行分组。您可以对一列或者多列进行分组…

【mysql学习篇】Order by与Group by优化以及排序算法详解

一、Order by与Group by优化 Case1&#xff1a; 分析&#xff1a; 利用最左前缀法则&#xff1a;中间字段不能断&#xff0c;因此查询用到了name索引&#xff0c;从key_len74也能看出&#xff0c;age索引列用在排序过程中&#xff0c;因为Extra字段里没有using filesort 注意…

tinkerCAD案例:12.Minecraft Party Glasses 我的世界派对眼镜

tinkerCAD案例&#xff1a;12.Minecraft Party Glasses 我的世界派对眼镜 原文 In this lesson, you will learn to design a cool pair of party glasses! 在本课中&#xff0c;您将学习设计一副很酷的派对眼镜&#xff01; Start by dragging the Box shape to the Workpla…