变量以及数据类型_变量n的数据类型-程序员宅基地

技术标签: c语言  后端  开发语言  

变量的相关概念

为什么需要变量

不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位。如下代码:

void main() {
    
	int a=1;// 定义了一个整型变量,取名为a, 并赋值为1 (强数据类型语言)
	int b=3;// 定义了一个整型变量,取名为b, 并赋值为3
	b=89;// 给变量赋值 为 89
	printf("a=%d \n",a);// 使用输出语句,把变量a 值输出 %d 表示输出的形式为整数
	printf("b=%d \n", b);//使用输出语句,把变量b 值输出 %d 表示输出的形式为整数
	getchar(); //将控制台停留,等待输入
}

变量的介绍

概念

变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)

变量的使用步骤

变量使用的基本步骤

  1. 声明变量int num;
  2. 赋值num = 60;
  3. 使用printf("num=%d", num);
  4. 也可以一步到位 : int num2 = 99;
//1.声明变量【告诉计算机要开一个房间】
int num = 1 ; //整型
double score = 2.3; //小数
char gender = 'A'; //字符
char name[] = "尚硅谷"; //字符串

变量使用注意事项

  1. 变量表示内存中的一个存储区域(不同的数据类型,占用的空间大小不一样)
  2. 该区域有自己的名称 和类型
  3. 变量必须先声明,后使用
  4. 该区域的数据可以在同一类型范围内不断变化
  5. 变量在同一个作用域内不能重名
  6. 变量三要素 (变量名+值+数据类型) ,这一点请大家注意。

变量的数据类型

每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(使用字节多少表示)。

注意:

  1. 在c中没有字符串类型,使用字符数组char[]表示字符串
  2. 在不同系统上,部分数据类型字节长度不一样,举例:int可以占两个字节或4个字节

数据类型相关

整型:

基本介绍

C语言的整数类型就是用于存放整数值的,比如 12 , 30, 3456等等

整数的类型

类型 存储大小(单位为字节) 值范围
char 1 -128 即-(2^7) 到 127 (2^7-1)
unsigned char 1 0 到 255 (2^8 - 1)
signed char 1 -128 即-(2^7) 到 127 (2^7-1)
intsigned int (int) 2/4 -32,768 (- 2^15 ) 到 32,767 (2^15-1)或 -2,147,483,648 (- 2^31) 到 2,147,483,647 (2^31 -1)
unsigned int 2/4 0 到 65,535 (2^16-1) 或 0 到 4,294,967,295 (2^32 -1)
short (signed short) 2 -32,768 (- 2^15)到 32,767 (2^15 -1)
unsigned short 2 0 到 65,535 (2^16 - 1)
long (signed long) 4 -2,147,483,648 (- 2^31) 到 2,147,483,647 (2^31 - 1)
unsigned long 4 0 到 4,294,967,295 (2^32 - 1)

整型的使用细节

  1. 各种类型的存储大小与操作系统、 系统位数和编译器有关 ,目前通用的以64位系统为主。
  2. 在实际工作中, c程序通常运行在linux/unix 操作系统下.大众:使用windows10(64位)
  3. C语言的整型类型, 分为有符号 signed 和无符号 unsigned 两种, 默认是 signed
  4. C程序中整型常声明为int型, 除非不足以表示大数, 才使用long long
  • bit(位): 计算机中的最小存储单位。 byte(字节):计算机中基本存储单元。
    1. 1byte = 8bit [二进制再详细说, 简单举例一个 short 3 和 int 3 ]
    2. short 3 在内存中占有 2字节
    3. int 3 在内存中占有 4个字节

浮点类型

基本介绍

C语言的浮点类型可以表示一个小数,比如 123.4 , 7.8 , 0.12等等

浮点类型

类型 存储大小 值范围 精度
float 单精度 4 字节 1.2E-38 到 3.4E+38 6 位小数
double 双精度 8 字节 2.3E-308 到 1.7E+308 15 位小数

