C3数据类型与运算规则

上传人:平*** 文档编号:46082717 上传时间:2018-06-21 格式:PPT 页数:57 大小:1.01MB
返回 下载 相关 举报
C3数据类型与运算规则_第1页
第1页 / 共57页
C3数据类型与运算规则_第2页
第2页 / 共57页
C3数据类型与运算规则_第3页
第3页 / 共57页
C3数据类型与运算规则_第4页
第4页 / 共57页
C3数据类型与运算规则_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《C3数据类型与运算规则》由会员分享,可在线阅读,更多相关《C3数据类型与运算规则(57页珍藏版)》请在金锄头文库上搜索。

1、1C语言程序设计 (三)计算机学院 裴明涛 2第三章 数据类型与运算规则3.1 数据与数据类型3.2 C语言的基本数据类型及其表示3.3 算术运算与赋值运算3.4 位运算3.5 其他运算3.6 混合运算及数据类型转换33.1 数据与数据类型(1)n如何描述上述表达式中的数据、运算符号和运 算过程?43.1 数据与数据类型(2)n数据:是程序加工、处理的对象,也是加工的结果;n数据类型:具有同样性质(能够作同样的操作,采用同样的编码方式等)的数据集合称为数据类型;n每种数据类型都有固定的表示方式,也就确定了可能表示的数据范围和在内存中的存放形式;nC语言为每个类型定义了一个标识符,称为类型名,如

2、整数型用int表示;53.1 数据与数据类型(3)63.2 C语言的基本数据类型及其表示n常量与变量n整形类型及其表示n实型类型及其表示n字符型类型及其表示n变量的初始化7常量与变量(1)n常量:n在程序运行过程中,其值不能改变的量;n数值常量:n整型常量: 3,-1n实型常量:4.3,1.68n字符常量n字符常量:A,cn字符串常量:“AB”,”hello”常量与变量(2)n符号常量:n用标识符来表示常量;n使用宏定义命令对符号常量进行定义;n定义: #define 标识符 常量n #define PI 3.1415926n #define W “windows 8”89常量与变量(3)n变

3、量:n在程序运行过程中,其值能改变的量;n变量名按标识符规则组成:n字母或下划线打头的字母、数字或下划线序列;nab,b3,c_7, _max,Intn7t, 99r,int, 变量必须先定义后使用;10常量与变量(4)n对变量的定义:n类型说明符 变量名表;n例如: int a,b,c;n提倡用能说明变量用途的有意义的名字为变量 命名;n对变量的基本操作:n赋值:n取值:11常量与变量(5)n变量的3个属性:n变量地址;n变量内容;n变量名;12关于常量和变量的一些编程规范(1)n不使用常量的坏处:n程序的可读性(可理解性)变差。程序员自己 会忘记那些数字或字符串是什么意思,用户则 更加不知

4、它们从何处来、表示什么。n在程序的很多地方输入同样的数字或字符串, 难保不发生书写错误。n如果要修改数字或字符串,则会在很多地方改 动,既麻烦又容易出错。 13关于常量和变量的一些编程规范(2)n使用常量的规范:n常量全用大写的字母,用下划线分割单词。 n尽量使用含义直观的常量来表示那些将在程序 中多次出现的数字或字符串。 #define PI 3.1415926 n如果某一常量与其它常量密切相关,应在定义 中包含这种关系,而不应给出一些孤立的值。 #define RADIUS 100 #define DIAMETER RADIUS * 2 14关于常量和变量的一些编程规范(3)n变量的命名规

5、范:n变量名应当直观且可以拼读,最好采用英文单 词或其组合,用词应当准确。例如不要把 CurrentValue写成NowValuen程序中不要出现仅靠大小写区分的相似的变量 名,例如x,X15关于常量和变量的一些编程规范(4)n变量的名字应当使用“名词”或者“形容词名词”。例如: float value,oldValue,newValue; n用正确的反义词组命名具有互斥意义的变量 例如: intminValue,maxValue; n尽量避免名字中出现数字编号,如value1, value2等,除非逻辑上的确需要编号。 16整形类型及其表示(1)n整型常量:n十进制整型常量:123,8,-1

6、0等;n八进制整型常量:n以数字0 打头的数字序列(0-7)n如 056, 017, 078;n 十六进制整型常量:n 以数字0和字母x打头的序列(0 - 9,a - f )n 如 0x123,0x3A ,0x9g; n 长整型常量在常量之后加上字母“l”或“L”,如123L,40000L等;17整形类型及其表示(2)n整型变量:名称 占内存字节 表示范围 说明方法 基本整型 2 -215 215-1 int a,b;短整型 2 同上 short a,b; 无符号整型 2 0 65535 unsigned a,b;长整型 4 -231-231 1 long a,b;无符号长整型 4 0 232

7、 1 unsigned long a; 18整形类型及其表示(3)n整型变量:n以关键字int为基本类型说明符;n配合四个类型修饰符,用来改变和扩充基本类 型的含义; n整型数据在使用中应注意的问题:n变量要先定义后使用;n数据溢出;若 int a,b;unsigned c;long d ;a=123; d= -105000;b=40000; c= 105000;n常量与变量的类型要匹配;19实型类型及其表示(1)n实型常量:n小数形式:至少有一个小数点和一个数字,如 12.3,87.4,-0.25等;n指数形式:由十进制整数或小数加上指数部分 组成,形式为:十进制小数e(E)指数n2.5e3

