变量以及数据类型

这篇具有很好参考价值的文章主要介绍了变量以及数据类型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

变量的相关概念

为什么需要变量

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

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码.文章来源地址https://www.toymoban.com/news/detail-407216.html

    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 …

到了这里,关于变量以及数据类型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ vector元素类型为什么不能是引用

    vectorT 引用必须要进行初始化,不能初始化为空对象,初始化后不能改变指向 引用是别名,不是对象,没有实际地址, 不能定义引用的指针 ,也 不能定义引用的引用 推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家: 零声白金学习卡(含基础架构/高性能存储

    2024年02月15日
    浏览(50)
  • 为什么说 $CHAPZ 是被严重低估的 AI 概念资产?

    在新一轮牛市周期下,除了 DePIN、Layer2 等板块涌入大量资金外,AI 叙事也成为了行业关注的新焦点。事实上,在近半年的时间内,AI 概念的加密资产就已经遍地开花,包括 WLD、RNDR、AGIX、FET 等代币均有了数倍涨幅。而在今年 2 月后,随着 OpenAI 发布 Sora 模型再次将 AI 概念推

    2024年03月19日
    浏览(40)
  • 为什么在Python中总是使用【字典】这种类型呢?

    你好,我是安然无虞。 字典 dict 是一个无序、可变和有索引的集合,字典中不允许存在重复的成员。 在Python中, {} 表示一个空字典,同时 dict() 也表示一个空字典。例如: 说明一下: 字典是一种存储键值对的结构,键和值一一对应,根据键就能快速地找到其对应的值。 字

    2024年04月15日
    浏览(51)
  • 神经网络基础-神经网络补充概念-29-为什么使用深层表示

    深层表示(Deep Representation)是指在深度神经网络的多个隐藏层中逐层提取和学习数据的特征表示。 高维特征提取:深层神经网络可以从原始数据中自动学习高维抽象特征。每个隐藏层都对数据进行一些变换,逐步提取更高级别的特征。这有助于发现数据中的复杂模式和结构

    2024年02月12日
    浏览(33)
  • Java 中有了基本类型为什么还需要包装类?

    Java 中有8种基本数据类型,这些基本类型又都有对应的包装类。 分类 基本数据类型 包装类 布尔型 boolean Boolean 整型 byte Byte short Short int Integer long Long 字符型 char Character 浮点型 float Float double Double 因为 Java 是一种面向对象语言,很多地方都需要使用对象而不是基本数据类型。

    2024年02月14日
    浏览(30)
  • 神经网络基础-神经网络补充概念-55-为什么是ML策略

    “ML策略”(Machine Learning Strategies)是指在解决机器学习问题时,采取的一系列方法、技巧和策略。选择适当的ML策略对于获得高质量的模型和结果非常重要。以下是为什么要考虑ML策略的一些原因: 问题适应性:不同的机器学习问题可能需要不同的策略。ML策略允许您根据问

    2024年02月11日
    浏览(28)
  • C++ 为什么double类型不能直接判断等于0 两个double类型怎么判断相等

    精度丢失, 十进制小数部分在转换成2进制的时候经常会出现无限位的二进制小数,计算机存储小数有长度限制,所以会进行截取部分小数进行存储,计算机只能存储大概的值,而不是精确的值 。 例如: 判断一个单精度浮点数:则是 if( abs(f) = 1e-6); 要判断一个双精度浮点数

    2024年02月12日
    浏览(45)
  • c语言中为什么函数传参大多数用指针类型

    在C语言中,函数传参大多数使用指针类型的原因主要有两个: 允许在函数内部修改实参的值:C语言中的函数参数传递是按值传递的,即将实参值拷贝一份到形参中进行操作,对参的修改不会影响实参。而通过使用指类型参数,可以将实参的地址传递给函数,从而在函数内部

    2024年02月09日
    浏览(32)
  • 分布式缓存:什么是它以及为什么需要它?

      随着网络的快速发展,分布式应用变得越来越普遍。这种类型的应用程序需要访问多个组件和服务,而这些组件可能分散在不同的物理位置上。在这种情况下,由于网络通信的高延迟和低带宽,性能问题变得尤为明显。为解决这一问题,分布式缓存应运而生。   简单的

    2024年02月05日
    浏览(39)
  • 算法| Java的int类型最大值为什么是21亿多?

    本文主要介绍在 Java 中,为什么 int 类型的最大值为 2147483647 。 我们都知道在 Java 中, int 的长度为32位。 理论上,用二进制表示,32位每一位都是1的话,那么这个数是多少呢? 我们来计算一下,第0位可以用20^00表示,第1位可以用21^11表示,第31位可以用231表示,那么32位二进

    2024年02月04日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包