chap02:数据类型、常量、变量与表达式
一、常量、变量与数据类型
1、数据类型:
类型决定了数据占用的空间,以及如何解释存储的位模式。
C 中的类型可分为以下几种:
序号 | 类型与描述 |
---|---|
1 | 基本类型: 它们是算术类型,包括两种类型:整数类型和浮点类型。 |
2 | 枚举类型: 它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。 |
3 | void 类型: 类型说明符 void 表明没有可用的值。 |
4 | 派生类型: 它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。 |
说明:
-
整型分有符号数( signed)与无符号数(unsigned),默认是有符号数,关键字可省略;
-
各种类型的存储大小与系统位数有关, 为了得到某个类型或某个变量在特定平台上的准确大小,您可以使用 sizeof 运算符。表达式 sizeof(type) 得到对象或类型的存储字节大小。
#include <stdio.h> int main() { printf("int 存储大小 : %d \n", sizeof(int)); }
2、常量:
是固定值,在程序执行期间不会改变。可分为字面常量 与定义常量(符号常量)。
常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值。
1) 字面常量
整数字面常量的实例:
85 /* 十进制 */
0213 /* 八进制 */
0x4b /* 十六进制 */
浮点型字面常量的实例:
3.14159 /* 小数形式 */
314159E-5 /* 指数形式 */
字符常量:
- 括在单引号中;
- 可以是一个普通的字符(例如 ‘x’)、一个转义序列(例如 ‘\t’)
转义序列 | 含义 |
---|---|
\\ | \ 字符 |
\’ | ’ 字符 |
\" | " 字符 |
? | ? 字符 |
\n | 换行符 |
\t | 水平制表符 |
\ooo | 一到三位的八进制数表示的ASCII码对应的字符 |
\xhh . . . | 一个或两个数字的十六进制数表示的ASCII码对应的字符 |
字符串常量
括在双引号 “” 中的一串字符。包含普通字符与转义字符。如:
"Hello\tWorld\n\n"
2) 定义常量(符号常量)
- 使用 #define 预处理器。
#define LENGTH 10
#define WIDTH 5
- 使用 const 关键字。
const int LENGTH = 10;
const int WIDTH = 5;
3、变量
一个有名字、具有特定属性(数据类型)的一个存储单元。
- **变量名:**是一个标识符。标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。
- 由字母、数字、下画线3种字符组成(区分大小写);
- 必须由字母与下画线开头;
- 不得与系统关键字重名;
- C语言中的变量要“先定义,后使用”
声明变量格式: <数据类型> <变量名1>,<变量名2>,……;
int i, j, k; //定义了三个整型变量i,j,k
char c, ch; //定义了两个字符型变量c, ch
float f, salary; //定义了两个单精度浮点型变量f, salary
double d; //定义了一个双精度浮点型变量d
- 可以在声明的时候被初始化(指定一个初始值)。
int d = 3, f = 5; // 定义并初始化 d 和 f
char x = 'x'; // 变量 x 的值为 'x'
- 也可以先声明,再赋值:
/* 变量定义 */
int a, b;
/* 赋值 */
a = 10;
b = 20;
二、运算符与表达式
运算符:是一种告诉编译器执行特定的数学或逻辑操作的符号。
表达式:是由运算符和运算对象组成的,单独的一个运算对象。常量/变量也可以叫做表达式。表达式一定有返回值。
1、赋值运算符:
=
简单赋值运算符,把右边操作数的值赋给左边的变量(左边必须是变量)
int a ;
int c ;
a = 10;
c = a;
赋值表达式的值等于所赋的值。
2、算术运算符
假设变量 a 的值为 10,变量 b的值为 20,则:
运算符 | 描述 | 实例 |
---|---|---|
+ | 把两个操作数相加 | a+ b将得到 30 |
- | 从第一个操作数中减去第二个操作数 | a - b 将得到 -10 |
* | 把两个操作数相乘 | a * b 将得到 200 |
/ | 分子除以分母 | a / b 将得到 2 |
% | 取模运算符,整除后的余数 | a % b 将得到 0 |
3、括号运算符
() :提升优先级,先括号内,后括号外。
3*(2+3) //结果为15
4、优先级
类别 | 运算符 |
---|---|
括号 | () |
乘除 | * / % |
加减 | + - |
赋值 | = |
逗号 | , |
(必会)将数学公式写成C语言表达式。
数学公式 | C语言表达式 |
---|---|
![]() | (2*m-n)/(m*n) |
![]() | (-b+sqrt(b*b-4*a*c))/(2*a) |