第三章 C语言的数据类型、运算符 与表达式
第三章 C语言的数据类型、运算符 与表达式
3.10语言的数据类型 数据与操作是构成程序的两个要素。 操作就是对数据进行的加工,最基本的操作是运算 G语言的数据类型: 整型(int) 长整型( long int) 基本类型 数值类型/数型 数据类型 实型单精度型(fla) 字符类型cha)双精度型 double) 枚举类型(enum 构造类型{数组类型 结构体类型( struct) 在程序中对用到的所 共用体类型 (union) 有数据都必须制定其 指针类型 数据类型 空类型
3.1 C语言的数据类型 数据与操作是构成程序的两个要素。 操作就是对数据进行的加工,最基本的操作是运算。 C语言的数据类型: 数 据 类 型 数值类型 整型 实型 整型(int) 长整型(long int) 单精度型(float) 字符类型(char) 双精度型(double) 数组类型 结构体类型(struct) 共用体类型(union) 枚举类型(enum) 基本类型 构造类型 指针类型 空类型 在程序中对用到的所 有数据都必须制定其 数据类型
3.1.2常量和变士 常量示例 define Price 30 define num 12 void maino 符号常量 ■■■■■■ total s NUI PRICE> total2 Er8/ PRICE printf("total=%d", total 常量 不会被替换
3. 1. 2常量和变量 常量示例 #define PRICE 30 #define NUM 12 void main() { ... ... total = NUM * PRICE; total2 = 84 * PRICE; printf("total=%d", total); ... ... } 不会被替换 常量 符号常量
程序中# define为宏定义,它的一般形式为: # define标识符字符串 作用:用一个指定的标识符来代表一个字符串,这个标 识符称为符号常量。 >宏定义不能在行末加分号 >宏定义通常写在文件开头、函数之前 >符号常量名习惯上用大写 >使用符号常量的好处是: 1.含意清楚 2.一改全改
➢ 程序中# define为宏定义,它的一般形式为: #define 标识符 字符串 作用:用一个指定的标识符来代表一个字符串,这个标 识符称为符号常量。 ➢ 宏定义不能在行末加分号 ➢ 宏定义通常写在文件开头、函数之前 ➢ 符号常量名习惯上用大写 ➢ 使用符号常量的好处是: 1. 含意清楚 2. 一改全改
3.1.2变量 变量:程序中可改变的量有名字,占一定的存a变量名 、变量必须先定义后使用 34 变量值 1如何定义? 般形式:类型标识符变量名 如: char c1,c2;inta,i; 存储单元(地址) float ave double mu 2>为何定义变量? 可节省存储空间,加快运行速度 可便于检查该变量进行的运算是否合法 2、区分不同的变量使用变量标识符(变量名字 标识符:用来表示变量、常量、函数等的名字的有效序 列,只能由字母、数字或者下划线三种字符构成,且第 个字符必须为字母或下划线,长度一般不超过8个
3.1.2 变量 变量:程序中可改变的量,有名字,占一定的存储单元 1、变量必须先定义后使用 1> 如何定义? 一般形式:类型标识符 变量名 如:char c1,c2; int a, i; float ave; double mul; 2>为何定义变量? 可节省存储空间,加快运行速度 可便于检查该变量进行的运算是否合法 2、区分不同的变量——使用变量标识符(变量名字) 标识符:用来表示变量、常量、函数等的名字的有效序 列,只能由字母、数字或者下划线三种字符构成,且第 一个字符必须为字母或下划线,长度一般不超过8个。 a 34 -7634 a 变量名 存储单元(地址) 变量值
例:请找出正确的标识符。 dgh gjljk 34gf hkc float j-1 1a2 正确:dgh2gjjk1a2 1、c语言中大小写有区别 如:CH|NA和 china 注 average、 AVERAGE、 Average 2、选择变量应做到“望文生义” 如 average 即表示平均数 3、c保留字不能作为标识符 如: int char if else for
例:请找出正确的 标识符。 dgh2_ _gjljk 34gf hk.c float j-1 _1a2 正确: dgh2_ _gjljk _1a2 1、C语言中大小写有区别 如:CHINA 和 china average、AVERAGE、Average 2、选择变量应做到“望文生义” 如:average 即表示平均数 注 意 3、c保留字不能作为标识符 如: int char if else for
3.13整型数据 整型常量 三十进制整型常量 以非0数字开头67450 穗八进制整型常量 以0开头012064 式(十六进制整型常量 以0x开头0x1a 如:十洗制八进制 十六选制 011 0x9 34 042 0x22 请大家自己写出:23的八进制和十六进制表示: 八进制:027;十六进制:0X17
三 种 形 式 十进制整型常量 八进制整型常量 十六进制整型常量 以非0数字开头 67,450 以0开头 012 064 以0x开头 0x1a 如:十进制 八进制 十六进制 9 011 0x9 34 042 0x22 请大家自己写出:23的八进制和十六进制表示: 八进制:027;十六进制:0X17 3.1.3 整型数据 一、整型常量
常量的类型后缀( Suffix) L表示常量是一个长整型 u、U表示常量是一个无符号整型数 两种后缀可以一起使用 123|长整型常数123 456U无符号整型常数456 789u|无符号长整型常数789 101Lu无符号长整型常数101
常量的类型后缀 (Suffix) l、L 表示常量是一个长整型 u、U 表示常量是一个无符号整型数 两种后缀可以一起使用 123l 长整型常数123 456U 无符号整型常数456 789ul 无符号长整型常数789 101Lu 无符号长整型常数101
二、整型变量 整型数据在内存中是以二进制的形式存放的在 urbo O中 整型数据占两个字节 如:inti; 10 0000000 00001010 上学期我们学过,计算机内的数值数据是以补码表示的。 根据补码定义,负数x的补码用2-|x来表示,n为机器字长。 设n=8,则有: 【-1】补=28-1=11,1 补 (2】热=28-2=111,10 -127】补=28-127=100000 -3】=283=11,101 补 -128】补=28-128=100000 在 turbo c中,n为16,则【-1】补=216-1=11,1 (2】=216-2=1,11110
1、整型数据在内存中是以二进制的形式存放的,在turbo C中, 整型数据占两个字节 如:int i ; i=10; 10 i 00000000 00001010 上学期我们学过,计算机内的数值数据是以补码表示的。 根据补码定义,负数x 的补码用2 n - |x| 来表示,n为机器字长。 二、整型变量 设 n=8,则有: 【-1】补=2 8 -1=1111,1111 【-2】补=28 -2=1111,1110 【-3】补=28 -3=1111,1101 … 【-127】补=28 -127=1000,0001 【-128】补=28 -128=1000,0000 在turbo c中,n为16,则【-1】补=216 -1=1111,1111,1111,1111 【-2】补=216 -2=1111,1111,1111,1110
整型数据在内存中的存放方式 二进制形式 举例,inti=50;/*int类型占2字节*/ 0000000000110010 高地址字节 低地址字节 补码( Complement) 正数:与原码一致,首位为0 负数:绝对值取反加一,首位为1 零:各位全为0
整型数据在内存中的存放方式 二进制形式 举例,int i=50; /*int类型占2字节*/ 补码 (Complement) 正数:与原码一致,首位为0 负数:绝对值取反加一,首位为1 零:各位全为0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 高地址字节 低地址字节