### c语言经典:类型、运算符与表达式 #### 1. 变量与常量:程序中的基本数据对象 在C语言编程中,变量与常量是处理数据的两个核心概念。变量是在程序运行过程中可以改变其值的数据对象,而常量则是不可更改的数据值。变量的声明包括定义变量的名称、类型以及可能的初始值。 **变量声明示例**: ```c int age = 25; // 定义了一个名为age的整型变量,并初始化为25 ``` **常量定义**: C语言中并没有专门的关键字用于定义常量,但是可以使用`const`关键字来定义只读变量,这在功能上相当于常量。 ```c const int MAX_SIZE = 100; // 定义了一个名为MAX_SIZE的只读整型变量,其值为100 ``` #### 2. 数据类型与大小 C语言支持多种数据类型,包括整型、字符型、浮点型等。每种类型都有特定的存储空间大小,这会影响它们所能表示的值的范围。 - **基本数据类型**: - `char`:单字节类型,用于存储单个字符。 - `int`:整数类型,一般反映了目标机器的自然大小。 - `float`:单精度浮点数。 - `double`:双精度浮点数。 - **整型限定符**: - `short` 和 `long`:这两个限定符用于定义不同长度的整型变量。`short` 一般为16位,`long` 一般为32位。 ```c short int sh; long int counter; ``` - `signed` 和 `unsigned`:用于限定整型变量是否可以表示负数。 - `signed char` 的取值范围通常为 `-128` 至 `127`。 - `unsigned char` 的取值范围为 `0` 至 `255`。 - `unsigned` 类型的整数总是非负的。 - **浮点类型**: - `long double`:用于表示高精度的浮点数。浮点类型的大小由具体的实现定义,可以相同也可以表示不同的大小。 **练习2-1**:编写一个程序来确定 `signed` 及 `unsigned` 的 `char`、`short`、`int` 与 `long` 变量的取值范围。可以通过打印标准头文件 `<limits.h>` 和 `<float.h>` 中的相应值来完成,或者直接计算。 #### 3. 运算符与表达式 运算符是指示对变量或常量执行操作的符号。C语言支持多种运算符,如算术运算符、关系运算符、逻辑运算符等。表达式是由运算符和操作数组合而成的单元,用来计算值。 - **算术运算符**:如加法 `+`、减法 `-`、乘法 `*`、除法 `/` 和取余 `%`。 - **关系运算符**:如等于 `==`、不等于 `!=`、小于 `<`、大于 `>` 等。 - **逻辑运算符**:如逻辑与 `&&`、逻辑或 `||`、逻辑非 `!`。 - **赋值运算符**:如简单赋值 `=`、复合赋值 `+=`、`-=` 等。 - **条件运算符**:即三元运算符 `?:`。 **示例**: ```c int a = 10, b = 20; int result = (a > b) ? a : b; // 条件运算符,结果为较大的数 ``` #### 4. 强制类型转换 C语言支持自动类型转换,也支持显式地进行类型转换,称为“强制类型转换”。当不同类型的变量参与运算时,C语言会自动将较小的类型转换为较大的类型,以便执行运算。 **示例**: ```c int a = 10; double b = 20.5; double result = a / b; // 自动类型转换,result为0.4878049 ``` **强制类型转换示例**: ```c int a = 10; double b = 20.5; double result = (double)a / b; // 显式类型转换,result为0.4878049 ``` #### 5. 枚举与字符串 - **枚举**:枚举类型是一种用户自定义的数据类型,由一组命名的整数常量组成。 ```c enum Weekday {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}; enum Weekday today = Monday; ``` - **字符串**:字符串是由多个字符组成的序列,C语言中的字符串是以空字符`\0`结尾的字符数组。 ```c char str[] = "Hello, World!"; ``` #### 6. ANSI C标准的更新 ANSI C标准对语言的基本类型与表达式做了许多小的修改与增补,主要包括: - 所有整数类型都有 `signed`(有符号)与 `unsigned`(无符号)两种形式,可以表示无符号常量与十六进制常量。 - 浮点运算可以以单精度进行,也可以使用更高精度的 `long double` 类型。 - 字符串常量可以在编译时连接。 - 枚举现在也成了语言的一部分。 - 对象可以声明为 `const`(常量),其值不能被修改。 - 算术类型之间的自动强制转换规则得到了扩展,以适应更多的数据类型。 #### 总结 本章节详细介绍了C语言中的变量与常量、数据类型及其大小、运算符与表达式、强制类型转换、枚举与字符串等内容。通过理解这些基础知识,程序员能够更好地掌握C语言的核心概念,并将其应用于实际的编程实践中。
- 粉丝: 10
- 资源: 17
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助