C语言从头学15——数据类型(一)

       C语言中的数据都有类型区别,必须先声明数据的类型后才能操作数据。基本数据类型有三种:字符型(char)、整型数(int)和浮点型数(float)。其它复杂的类型都是以它们为基础构建的,如 double、long int、long long int 等还有许多。这里简要介绍一些常用类型。
1、字符型
      字符型指的是单个字符,类型声明使用 char。
      char c='A'; //声明字符型变量c并为其赋值A,字符型不同于字符串,是用单引号括起来的
      在计算机内部,字符型使用一个字节 (8 bit) 存储。字符型在C语言中是当作整数处理的,所以字符型就是宽度为一个字节的整数。在字符类型的范围之内,整数 (对应的ASCII码值) 与字符是可以互换的,都可以赋值给字符类型的变量,效果相同。也正因为这个原因,字符型可以与整形做关系运算。 举个例子:

        char c1='A';char c2=65; if(c1==c2){ printf("c1、c2相等");} //运行结果:c1、c2相等printf("ASCII值65字符是:%c",65); //运行结果:ASCII值65字符是:Aprintf("字母A的ASCII码值:%i", 'A'); //运行结果:字母A的ASCII码值:65

2、整型数
       整型数使用 int 进行声明。不同系统 int 类型所占字节数不一致,32位系统占4个字节。因此,能表示的整数范围是:-2,147,483,648 到 2,147,483,647。
       int a=1000; //声明整形变量a并赋值1000
       整型的修饰:signed (有正负),unsigned (无符号)
       signed int:有符号整形含义与int一致,因此一般还是写成 int
       unsigned int:无符号整形(在正数方向表示范围比有符号多一倍)
3、整型的子类型:
      short int (简写为 short 不写后面的int效果一样),一般占用2个字节(整数范围为 -32768~32767)
      long int(简写为long),占用空间不少于int,至少为4个字节
      long long int (简写为long long),占用空间多于long,至少为8个字节,能表示更大范围的整数
      默认情况下,short、long、long long都是带符号的,即省略signed。它们也可以声明为不带符号 (unsigned),使得能够表示的最大值扩大一倍。
     不同的计算机系统,数据类型的字节长度是不一样的。确实需要32位整数时,应使用 long 类型而不是 int 类型,可以确保不少于4个字节;确实需要64位的整数时,应该使用 long long 类型,可以确保不少于8个字节。另一方面,为了节省内存空间,只需要16位整数时,应使用 short 类型;需要8位整数时,应该使用 char 类型,unsigned char可表示0-255。
      整形的进制:
      默认——10进制 如 255
      0打头——8进制 如 0277
      0x——16进制 如 0xffff
      0b——2进制 (部分系统) 0b101010(VS2022编译器中无这种表示法)
      在计算机中,不同进制只是数的外在形式,内部存储全都是二进制。不同进制之间做各种运算无所谓,都可以。
      在printf () 函数中显示不同进制的常用占位符如下:
        %d :十进制整数
        %o :八进制整数
        %x :十六进制整数
        %#o :显示前缀 "0" 的八进制整数
        %#x :显示前缀 "0x" 的十六进制整数
       例如,要把十进制255显示成16进制的语句是:
       printf ("十进制255十六进制是%#x",255); //运行结果:十进制255十六进制是0xff
 

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

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

相关文章

【第一节】数据结构和算法绪论

目录 一、数据结构的起源与发展 二、什么是数据结构 三、数据的逻辑结构和存储结构 四、数据类型和数据结构 五、算法 六、算法与数据结构的关系 七、算法时间复杂度和空间复杂度 一、数据结构的起源与发展 数据结构的起源可以追溯至1968年。当时,美国的唐欧…

Spring Security 注册过滤器注意事项

前两天和小伙伴聊了 Spring SecurityJWT 实现无状态登录,然后有小伙伴反馈了一个问题,感觉这是一个我们平时写代码容易忽略的问题,写一篇文章和小伙伴们聊一聊。 一 问题复原 先来说问题吧,在 Spring SecurityJWT 登录中&#x…

C++入门5——C/C++动态内存管理(new与delete)

目录 1. 一图搞懂C/C的内存分布 2. 存在动态内存分配的原因 3. C语言中的动态内存管理方式 4. C内存管理方式 4.1 new/delete操作内置类型 4.2 new/delete操作自定义类型 1. 一图搞懂C/C的内存分布 说明: 1. 栈区(stack):在…

【C语言】位段(结构体实现位段)

目录 一、位段的定义 二、位段的声明 三、位段的内存分配 四、位段在内存中的存储方式 五、位段的优点 六、位段的跨平台问题 七、位段的应用 八、位段使用的注意事项 一、位段的定义 信息的存取一般以字节为单位。实际上,有时存储一个信息不必用一个或多个字…

匠心独运,B 端系统 UI 演绎华章之美

匠心独运,B 端系统 UI 演绎华章之美

上位机图像处理和嵌入式模块部署(f103 mcu获取唯一id)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于stm32f103系列mcu来说,一般每一颗原厂的mcu,都会对应一个唯一的id。那这个id可以用来做什么用呢?个人认为&…

