1、C语言:数据类型/运算符与表达式

数据类型/运算符/表达式

1.数据类型与长度

  • 基本数据类型
类型 说明
char 字符型,占用一个字节,可以存放本地字符集中的一个字符
int 整型,通常反映了所有机器中整数的最自然长度
float 单精度浮点型
double 双精度浮点型

short和long限定符:short 类型通常为16 位,long 类型通常为32位,int 类型可以为16 位或32 位。各编译器可以根据硬件特性自主选择合适的类型长度,但要遵循下列限制:short与int类型至少为16 位,而long类型至少为32 位,并且short类型不得长于int类型,而int类型不得长于long类型。

类型限定符signed 与unsigned 可用于限定char 类型或任何整型。

long double类型表示高精度的浮点数。float、double与long double类型可以表示相同的长度,也可以表示两种或三种不同的长度。

2.常量

  1. 整数常量(int)
  2. 浮点数常量(float/double)
  3. 字符常量(char):'x'
  4. 转义字符:'\0'
  5. 常量表达式(符号常量):在编译时求解
c 复制代码
#define MAXLINE 1000
char line[MAXLINE+1];  
  1. 字符串常量:双引号不是字符串的一部分,它只用于限定字符串。"I am a string".字符串结尾隐藏了一个结束空字符。
  2. 枚举常量:枚举是一个常量整型值的列表
c 复制代码
enum boolean {NO, YES};

在没有显式说明的情况下,enum 类型中第一个枚举名的值为0,第二个为1,依此类推。如果只指定了部分枚举名的值,那么未指定值的枚举名的值将依着最后一个指定值向后递增.

3.声明

所有变量都必须先声明后使用,尽管某些变量可以通过上下文隐式地声明。

一个声明指定一种变量类型,后面所带的变量表可以包含一个或多个该类型的变量。

可以在声明的同时对变量进行初始化。
默认情况下,外部变量与静态变量将被初始化为0。未经显式初始化的自动变量的值为未定义值(即无效值)。

  • const 限定词

    任何变量的声明都可以使用const限定符限定。该限定符指定变量的值不能被修改。对数组而言,const限定符指定数组所有元素的值都不能被修改。

  • extern 全局变量
    extern使用

4. 运算符

  1. 算术运算符:+、-、*、/、%(取模运算符)

  2. 关系运算符:>、>=、<、<=、==、!=

  3. 逻辑运算符:&&、||、!

    逻辑运算符&&与||有一些较为特殊的属性,由&&与||连接的表达式按从左到右的顺序进行求值,并且,在知道结果值为真或假后立即停止计算

  4. 自增运算符和自减运算符:++、--

    它们既可以用作前缀运算符(用在变量前面,如++n)。也可以用作后缀运算符(用在变量后面,如n++)。只作用于变量,不能作用于表达式。

    特别考虑在数组中下标的使用。

  5. 按位运算符:&、|、^、<<、>>、~

  6. 赋值运算符:=

5. 表达式

  • 赋值表达式:+=、-+、*=、/=、%=
  • 条件表达式:expr1 ? expr2 : expr3
相关推荐
知南x1 小时前
【Ascend C系列课程(高级)】(1) 算子调试+调优
c语言·开发语言
2的n次方_3 小时前
Runtime 执行提交机制:NPU 硬件队列的管理与任务原子化下发
c语言·开发语言
凡人叶枫4 小时前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
凡人叶枫5 小时前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
傻乐u兔6 小时前
C语言进阶————指针3
c语言·开发语言
CodeSheep程序羊7 小时前
拼多多春节加班工资曝光,没几个敢给这个数的。
java·c语言·开发语言·c++·python·程序人生·职场和发展
I'mChloe8 小时前
PTO-ISA 深度解析:PyPTO 范式生成的底层指令集与 NPU 算子执行的硬件映射
c语言·开发语言
2的n次方_8 小时前
Runtime 内存管理深化:推理批处理下的内存复用与生命周期精细控制
c语言·网络·架构
嵌入小生0078 小时前
标准IO---核心函数接口延续(嵌入式Linux)
c语言·vscode·vim·嵌入式·小白·标准io·函数接口
历程里程碑9 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法