8、 56E8 66e3ne2 1.2e 3e1.2(整数 )20实型类型及其表示(2)n实型变量:名称 存储字节 表示范围 有效位 说明方法单精度 4 -1038 - 1038 7 float a;双精度 8 -10308 - 10308 16 double a;长双精度 16 -104932 104932 19 long double a;21字符型类型及其表示(1)n字符型常量:n普通字符:单引号括起来的单个字符,如a,B等;n转义字符:以转义标识符“”开始的字符序列,例如:nn(换行),t(跳格),b(退格),().nddd(1到3位8进制数表示的字符)nxdd(1到2位16进制数表示的字

9、符)22字符型类型及其表示(2)n字符串常量:n双引号括起的一串字符,例如“China”, “Beijing”;n系统对字符串尾自动加0作为字符串终结符;na与“a”的区别:n字符常量 a, 占1个字节.n字符串常量 “a”, 占2个字节.a a 023字符型类型及其表示(3)n字符型变量:n只存放一个字符的变量,用char 说明;n一个字符型变量可存放一个字符,占用一个字 节,存放字符的ASCII码;char a;int b;a=A;b=a+32; printf(“%c,%d”,b,a);输出: a,65n字符型数据与整型数据可以通用?24变量的初始化n先说明,再赋值;nint x,y;nx

10、 = 10, y = 30;n说明变量的同时对变量赋初值;nint x = 10,y = 30;n不初始化会怎样?253.3 算术运算与赋值运算nC语言中的运算规则n算术运算符与算术表达式n自增、自减运算n赋值运算符和赋值表达式n组合赋值运算符和组合赋值表达式26C语言中的运算规则(1)n运算符按照其在表达式中与运算对象的关系可 分为:n单目运算:连接一个运算对象;n双目运算:连接两个运算对象;n三目运算:连接三个运算对象; n运算符按照其在表达式中所起的作用可以分为 :n算术运算符: +,-,*,n自增自减运算符:+,-n关系运算符:, b)?a:bn按照运算符在表达式中的作用,表达式可分为

11、:n算术表达式 如 a+bn关系表达式 如 a!=b can赋值表达式 如 a = 3 n28C语言中的运算规则(3)n优先级:n同一个表达式中不同运算符进行计算时的先后次序;n当变量的两边均有运算符时,其优先级高的先运算.na + b dn结合性:是指同一个表达式中相同优先级的多个运算 应遵循的运算顺序;n左结合从左到右(除“=”外的双目运算符)a + b c (a + b) c n右结合从右到左(单目或三目运算符)-k+ -(k+)29算术运算符与算术表达式(1)nC语言允许的算术运算符包括:n 加法运算或取正值运算,双目、单目运算符,作为 单目运算符时优先级高于双目运算符,如 a+b,+

12、5n 减法运算或取负值运算,双目、单目运算符,作为 单目运算符时优先级高于双目运算符,如 a-b,-5n* 乘法运算,双目运算符,如 a*bn/ 除法运算,双目运算符,如a/b, 13/4=?n% 模运算(求余运算),双目运算符,要求两个运算对 象都为整形,例如 5%7= ?, 7%5= ?, 8%3.2 =?52330算术运算符与算术表达式(2)n算术运算符的优先级及结合性为:31算术运算符与算术表达式(3)n算术表达式:n由算术运算符,常数,变量,函数和括号组成,其基本形式与数学上的算术表达式类似;n例如 12.45-43*5 x/(67-(12+y)*a)n双目运算符两侧运算对象的类型如

13、果不一致,系统将自动按转换规律进行转换;n使用括号可以改变表达式的运算顺序;32自增、自减运算(1)n自增“”、自减“”运算:n单目运算,其作用是使变量的值增1或减1;n优先级高于所有双目运算;n应用形式:n前缀形式:+i;-i; 表示变量在使用前自动加1或减1;n后缀形式:i+;i-; 表示变量在使用后自动加1或减1;n+、-运算只能作用于变量,不能用于表达式或常量;n用于+、-运算的变量只能是整型,字符型和指针变量;n前缀形式与后缀形式的意义不同;n+、-的结合性是自右向左的;33自增、自减运算(2)nint m,n;nm = n+;等价于 m = n; n = n + 1;nm = +n

14、;等价于 n = n + 1; m = n;nm = -n+;等价于 m = -(n+);等价于 m = -n; n = n+1;34自增、自减运算(3)若 int a=5,b;b=(a+)+(a+); b= a=b=(+a)+(+a); b= a=b=(-a)+(a-); b= a=1071478335自增、自减运算(4)n关于,n在一行语句中最好只出现一次+,-,多了可读性会很差;nC语言中允许编译程序自由重排表达式的顺序,以产生最优代码,因此语句过于复杂时,采用 不同的编译程序编译时,可能会产生不同的运 算结果。n+,-用于float会怎样?36赋值运算符和赋值表达式(1)n赋值运算符:

15、n“”,其功能是计算赋值运算符“”右边表达式 的值,并将计算结果赋给“”左边的变量;n右结合,优先级倒数第二;若int k,i,j,a; a=5; k=3+(a=a+2);j=i=a*0.7; 则 a= k= i= j= 7104437赋值运算符和赋值表达式(2)n赋值表达式:n由赋值运算符将一个变量和一个表达式连接起 来的式子;n形式:变量名 表达式 n赋值表达式的值就是赋值运算符左边变量的值 ; n类型转换:n赋值运算符两边的数据类型不一致时需要进类 型转换;n转换原则是以“=”左边的变量的类型为准;38组合赋值运算符和组合赋值表达式(1)n组合赋值运算符:n形式: 运算符 n运算符可以是 、*、/、%等;n组成的组合赋值运算符为、*、/=、等;n组合赋值表达式:n形式: 变量名 组合赋值运算符 表达式n其功能等价于:变量名 变量名 运算符 表达式39组合赋值运算符和组合赋值表达式(2)a+=b a=a+b a-=b a=a-b a*=b a=a*b a/=b a=a/b .

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号