ffmpeg 的sws_scale接口函数解析

ffmpeg 的 sws_scale 函数是 libswscale 库中的一个重要函数,用于进行图像的缩放和颜色空间转换。它的主要作用是将输入图像帧转换为另一种尺寸或颜色格式的输出图像帧。下面详细解析一下 sws_scale 函数的作用、参数等。 sws_scale 函数的作用 ffmpeg 的 sws_sca…

PX4 ROS2 真机

如果仿真跑通了。 真机遇到问题,可参考此文章。 ubuntu22 px4 1.14.3 ros2 humble 硬件接线。 先找两个usb - ttl串口,分别接到两台主机上,保证串口通信正常。 图中是个六合一的。浪费一天时间,发现是串口设置错误&#xff…

力扣 101. 对称二叉树

给你一个二叉树的根节点 root , 检查它是否轴对称。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ bool check(struct TreeNode* L,struct TreeNode* R){if(!L&…

socket网络编程——套接字地址结构

一、通用 socket 地址结构 socket 网络编程接口中表示 socket 地址的是结构体 sockaddr&#xff0c;其定义如下&#xff1a; 1. #include <bits/socket.h> 2. 3. struct sockaddr 4. { 5. sa_family_t sa_family; 6. char sa_data[14]; 7. }; sa_family 成员是地址族类型…

【云原生】kubernetes中pod的生命周期、探测钩子的实战应用案例解析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

强国机械制造有限公司引入先进制造技术,提升产品质量和生产效率

强国机械制造有限公司2024年6月3日宣布引入了一系列先进制造技术,包括机器学习、人工智能和物联网等,旨在提升其产品的质量和生产效率。这些前沿技术的应用,使得公司的制造过程更加智能化和数据驱动,显著提高了产品的精度和稳定性。 通过机器学习算法,强国机械能够分析和预测生…

循环神经网络RNNLM续写“The meaning of life“

一、语料库 使用泰戈尔飞鸟集&#xff0c;作为一本英文诗集&#xff0c;用于续写The meaning of life比较好。 飞鸟集语料库如下 1 Stray birds of summer come to my window to sing and fly away. And yellow leaves of autumn, which have no songs, flutter and fall ther…

java注解能继承吗?可以的

注解继承 在 Java 中&#xff0c;注解&#xff08;Annotation&#xff09;默认是不具有继承性的&#xff0c;这意味着如果一个类或接口上使用了某个注解&#xff0c;其子类或实现类不会自动继承该注解。子类或实现类需要显式地重新声明该注解&#xff0c;如果希望它们也具有相…

springboot 解耦、隔离、异步的原则以及实战

在Spring Boot中实现解耦、隔离和异步的原则,能够提升应用程序的可维护性、可扩展性和性能。下面我会先介绍这三个原则的基本概念和意义,然后通过实战示例展示如何在Spring Boot应用中应用这些原则。 解耦 解耦是减少或消除应用程序组件之间依赖关系的过程,以提高模块的独…

《深入浅出C语言:从基础到指针的全面指南》

1. 简介 C语言是一种通用的编程语言&#xff0c;广泛应用于系统编程、嵌入式系统和高性能应用程序。它由Dennis Ritchie在1972年开发&#xff0c;并且至今仍然非常流行。C语言以其高效、灵活和强大的功能著称&#xff0c;是许多现代编程语言的基础。 2. 基本语法 2.1 Hello, …

VIKOR方法

简介 VIKOR方法是一种多标准决策&#xff08;MCDM&#xff09;或多标准决策分析方法。它最初由 Serafim Opricovic 开发&#xff0c;用于解决具有冲突和不可通约&#xff08;不同单位&#xff09;标准的决策问题&#xff0c;假设冲突解决可以接受妥协&#xff0c;决策者想要一…

C++中static关键字用法总结

在C中&#xff0c;关键字static有多种用途&#xff0c;它可以用于变量、函数。下面是static在不同上下文中的作用和举例。下面从static修饰的变量、函数三方面进行总结。 1、静态变量 静态变量分为全局变量、局部变量、函数中变量两种。 1.1 静态全局变量 静态全局变量声明在…

【文末附gpt升级秘笈】关于论文“7B?13B?175B?解读大模型的参数的论文

论文大纲 引言 简要介绍大模型&#xff08;深度学习模型&#xff09;的概念及其在各个领域的应用。阐述参数&#xff08;Parameters&#xff09;在大模型中的重要性&#xff0c;以及它们如何影响模型的性能。引出主题&#xff1a;探讨7B、13B、175B等参数规模的大模型。 第一…

前端框架前置知识之Node.js:Node.js入门

前端程序员有必要学 Node.js 吗&#xff1f;要学到什么程度&#xff1f; 小朋友&#xff0c;你是否有很多问号&#xff1f; 对于node.js&#xff0c;不知道你是否和我一样有很多问号&#xff1f; 其实在学习node.js之前&#xff0c;我已经学完了Vue框架&#xff0c;而且已经…