说明一下:

  1. 关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位 , 浮点数是近视值
  2. 尾数部分可能丢失,造成精度损失。

浮点型使用细节

  1. 浮点型常量默认为double型 , 声明float型常量时, 须后加‘f’或‘F’。
  2. 浮点型常量有两种表示形式
    1. 十进制数形式:如: 5.12 512.0f .512 (必须有小数点)
    2. 科学计数法形式:如: 5.12e2 、 5.12E-2
  3. 通常情况下,应该使用double型,因为它比float型更精确。
  4. printf("d1=%f ", d1); // 在输出时,默认保留 小数点6位

字符类型

基本介绍

字符类型可以表示单个字符,字符类型是charchar是1个字节(可以存字母或者数字),多个字符称为字符串, 在C语言中 使用 char数组 表示,数组不是基本数据类型,而是构造类型。

字符类型使用细节

  1. 字符常量是用单引号('')括起来的单个字符。 例如: char c1 ='a'; char c3 = '9';

  2. C中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如: char c3 = ‘\n’; // '\n'表示换行符

  3. 在C中, char的本质是一个整数,在输出时,是ASCII码对应的字符。

  4. 可以直接给char赋一个整数,然后输出时,会按照对应的ASCII 字符输出 [97]

  5. char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码.

    char c1 = 'a';
    char c2 = 'b';
    

字符类型本质探讨

  1. 字符型 存储到 计算机中,需要将字符对应的码值(整数)找出来
    1. 存储:字符’a’——>码值 (97)——>二进制 (1100001)——>存储()
    2. 读取:二进制(1100001)——>码值(97)——> 字符’a’——>读取(显示)
  2. 字符和码值的对应关系是通过字符编码表决定的(是规定好)

布尔类型

基本介绍

  1. C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真 [案例]
  2. 但这种做法不直观,所以我们可以借助C语言的宏定义 。
  3. C语言标准(C99)提供了_Bool 型, _Bool仍是整数类型,但与一般整型不同的是,_Bool变量只能赋值为0或1,非0的值都会被存储为1, C99还提供了一个头文件<stdbool.h> 定义了bool代表_Bool, true代表1, false代表0。只要导入 stdbool.h ,就能方便的操作布尔类型了 , 比如 bool flag = false;
  4. 条件控制语句; if
  5. 循环控制语句; while …
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45074341/article/details/121922196

智能推荐

计算机毕设ssm失物招领管理系统ee6sp9【附源码】_ssm失物招领平台源码-程序员宅基地

文章浏览阅读127次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:ssm + mybatis + Maven +mysql5.7或8.0等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_ssm失物招领平台源码

Python TypeError: ‘NoneType‘ object is not subscriptable_nonetype object is not subscriptable-程序员宅基地

文章浏览阅读1.5w次,点赞6次,收藏3次。Python TypeError: ‘NoneType’ object is not subscriptable分析现有一变量 li ,list 类型,通过索引去获取获取value是可以取到value,但是如果 li = None ,再通过索引获取value就会报错同理,如果变量是dict类型也会出现一样的报错总结对一个值为None的变量,进行索引取值或通过key取值,都会报 'NoneType' object is not subscriptable 错。..._nonetype object is not subscriptable

PCIe bar空间理解与调试_fpga读写pcie bar空间-程序员宅基地

文章浏览阅读5.2k次,点赞4次,收藏35次。验证环境window 10系统vivado 2017.4KC705开发板bar空间相关知识具体可以学习下面的文章bar空间说明bar空间测试以下实验,是在PIO example 验证基础上做的。xilinx官方给出的PIOexample工程,默认仅使能了BAR0空间,空间大小为2Kbyte ,读写位宽32bit(未使能64bit)其实这里..._fpga读写pcie bar空间

字符串函数讲解(C语言笔记,建议收藏!!!)_strlwr函数的用法-程序员宅基地

文章浏览阅读10w+次,点赞1.1k次,收藏8.4k次。1、gets函数2、puts函数3、strcat函数4、s't'r'c'p'y_strlwr函数的用法

