C语言数据类型和变量

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

数据类型分类

内置类型【C语言本身就具有的类型】

  • 字符
  • 整型
  • 浮点型
    • 小数点是可以浮动的【3.14 = 0.314 * 10^1 = 31.4 * 10^-1】
  • 布尔型
    • C99 中也引⼊了 布尔类型 ,是专门表示真假的。
    • 布尔类型的使用得包含头⽂件 <stdbool.h>
    • 布尔类型变量的取值是:true或者false。

自定义类型【自己来创建类型】

  • 数组
  • 结构体 - struct
  • 枚举 - enum
  • 联合体 - union

取值范围

  • limits.h 文件中说明了整型类型的取值范围
  • float.h 这个头文件中说明浮点型类型的取值范围
  • SCHAR_MINSCHAR_MAXsigned char 的最小值和最大值
  • INT_MININT_MAXint 的最小值和最大值
  • LONG_MINLONG_MAXlong 的最小值和最大值
  • LLONG_MINLLONG_MAXlong long 的最小值和最大值
  • UCHAR_MAXunsigned char 的最大值
  • USHRT_MAXunsigned short 的最大值
  • UINT_MAXunsigned int 的最大值
  • ULONG_MAXunsigned long 的最大值
  • ULLONG_MAXunsigned long long 的最大值

变量

变量的创建

  • 类型是用来创建变量的,
  • C语言中把经常变化的值称为变量,不变的值称为常量。

变量创建的语法形式

data_type name;
	|		|
	|		|
数据类型    变量名     
        
int age; //整型变量
char ch; //字符变量
double weight; //浮点型变量

变量在创建的时候就给⼀个初始值,就叫初始化文章来源地址https://www.toymoban.com/news/detail-673266.html

变量的分类

全局变量

  • 在大括号外部定义的变量就是全局变量。
  • 全局变量的使用范围更广,整个工程中想使用,都是有办法使用的。

局部变量

  • 在大括号内部定义的变量就是局部变量。
  • 局部变量的使用范围是比较局限,只能在自己所在的局部范围内使用的。

栈区、堆区、静态区

  • 局部变量是放在内存的栈区
  • 全局变量是放在内存的静态区
  • 堆区是用来动态内存管理的。

算术操作符

  • 算术操作符分别是: + - * \ % ,都是双目操作符
  • 除法 \
    • 除号的两端如果是整数,执行的是整数除法结果也是整数
    • C 语言里面的整数除法是整除,只会返回整数部分,丢弃小数部分。
    • 若要得到浮点数结果,两个运算数必须至少有⼀个浮点数
  • 求模 %
    • 返回两个整数相除的余值。
    • 运算符只能用于整数,不能用于浮点数。
    • 负数求模的规则是,结果的正负号由第⼀个运算数的正负号决定

赋值操作符

  • 在变量创建的时候给一个初始值叫初始化,在变量创建好后,再给⼀个值,这叫赋值
  • 赋值操作符 = 是⼀个随时可以给变量赋值的操作符。

连续赋值

int a = 3;
int b = 5;
int c = 0;
c = b = a+3;//连续赋值,从右向左依次赋值的。

复合赋值符

int a = 10;
a += 3;	//复合赋值
a -= 2;	//复合赋值

单目操作符:++、–、+、-

  • 操作符只有⼀个操作数,被称为单目操作符。
  • ++ 是⼀种自增的操作符,又分为前置 ++ 和后置 ++
    • 前置 ++ :先 +1,后使用;
    • 后置 ++ :先使用,后 +1。
  • -- 是⼀种自减的操作符,也分为前置 -- 和后置 --
  • +是正号, - 是负号,都是单目操作符。
  • 运算符 + 对正负值没有影响,是⼀个完全可以省略的运算符,但是写了也不会报错。
  • 运算符 - 用来改变⼀个值的正负号。

强制类型转换

int a = 3.14;
//a的是int类型, 3.14是double类型,两边的类型不⼀致,编译器会报警告
为了消除这个警告,我们可以使用强制类型转换:
int a = (int)3.14;//意思是将3.14强制类型转换为int类型,这种强制类型转换只取整数部分

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

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

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

