变量以及数据类型_变量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

智能推荐

Ubuntu,Linux下实现划词翻译之goldendict词典安装及配置(转)_linux划词翻译-程序员宅基地

文章浏览阅读5k次,点赞3次,收藏5次。linux 翻译字典帖子-Goldendict及其词典详述, RT,楼主实在是很用心,几乎把每个细节都讲到了,对于刚使用goldendict筒子们无疑是帮了一个大大的忙,不过帖子中提供的词典链接基本都已经坏掉了,而且个人觉得对于词典使用者来说,那些步骤也确实太麻烦了,下边我就一些优质的词典安装使用做简要的说明,跟着我这个来下载完后基本就能用了,Troubleshoot部分就一些细节再做一丁点补..._linux划词翻译

趣味代码:水果动物派对_动物派对的代码-程序员宅基地

文章浏览阅读1.5k次。看到网上有类似的代码截图,但是没有找到源码,只好自己写了一份~~~但是markdown不识别这些符号,所以,搞几张截图和一个识别这些符号的链接吧~~~感觉这个十分有趣,但是没啥技术含量。paste.ubuntu源码链接~~~_动物派对的代码

基于Java+Vue+uniapp微信小程序健身房私教预约设计和实现-程序员宅基地

文章浏览阅读1.5k次,点赞22次,收藏17次。计算机技术的飞速发展带动了各种管理软件的兴起,对我们的工作管理、生活都是很大的帮助,本健身房私教预约微信小程序是采用小程序技术开发的对课程购买、预约工作的信息化、数字化管理,以改变传统的纸质预约方式,本健身房私教预约微信小程序从管理员,用户,教练三个角色来进行功能设计,本论文详细的介绍了健身房私教预约微信小程序的设计过程,并对课题的需求和背景意义目的进行分析介绍,从面向对象的方面进行开发设计,对设计课题的可行性进行详细分析,最后完成本健身房私教预约微信小程序的实现。

前端面试知识点大全——web安全篇-程序员宅基地

文章浏览阅读1.7k次。总纲:前端面试知识点大全目录1.xss(跨站脚本攻击)1.1 概念1.2 防御手段2.csrf(跨站请求伪造)2.1 概念2.2 CSRF防御3. SQL注入3.1 概念3.2 防御手段4.DDOS4.1 概念4.2 例子4.3 解决方案1.xss(跨站脚本攻击)1.1 概念跨站脚本攻击(Cross-Site Scripting,...

Android-程序员宅基地

文章浏览阅读373次,点赞8次,收藏8次。android/frameworks/base/core/java/android/bluetooth/BluetoothAdapter.java:代表本地蓝牙适配器,是所有蓝牙交互的入口。/android/packages/apps/Settings/src/com/android/settings/bluetooth/BluetoothEnabler.java:蓝牙功能的开启/关闭功能处理。切换状态到mTurningOnState,并且调用其非状态的enter()方法,向上层汇报蓝牙此时状态。

QT+OSG/osgEarth编译之四十八:pcre+Qt编译(一套代码、一套框架,跨平台编译,版本:Cal3D-0.13)_qt pcre-程序员宅基地

文章浏览阅读928次,点赞19次,收藏21次。通过一套pcre-8.45代码和框架,实现pcre的跨平台编译。在Qt环境下,集成cal3d库的头文件、库文件,构建跨平台编译的pcre pro文件。通过构建的一套配置工程,基于Qt Creator IDE,完成跨平台的编译实践。在Windows、Linux、MacOS等操作系统上进行测试,成功编译,形成的成果(头文件、库文件等)可在不同系统下调用或使用,从而更好地构建跨平台解决方案。采用的是pcre-8.45版本。读者可参考博客中的集成原理和pro文件,构建不同版本的pcre跨平台包。_qt pcre

随便推点

天刀手游不显示服务器列表,天涯明月刀手游服务器bug解决方法-程序员宅基地

文章浏览阅读804次。天涯明月刀这款手游总算内测了,每个玩家都可以在这里造就属于自己的江湖世界,不同的人会有不同的旅程,所以想要拥有一段属于自己江湖旅程就一定不要错过天刀这款手游,不过这款游戏刚内测,有很多bugqq代挂异常怎么解决,不知道如何解决,很多玩家们都碰到了服务器已满的状况,这种bug如何解决呢?接下来小编就为你们分享一下详细的解决办法,一起来瞧瞧吧!天涯明月刀手游服务器bug解决办法第一种状况,pc端遇见当..._天刀端游服务器

linux元字符和通配符,bash通配符和正则表达式元字符部分归纳-程序员宅基地

文章浏览阅读97次。Linux中有各种各样的字符,而且在不同环境和不同命令之下含义也不同作为新手,决定先归纳学到的符号,方便后面学习厘清它们之间的关系。glob简化了的正则表达式bash默认通配符:?:只匹配一个任意字符;*:匹配零个或多个任意字符;[^]:方括号及其中^中的取反[abc]:匹配任何一个列在方括号中的字符(这个例子要么匹配一个a,要么匹配一个b,要么匹配一个c);如果在方括号中使用短划线分隔两个字符,..._linux的bash中通配符能匹配空格吗

初学者的Compose_c++ compose-程序员宅基地

文章浏览阅读131次。Docker ComposeDocker Compose容器编排YAML 是一种标记语言很直观的数据序列化格式文件格式及编写注意事项不支持制表符tab键缩进,需要使用空格缩进通常开头缩进2个空格字符后缩进1个空格,如冒号、逗号、横杠用#注释如果包含特殊字符用单引号引起来布尔值必须用引号括起来Docler Compose配置常用字段字段描述build docker context指定Dockerfile文件名构建镜像上下文路径image指定镜像_c++ compose

「文心一言」内测详细使用体验-程序员宅基地

文章浏览阅读6.2k次,点赞38次,收藏21次。文心一言内测详细使用体验,一起来看看百度的文心一言吧!

SpringDataRedis简介_、spring data redis是什么?-程序员宅基地

文章浏览阅读98次。1 Redisredis是一款开源的Key-Value数据库,运行在内存中,由ANSI C编写。企业开发通常采用Redis来实现缓存。同类的产品还有memcache 、memcached 、MongoDB等。2 JedisJedis是Redis官方推出的一款面向Java的客户端,提供了很多接口供Java语言调用。可以在Redis官网下载,当然还有一些开源爱好者提供的客户端,如Jredis、S..._、spring data redis是什么?

主流OLAP引擎查询Hudi表数据_hudi支持的olap引擎-程序员宅基地

文章浏览阅读229次。Hudi存储和管理数据,同时为各种查询引擎提供了不同的查询方式。本文介绍了如何在不同的查询引擎中使用不同的查询方式,并讨论每个查询引擎的任何特定说明。1.1 快照查询快照查询是Hudi表最常见的查询类型。Spark SQL同时支持COPY_ON_WRITE和MERGE_ON_READ表上的快照查询。使用会话属性,可以围绕数据跳过和索引指定各种选项,以优化查询性能,如下所示。1.2 time travel 查询可以使用AS OF语法在特定的提交时间查询表。_hudi支持的olap引擎

推荐文章

热门文章

相关标签