C语言总结(数据类型、运算符与表达式)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csuft20164442/article/details/86554716

第三章、数据类型、运算符与表达式

数据类型

数据类型总表

在这里插入图片描述

基本数据类型

在这里插入图片描述

标识符

  • 定义: 用来标识变量、常量、函数等的字符序列
  • 组成:
    • 只能由 字母、数字、下划线组成,且第一个字母必须是字母或下划线
    • 大小写敏感
    • 不能使用关键字
  • 长度: 最长32个字符
  • 命名原则:
    • 见名知意
    • 不宜混淆 如I(i的大写)与l,o与 0

常量

定义: 程序运行时其值不能改变的量(即常数)
分类:

  • 符号常量:用标识符代表常量
    • 定义格式: #define 符号常量 常量
    • 一般用大写字母
    • 是宏定义预处理命令,不是C语句
      在这里插入图片描述
      在这里插入图片描述
  • 直接常量:
    (1)整型常量
    (2)实型常量
    (3)字符常量
    (4)字符串常量

整型常量(整常数)

  • 三种形式:

    • 十进制整数: 由数字0~9和正负号表示.如 123,-456,0。
    • 八进制整数: 由数字0开头,后跟数字0~7表示.如0123,011。
    • 十六进制整数: 由0x开头,后跟0~ 9,a~ f,A~F表示,如0x123,0Xff。
  • 整型常量的类型

    • 根据其值所在范围确定其数据类型
    • 在整常量后加字母l或L,认为它是long int 型常量
      在这里插入图片描述

实型常量(实数或浮点数)

  • 表示形式:

    • 十进制数形式: (必须有小数点) 如0.123, .123, 123.0, 0.0, 123。
    • 指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5
  • 整型常量的类型

    • 默认double型
    • 在实型常量后加字母f或F,认为它是float 型

字符常量

  • 定义:单引号 括起来的 单个普通字符 转义字符.
    在这里插入图片描述
  • 字符常量的值: 该字符的ASCII码值
    在这里插入图片描述
  • 转义字符: 反斜线后面跟一个字符或一个代码值表示。
    在这里插入图片描述

字符串常量

  • 定义: 用双引号(“”)定界的零或多个字符序列。
  • 存储: 每个字符串尾自动加一个 ‘\0’ 作为字符串结束标志。
  • 字符串长度: 即字符个数,不包括‘\0’。
    在这里插入图片描述
    在这里插入图片描述
  • 字符常量与字符串常量不同
    在这里插入图片描述

变量

  • 概念: 其值可以改变的量
  • 变量名变量值: 名字代表某存储空间即地址,其间所存的数据即变量值
  • 变量定义的一般格式:
    在这里插入图片描述
    在这里插入图片描述
  • 变量初始化:定义时赋初值

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

  • 变量的使用:
  • 变量定义位置: 一般放在函数开头

整型变量

  • 占字节数随机器不同而不同,一般占一个机器字
  • short≤int≤long
  • 可用sizeof(类型标识符)测量

实型变量

  • float: 占4字节,提供7位有效数字
  • double: 占8字节,提供15~16位有效数字

字符型变量

  • 字符变量存放字符ASCII码
  • Turbo C中字符数据为有符号数
    在这里插入图片描述
    (362)8=(11110010)2 计算机内以补码表示,其真值即为-14
  • char与int数据间可进行算术运算

不同类型数据间的转换

隐式转换

  • 什么情况下发生
    • 运算转换------不同类型数据混合运算时
    • 赋值转换------把一个值赋给与其类型不同的变量时
    • 运算转换------输出时转换成指定的输出格式
    • 运算转换------实参与形参类型不一致时转换
  • 运算转换规则: 不同类型数据运算时先自动转换成同一类型
    在这里插入图片描述

显式转换(强制转换)

  • 一般形式:(类型名)(表达式)
    在这里插入图片描述
    说明: 强制转换得到所需类型的中间变量,原变量类型不变

运算符和表达式

运算符: 表示某种运算形式。

表达式: 运算符、括号将操作数连接起来所形成
的符合C语法规则的式子。
在这里插入图片描述

学习运算符应注意:

  • 运算符功能
  • 与运算量关系
    1、要求运算量个数
    2、要求运算量类型
  • 运算符优先级别
  • 结合方向
  • 结果的类型

算术运算符和表达式

基本算术运算符:+ - * / % (分别是加、减、乘、除、取余)

(1)结合方向:从左向右
(2)优先级:* / % -----> + -

说明:

  • “-”可为单目运算符时,右结合性
  • 两整数相除,结果为整数
  • %要求两侧均为整型数据

自增、自减运算符 ++ - -

  • 作用: 使变量值加1或减1
  • 种类:
    (1)前置:++i,–i(先执行i+1或i-1再使用i值)
    (2)后置:i++,i–(先使用i值,再执行i+1或i-1)
  • 说明:
    (1)++ - - 只能用于整型变量,不能用于常量和表达式,如5++,(a+b)++
    (2)++ - - 结合方向: 自右向左

赋值运算符和表达式

简单赋值运算符

  • 符号: =
  • 格式: 变量标识符=表达式
    作用: 将一个数据(常量或表达式)赋给一个变量

复合赋值运算符

  • 种类:+= -= *= /= %= <= >= &= ^= |=

  • 含义: exp1 op= exp2exp1 = exp1 op exp2

  • 说明:
    (1)结合方向:自右向左
    (2)左侧必须是变量,不能是常量或表达式
    (3)赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型
    (4)赋值表达式的值与变量值相等,且可嵌套

逗号运算符和表达式

形式:表达式1,表达式2,……表达式n
结合性: 从左向右
逗号表达式的值: 等于表达式n的值
用途: 常用于循环for语句中

关系运算符和表达式

种类: < <= == >= > !=
结合方向: 自左向右
优先级别:
在这里插入图片描述

关系表达式的值:是逻辑值“真”或“假”,用1和0表示

逻辑运算符和表达式

种类: ! && ¦¦
逻辑运算真值表
在这里插入图片描述

C语言中,
运算量:0表示“假”,非0表示“真”,
运算结果: “假” 用整数0表示, “真” 用整数1表示,

在这里插入图片描述
短路特性:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。

条件运算符与表达式

一般形式:expr1 ? expr2 : expr3
**功能:**相当于条件语句,但不能取代一般if语句
在这里插入图片描述
结合方向:自右向左
expr1、expr2、expr3类型可不同,表达式值取较高的类型

猜你喜欢

转载自blog.csdn.net/csuft20164442/article/details/86554716