相关文章

  • 【Terraform学习】保护敏感变量(Terraform配置语言学习)

    创建 EC2 IAM 角色 导航到 IAM 在 左侧菜单 中,单击 角色  。单击 创建角色 该按钮以 创建新的 IAM 角色 。 在创建角色部分,为角色选择 可信实体类型 : AWS 服务 使用案例:EC2     单击 下一步 添加权限:现在,您可以看到 策略列表 。按名称 AdministratorAccess 搜索权限并添加。

    2024年02月13日
    浏览(22)
  • 【Terraform学习】Terraform配置变量(Terraform配置语言学习)

    创建 EC2 IAM 角色 导航到 IAM 在 左侧菜单 中,单击 角色  。单击 创建角色 该按钮以 创建新的 IAM 角色 。 在创建角色部分,为角色选择 可信实体类型 : AWS 服务 使用案例:EC2     单击 下一步 添加权限:现在,您可以看到 策略列表 。按名称 AdministratorAccess 搜索权限并添加。

    2024年02月15日
    浏览(30)
  • 数据结构学习记录——树习题—Tree Traversals Again(题目描述、输入输出示例、解题思路、解题方法C语言、解析)

    目录 题目描述 输入示例 输出示例 解题思路  解题方法(C语言) 解析 有序的二叉树遍历可以用堆栈以非递归的方式实现。 例如: 假设遍历一个节点数为6的二叉树(节点数据分别为1到6)时, 堆栈操作为:push(1);push(2);push(3);pop();pop();push(4);pop()

    2024年02月07日
    浏览(34)
  • perl脚本语言学习1——基础篇:变量、数组、哈希数组、循环、文件、函数

    2023.3.18 今天下载虚拟机把电脑磁盘内容弄到乱七八糟,难受 发现每次学习遇到一个坎,感觉面前是一座大山,越过去之后又对前途充满了希望 perl:practical extraction report language 实用提取和报表语言 从字面上看主要与文本处理相关 变量定义: my 存储 数字、字符、字符

    2024年02月12日
    浏览(56)
  • C语言——自定义类型结构体_学习笔记

    结构体是一种用户自定义的数据类型,可以包含 多个不同类型的变量 。通过使用结构体,我们可以将相关联的数据组织在一起,便于管理和使用。 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型的一类。 结构体可以包含多个不同类型的数据成员,例

    2024年02月07日
    浏览(27)
  • C语言学习记录——找数组中的鞍点

    目录 C语言中 鞍点的定义  代码的实现 思路分析图解  指一个矩阵中,即该位置上的元素在该行上最大,在该列上最小。 一个二维数组可能没有鞍点。 例如:1,2,3            4,5,6            7,8,9 该矩阵中,鞍点为3所在的位置。 即数组坐标[ 0 ] [ 2 ],在第一行第三

    2024年02月04日
    浏览(24)
  • MySQL学习记录:第四章 TCL语言

    /* TCL语言 :transaction control language 事务控制语言 事务 : 一个或一组语句组成的一个执行单元,该执行单元要么全执行,要么全不执行 事务由单独单元的一个或多个SQL语句组成,在这个单元中,每个MySQL语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元

    2024年02月14日
    浏览(32)
  • 第六十一天学习记录:C语言进阶:C语言预处理1

    在ANSI C的任何一种实现中,存在两个不同的环境。 第一种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境,它用于实际执行代码。 翻译环境 ![在这里插入图片描述](https://img-blog.csdnimg.cn/04bd03e2cb554aa298fb6a8349722f89.png 上图截取自比特科技免费课程

    2024年02月07日
    浏览(31)
  • 第四十九天学习记录:C语言进阶:结构体

    结构体的声明 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量 问:C++的new和C语言的结构体有什么异同? ChatAI答: C++中的 new 是一个运算符,用于在堆上分配动态内存,并返回指向该内存的地址。它会自动调用要分配的对象的构造函数,以

    2024年02月06日
    浏览(28)
  • 第五十八天学习记录:C语言进阶:文件操作1

    在程序设计中,一般有两种文件:程序文件、数据文件 程序文件 包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。 数据文件 文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件

    2024年02月07日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包