第2章数据类型、运算符与表达式
更新时间:2023-08-19 00:56:01 阅读量: 高中教育 文档下载
第二章 数据类型、运算符与表达式§2.1 C语言的数据类型 §2.2 常量与变量 §2.3 整型数据 §2.4 浮点型数据 §2.5 字符型数据 §2.6 各类数值型数据间的混合运算 §2.7 算术运算符和算术表达式 §2.8 逗号运算符和逗号表达式
C语言程序设计
第二章 数据类型、运算符与表达式
2.1 C语言的数据类型基本类型字符型(char) 整型 数值类型 实型 数据类型 数组类型([ ]) 构造类型 结构体类型(struct) 共用体类型(union) 枚举类型(enum) 指针类型(*) 空类型(void) 短整型(short) 整型(int) 长整型(long) 单精度型(float)
双精度型( double )
C语言程序设计
第二章 数据类型、运算符与表达式
2.2 常量与变量2.2.1 常量(Constant) §常量: 在程序运行过程中,其值不能被改 变的量。 §常量分为字面常量和符号常量。 字面常量:是在程序中直接引用的数据。 例 100、021、0x21、3.14、3.14E-4、'A'、'+' 符号常量:用符号(标识符)代表的常量。 定义形式:#define 标识符 常量数据< >
C语言程序设计
第二章 数据类型、运算符与表达式
[例2.1]在程序中使用符号常量#include<stdio.h> #define PRICE 30 main() { int num,total; num= 10; total= num*PRICE; printf("total=%d\n",total); }< >
关于符号常量
§程序编译时,符号常 被值替换。 §符号常量的值在程序 行过程中不能被改变 PRICE=40; /*错误*/ §符号常量不能指定类 int PRICE; /*错误*/ §优点:含义清楚,方 修改。
C语言程序设计
第二章 数据类型、运算符与表达式
例
#include<stdio.h> #define PI 3.14 main() { float radius, perimeter,area; radius= 10; perimeter= 2*3.14*radius; PI area=3.14*radius*radius; PI }>
<
C语言程序设计
第二章 数据类型、运算符与表达式
§标识符 用来标识变量名、符号常量名、函数名、 类型名、文件名等的有效字符序列。 定义规则:标识符只能由字母、数字和下 划线三种字符组成,且第一个字符必须为 字母或下划线。 如:_1 year month student_name sum0 M.D.Jones $123 #a 3b ?c a=b注:(1)在C语言中,大小写字母不等效; (2)用户自定义的标识符不能与保留字(关键 字)同名。< >
C语言程序设计
第二章 数据类型、运算符与表达式
§关键字(保留字) 具有特定含义的标识符,用户不能用来作 自定义标识符。 C语言中的关键字较少, 由ANSI标准推荐的关键字有32个。 与数据类型有关的(14): char int float double signed unsigned short long void struct union typedef enum sizeof 与存储类别有关的(4): auto extern register static 与程序控制结构有关的(12): do while for if else switch case default goto continue break return
C语言程序设计
第二章 数据类型、运算符与表达式
2.
2.2 变量§变量是指在程序运行中,其值可以被改 变的量。 §变量包括变量名和变量值 变量名代表计算机内存中的某一存储空间, 而该存储空间中存放的数据就是变量的 值。
<
>
C语言程序设计
第二章 数据类型、运算符与表达式
§使用变量时必须 先定义,后使用 。 定义形式:类型标识符 变量名1 [,变量名2,变量名3,...];
如:int, float,char
自己设定,满足 标识符的规定。
;不可省
例如 int a,b,c ; float x,y; char c1,c2; 或 int c1,c2;
C语言程序设计
第二章 数据类型、运算符与表达式
2.3 整型数据2.3.1 整型常量的表示形式 整型常量有三种形式: §十进制形式:与数学上表示相同。例如 100,-12,0
§八进制形式:由数字0~7组成,在数码前 加 0。例如 014,056
§十六进制形式:由数字0~9、A~F组成, 在数码前加0X(数字0和字母X,大小写 均可)。例如 0X12,0xAF
C语言程序设计
第二章 数据类型、运算符与表达式
§进制间的换算 二、八、十六进制数到十进制数的换算采用 按权展开法。 例: (11001.11)2 =1*24+1*23+1*20+1*2-1+1*2-2=25.75 (33.50)8=3*81+2*80+5*8-1=26.625 (2AB.F)16 =2*162+10*161+11*160+15*16-1=683.93
C语言程序设计
第二章 数据类型、运算符与表达式
十进制数到二进制数的换算 整数部分采用 除2取余,逆序排列 法。具体做 法:十进制整数除以2得到商和余数,继续商除以 2得到商和余数,如此进行直到商为零。所得余数 逆序排列即为二进制整数。 小数部分采用 乘2取整,顺序排列 法。具体做 法:用2乘十进制小数,可以得到积,将积的整数 部分取出,再用2乘余下的小数部分,如此进行, 直到积中的小数部分为零,或者达到所要求的精 度为止。然后把取出的整数部分按顺序排列起来 即为二进制小数。
例:233.8125=(11101001.1101)2
C语言程序设计
第二章 数据类型、运算符与表达式
二进制数到八、十六进制数的换算,三位二 进制数对应一位八进制数、四位进制书数对 应一位十六进制,所以转换时以小数点为分 界线,整数部分从低到高,小数部分从高到 底按位数分组,每组对应的八或十六进制数 码。 例: (11101001.1101)2 =(011 101 001.110 100)2 = (351.64)8 (11101001.1101)2 =(1110 1001.1101)2 =(E9. D)16
C语言程序设计
第二章 数据类型、运算符与表达式
2.3.2 整型变量 §整型变量的分类(IBMPC) 基本型(整型) int 短整型 short 或 short int 长整型 long 或 long int 无符号整型:unsigned 无符号短整型:unsigned short 无符号长整型:unsigned long注意:C语言标准没有规定整型变量在计算机内存中所占 的字节数,它与具体的机器和操作系统有关。
C语言程序设计
第二章
数据类型、运算符与表达式
§整数类型的有关数据:Turbo C 2.0对整数类型的内存分配类型 类型说明符 长度 数的范围
基本型短整型 长整型 无符号整型
intshort long unsigned
2字节2字节 4字节 2字节 2字节
-32768~32767-215~215-1 -231~231-1 0~65535 0~65535
无符号短整型 unsigned short
无符号长整型 unsigned long
4字节
0~232-1
C语言程序设计
第二章 数据类型、运算符与表达式
Visual C++6.0 对整数类型的内存分配类型 类型说明符 长度 数的范围
基本型短整型 长整型 无符号整型
intshort long unsigned
4字节2字节 4字节 4字节
-2147483648~2147483648-215~215-1 -231~231-1 0~232-1 0~65535
无符号短整型 unsigned short 2字节
无符号长整型 unsigned long 4字节
0~232-1
C语言程序设计
第二章 数据类型、运算符与表达式
§整型变量的定义与使用
[例2.2] #include <stdio.h> void main() {int a,b,c,d; unsigned u; a=12; b=-24; u=10; c=a+u; d=b+u; printf("a+u=%d,b+u=%d\n",c,d); } 程序运行显示:a+u = 22, b+u = -14
说明:可以看到不同种类的整型数据可以进行 算术运算
C语言程序设计
第二章 数据类型、运算符与表达式
2.3.3 整型数据在内存中的存放形式 数据在内存中以二进制形式存放。 §原码、反码和补码计算机对数值的表示有原码、补码和反码三种 形式,但以补码方式存储。 原码:最左边符号位用数码 0 表示正号,用 数码 1 表示负号,数值部分一般按二进制形 式表示。 例 [10]原=00001010 [-10]原=10001010 反码:正数的反码和原码相同,负数的反码 是对该数的原码除符号位外各位求反。 例 [10]反=[10]原=00001010 [-10]反=11110101
C语言程序设计
第二章 数据类型、运算符与表达式
补码:正数的补码与原码相同,负数补码则 先对该数的原码取反(得反码),然后末位 加1 例 [10]补=[10]原=00001010 [-10]原=10001010 [-10]反=11110101 [-10]补=11110110
C语言程序设计
第二章 数据类型、运算符与表达式
内存地址2000 2001
x2002 2003
int x; x=10;00000000 00001010
y
20042005
long y;y=-10;11111111 11111111 11111111 11110110
内存
C语言程序设计
第二章 数据类型、运算符与表达式
2.3.4 整型数据的溢出 数据超出表示范围的情况称为溢出。 [例2.3]整型数据的溢出 #include <stdio.h> void main() {int a,b; a 0 1 1 1 1 1 1 1 1 1 1 1 a=32767; b 1 0 0 0 0 0 0 0 0 0 0 0 b=a+1; printf("%d,%d\n",a,b); } TC环境下运行结果: 32767,-32768
1 1 1 10 0 0 0
正在阅读:
第2章数据类型、运算符与表达式08-19
2017年中国连锁酒店现状分析及市场前景预测(目录)05-06
2009年加油站操作员初级模拟试题一09-21
励志故事征文之说出你心中的故事03-21
学生谢师宴主持词07-05
2014武汉大学各专业考研参考书目06-27
编辑出版学考研攻略01-03
新海高中录取名单05-26
2010年上海市公务员考试行测真题及答案04-24
- 上海大众、一汽大众、东风日产车型与VIN代号对照表
- 第2章服装原型及原型制作
- 江苏省工商行政管理系统经济户口管理办法及四项制度
- 纪检监察业务知识试题2
- 传感器综合题答案
- 北京第二外国语学院翻硕招生人数及学费
- 初三新编英语教材下册
- 公司庆中秋、迎国庆联欢会客串词
- 向区委常委会汇报安全生产工作材料
- 2006年GCT英语模拟试题(三)及答案解析
- 经济法概念的早期使用
- 我爱做家务课堂教学设计
- 学校安全工作月报表、消防安全排查表、消防隐患排查台账
- 成本会计毕业论文
- 班级文化建设论文
- 2018年天津市高考文科试题与答案汇总(Word版) - 图文
- 铁路论文
- 2017年嵌入式系统设计师考试时间及地点
- 1.111--灾害与突发公共卫生事件应急预案
- 起爆点主图 注意买入 拉升 逃顶源码指标通达信指标公式源码
- 运算符
- 表达式
- 类型
- 数据