ASP.NET收藏-程序员宅基地

文章浏览阅读166次。http://blog.csdn.net/mengyao/archive/2007/02/17/1511356.aspx使用SqlBulkCopy类加载其他源数据到SQL表 在数据回发时,维护ASP.NET Tree控件的位置 vagerent的vs2005网站开发技巧 ASP.NET2.0小技巧--内部控件权限的实现 图片滚动代码。 css——之三...

pyqt按钮关闭窗口_PyQt5按钮单击事件,退出程序-程序员宅基地

文章浏览阅读3.3k次。1.注意项:当使用QPushButton.clicked.connect(lambda:self.信号槽方法)。connect方法传参数时,需要加上“lambda:”2.步骤:添加一个按钮 self.button1 = QPushButton('按钮上的文本')。创建水平布局对象QHBoxLayout,并使用setWidget方法,将button1添加进去。layout = QHBoxLayout..._pyqt5界面无边界后添加打开关闭按钮

随便推点

android 自学资料_安卓学习文档-程序员宅基地

文章浏览阅读1.0k次。android 面试资料整理_安卓学习文档

基于Java的旅社客房收费管理系统的设计与实现(源码+lw+部署文档+讲解等)-程序员宅基地

文章浏览阅读811次,点赞20次,收藏23次。博主介绍:全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战精彩专栏 推荐订阅2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选题推荐2023-2024年最值得选的Java毕业设计选题大全:500个热门选题推荐Java精品实战案例《500套》微信小程序项目精品案例《500套》文末获取源码+数据库。

OKR考核系统是怎么制定的?一文带你学会OKR制定标准流程_售前工程师okr模板-程序员宅基地

文章浏览阅读2.2k次。为什么英特尔、谷歌等美国高科技企业热衷于应用OKR管理系统,而不是传统的KPI(关键绩效指标)和BSC(平衡记分卡)等绩效管理方法呢?本文带您了解OKR目标管理法的施行周期、OKR制定流程、OKR管理和执行流程,拥有5大优势的OKR目标管理法将是企业数字化转型期的一大利器。_售前工程师okr模板

大屏如何打造智慧城市?30张大屏模板送你,零代码基础也会用_城市大屏使用指南-程序员宅基地

文章浏览阅读432次。近年来,许多互联网企业已经纷纷涉足智慧城市的研发和推广部门,绝大部分政府规划也包含了未来智慧城市发展明细,有的也宣布已建成了“城市大脑”,但很多人对智慧城市是什么只停留在门外汉阶段,以为城市加大数据就等于智慧城市。宋梁称,凭经验看,新一代网络建设是五年至十年,五年是一个时间节点,会有一些大的变化,像当年智能手机改变你的生活一样,十年之后可能是另外一个东西,改变所有人的生活,这是会发生的事情。数字城市的重点在城市信息的数字化,智慧城市的重点是信息的分析、知识的生成、事件的预测与决策。_城市大屏使用指南

“*** error 65: access violation at 0x0000000C : no 'read' permission”错误的解决_*** error 65: access violation at 0x00000000 : no -程序员宅基地

文章浏览阅读2.3w次,点赞16次,收藏73次。摘要:STM32F407VG工程进入软件仿真时,出现*** error 65: access violation at 0x0000000C : no 'read' permission错误。当点击RUN按钮时会重复提示*** error 65: access violation at 0x00000000 : no 'execute/read' permission的错误。解决步骤: 1. Op_*** error 65: access violation at 0x00000000 : no 'execute/read' permission

在Linux上安装Chef工作站-程序员宅基地

文章浏览阅读73次。导读 Chef是一个IT基础设施自动化软件,它可以管理你组织中所有的服务器和网络设备。当我们想与Chef服务器、任何物理节点(服务器、网络设备等)的基础设施进行交互时,我们需要一个Chef工作站。本教程解释如何安装和配置Linux服务器上Chef工作站。 ..._linux 安装chef

推荐文章

热门文章

相关标签