数据类型、运算符和表达式

本文详细介绍了C语言中的数据类型,包括基本类型、构造类型和指针,以及常量的种类。此外,还讲解了变量的定义、初始化与使用,以及赋值运算符和表达式、算术运算符、逗号运算符和数据转换类型的相关知识,为C语言的学习者提供了全面的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c语言的数据类型

(1)基本类型还可以分解为其他类型,主要为整型,字符型和浮点型。
(2)构造类型是根据已定义的一个或多个数据类型,用构造的方法来定义的。可以理解为,一个构造类型的值由若干个“成员”或“分量”构成。每个“成员”都是一个基本类型或一个构成类型。C语言构造类型包括:数组类型、结构体类型、公用体类型、和枚举类型。
(3)指针是C语言中一种特殊的,同时又具有重要作用的数据类型。

C语言的常量常量

是指在程序运行的过程中值不能被改变的量直接常量

  1. 整数常量
    (1)十进制表示:由数字0~9,正、负号组成
    (2)八进制表示:以0(数字0)为前缀,其后由数字0~7组成,八进制数一般是无符号数;
    (3)十六进制表示:以0x或0X为前缀,其后由数字0~9和字母A~F(字母大小写均可)组成,十六进制数一般是无符号数

  2. 实型常量实型常量即实数,又称为浮点数。C语言中,实数只能用十进制形式表示,实数的表示方法有两种:小数形式和指数形式。
    小数形式:如12.345,3.,-.123。
    指数形式:由尾数部分、字母E或e和指数部分组成,格式为:±尾数E指数。

  3. 字符型常量
    (1) 字符常量只能用单引号括起来,不能用双引号或其它括号。
    (2) 字符常量只能是单个字符,不能是多个字符组成的字符串。
    (3) 字符可以是ASCII字符集中的任意字符。按ASCII码的大小,不同的字符之间存在着次序,以字符的ASCII码值按升序连续排列。
    (4) 对于控制符(如回车、换行等)与不可见字符,在C语言中通过转义字符来表示。

  4. 字符串常量字符串常量是由一对双引号””括起来的零个或多个字符序列,如:”HelloWorld”
    字符串中可以使用空格字符、转义字符和其他字符,也可以使用汉字等文字符号字符串中还可以使用空字符,如:”” 表示空串,即不包含任何字符

  5. 符号常量
    在C语言中,可以用一个标识符来表示一个常量,称之为符号常量;
    符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量值。
    符号常量的使用,可以为编写程序提供很多好处:
    增加程序的可读性
    提高程序的可维护性
    简化程序代码
    方便数组的定义

C语言的变量

在程序的运行过程中,其值可以被改变的量称为变量
变量用于从外部接收数据、保存一不断变化的值、保存中间结果及最终结果,而这些都无法用常量来实现。
变量的定义与使用

  1. 变量的定义
    [存储类型] 类型说明符 变量名;
    定义四个静态的整型变量a,b,c,d:static int a,b,c,d;定义两个字符型变量ch1,ch2:char ch1,ch2
    定义一个单精度浮点数变量f:float f;
  2. 变量的初始化
    C语言允许在定义变量的同时对变量赋值,这个过程称为变量的初始化
    定义一个整型变量x并赋初值为2:int x=2;
    定义两个整型变量s和t,分别赋初值为1:int s=1,t=1;
    定义一个单精度型变量f并赋初值为3.68:float f =3.68;
    定义一个字符型变量ch并赋初值为字符x:char ch=‘x’;
  3. 变量的使用
    变量应该先赋值,后引用
  4. 字符型变量
    字符型变量的值是字符常量,即用单引号引起来的单个字符字符型变量的类型说明符是char,其类型说明的格式和命名规则与整型变量相同

赋值运算符和赋值表达式

赋值运算符有“=”、“+=”、“-=”、“*=”、“/=”和“%=”等用赋值运算符将运算对象连接而成的表达式称为赋值表达式

  1. 简单赋值运算符将“=”右边表达式的值赋给左边的变量;
  2. 复合赋值运算符在简单赋值运算符前面加上算术运算符就构成复合算术赋值运算符;
  3. 赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子所组成。一般形式为:变量 = 表达式
  4. 赋值表达式的执行过程是:计算赋值运算符右侧表达式的值;将所计算出的值赋给赋值运算符左侧的变量。
    5. 算数运算符和算数表达式基本的算术运算
    符运算符 + - * / %
    名称 加 减 乘 除 取余
  5. 单目运算符负号:负数 ++ 自增运算符:使变量的值自加1 – 自减运算符:使变量的值自减1
  6. 有两种使用形式: 前缀方式:用于变量前面,它是 “先计算,后使用” 后缀方式:用于变量后面,它是 “先使用,后计算”
  7. 算术运算符的优先级和结合性单目运算符的优先级高于双目运算符双目算术运算符中*、/、%的优先级高于+、-在优先级相同的情况下,按规定的“结合方向”进行处理
  8. 算术表达式算术表达式是由算术运算符、运算对象和括号连接起来的式子; 所有的数学表达式均可写成C语言的算术表达式,但是有些数学表达式无法直接用C语言的算术表达式写出,此时需要调用C语言中的数学函数来实现;

逗号运算符和逗号表达式

  1. 逗号运算符(,):
    功能是把多个表达式连接起来组成一个表达式,称为逗号表达式逗号表达式的一般形式为:
    表达式1,表达式2,…,表达式n
    (1)逗号表达式的执行顺序:从左到右依次执行每个表达式;
    (2)逗号表达式的值为“表达式n”的值;
    (3)逗号运算符是双目运算符,其优先级最低,是左结合的;
    (4)并非所有出现逗号的地方都可以作为逗号表达式,如printf("%d%d",&a,&b),其中的 “%d%d”,&a,&b 并不是一个逗号表达式,而是printf函数的参数;
  2. 求字节数运算符sizeof(…):是一个单目运算符,用于计算数据类型所占的字节数,其一般格式为:sizeof(表达式)或sizeof 表达式sizeof(数据类型名)

数据转换类型

  1. 自动类型转换自动类型转换就是编译器默默地、隐式地、偷偷地进行的数据类型转换这种转换不需要程序员干预,会由C语言编译系统自动完成转换规则是:把占用内存空间少的(低级)类型向占用空间多的(高级)类型转换,以保证运算的精度
  2. 强制类型转换采用强制类型转换运算符将某种数据类型强制转换成指定的数据类型
  3. 类型转换只是临时性的无论是自动类型转换还是强制类型转换,都只是为了本次运算而进行的临时性转换转换的结果也会保存到临时的内存空间,不会改变数据本来的类型或者值。
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值