数据类型运算符表达式(第二章2少课时)

合集下载

第二部分数据类型运算符表达式

第二部分数据类型运算符表达式

第 二
❖命名原则:
章 数
见名知意

变量名尽量用小写,符号常量用大写
类 型 、 运 算 符 与
长度尽量不要超过8个字符 尽不避量能免不用使例ssc例cuthhu使关用ma::adr判re用 键 容01Zn断ta下字易a_S>>n下ub划作认bamm列线标错_olzea标开识的bMMo识#头符字v#..3De3符D3符3..JJ号OI2oo$h$h合1n1lno22法t33uds性_ay1_2D_3ate 33ddaayyss
num=10;
、 运
total=num* PRICE;

printf(“total=%d”,total);

}


达 式
<>
运行结果: total=300
cC
语 符号常量的好处


❖含义清楚
序 设
如 PRICE 代表价格

❖能做到一改全改
如 #define PRICE 35
第 二
程序中所有以PRICE代表的价格自动改为35
❖有符号长整型 [signed] long [int]
章 数
❖无符号长整型 unsigned long [int]


符号位
型 、 运
有符号整 型变量
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 =32767
算 符 与
无符号整 型变量
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 =65535




达 <>

cC
语 言
❖各种进制之间的转换(整数)

第2章 数据类型运算符和表达式

第2章 数据类型运算符和表达式

(1.5)字符型类型
字符常量
C的字符常量是用单引号(即撇号)括起来的一个字 符。
如: ‘a’,‘x’,‘d’,‘?’,‘$’等都是字符常量。 注意,‘a’和‘A’是不同的字符常量。
特殊字符常量
以反斜杠字符“\”开头的字符序列:
字符形式 \n \t \b \r \f \\ \’ \”
\ddd \xhh
浮点型数据在内存中的存放形式
在常用的微机系统中,一个实型数据在内存中 占4个字节(32位)。与整型数据的方式不同,实 型数据是按照指数形式存储的。系统把一个实 型数据分成小数部分和指数部分,分别存放。 指数部分采用规范化的指数形式。
浮点型数据在内存中的存放形式
在4个字节(32位)中,究竟用多少位来表示小数 部分,多少位来表示指数部分,标准C并无具 体规定,由各C编译系统自定。 不少c编译系统以24位表示小数部分(包括符号), 以8位表示指数部分(包括指数的符号)。
3)在一个整型常量后面加一个字母l或者L,则认为是 long int型。 例如:用预处理指令#define 声明一个常数,用以表明1 年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
(1.4)浮点型数据
浮点型常量表示方法
浮点数即平时所说的实数,有两种表示方法:
1)十进制表示:由数字和小数点组成。
如:0.123
12345 0.0
2)指数形式: 如:123e3或者123E3都代表123×103
注意字母e(或E)之前必须有数字,且e后面的指数必须为 整数,如e3、2.1e3.5、.e3、 e等都不是合法的指数形式。
规范化的指数形式:在字母e(或E)之前的小数部分中, 小数点左边应有一位(且只能有一位)非零的数字。 如:1.23456e2

第二章基本数据类型运算符和表达式64页PPT文档

第二章基本数据类型运算符和表达式64页PPT文档
显然,一个字节表示数的范围是有限的。要表示 更大范围内的数,就要使用多个字节。
安徽理工大学计算机软件教研室
15.05.2020
Chapter 2
4
字符型
整数的存储格式
7
0
短整型
长整型
31
15
8
7
0
短整数表示范围为:-2^15~2^15-1(-32768~32767)
24 23
16 15
87
0
长整数表示范围为:-2^31~2^31-1
字符型 char
1个
短整数 short
2个
整型 int
4个
浮点型 float
4个
双精度型 double
8个
安徽理工大学计算机软件教研室
15.05.2020
Chapter 2
3
数据在计算机中的存放
数据在计算机中采用二进制存放;一个字节8个二进制位, 示意图如下:
7
0
数的表示范围:-2^7~2^7-1(-128~127)
安徽理工大学计算机软件教研室
15.05.2020
Chapter 2
8
3.变量引用
C++中增加了“引用”这一概念,许多地方可以代替指针实现相 应的功能,比指针更安全。
所谓引用即给一个已知变量起个别名,系统不为引用另外开辟 内存,而是与原变量共享同一段内存,引用好比是一个虚拟的变量 ,声明形式为:
数据类型 &引用名=已定义的变量 如:
(如:cin>>a;)
➢通过赋值语句赋值
(如:a=3; )
➢通过初始化方式赋初值 (如:int k=3;)
所谓初始化是指在定义变量的同时指定变量的初值,形式有二:

第2章数据类型运算符与表达式ppt课件

第2章数据类型运算符与表达式ppt课件
n=2: n++; n--; ++n;--n;
r=2; m=--n; p=r++; 说明: 自加1、自减1运算只适用于整型变量。 训练:若i=2
(i++)+(i++)+(i++) 后 ,i的值是多少(9) 若2
i=(i+++i+++i) 后 ,i的值是多少(9) 若i=2
i=i+1; k=k-1; m=m/n; x=x*j; m=m+n+7 m=m*n+k /* ? */
实验二
任务:
1. 编程且上机运行:输入3个数,求这3个数中的最大数。 2. 编程且上机运行:输入5个数,求这求5个数每个数的立方根。 3. 编程且上机运行:输入4个数,求这4个数中的最小数。 4. 编程且上机运行:求多项式 ax3+bx2+c的值(a=2,b=3, c=4, x=1.414)。 5. 编程且上机运行:输入3组数,每组3个数,求每组数的最大数。 6. 编程且上机运行:输入a,b 两个数,分别求他们的积、商和余数。 7. 编程且上机运行:已知华氏温度,根据公式:
2.4.5. 条件表达式(问号表达式)
例:m=m>n ? m: n (其中,m,n可以是又一 个问号表达式)。
训练: (1) 根据题目,写出问号表达式。
x>0,r取1;x<0,r取-1;x=0,r取0;
r=x>0 ? 1 : x==0 ? 0: -1 (2) 找出a,b,c中最大的数:
(m=(a>b ? (a>c? a: c) : (b>c ? b: c))

第2章数据类型、运算符和表达式

第2章数据类型、运算符和表达式

int a,b,c; a=b=c=1;
2019/10/27
C程序设计
26
§2.6 混合运算
整型、实型(单、双精度)、字符型数据间可以混 合运算。如:’a’+2*3.5+6.7*2
规则:不同类型先转换成同一类型,再进行计算
double
float
高 Float型数据在运算时一
律先转换成double型
long
x,y
120,121 说明:字符型数据和整型数据是通用的
2019/10/27
C程序设计
25
§ 2.5 变量赋初值
变量初始化的方法: 1、先定义变量,后赋值
int a,b; a=123;b=456; 2、 定义变量,部分赋值 float a,b=0.5,c; 3、 定义变量赋初值同步 float a=0.1,b=0.5,c=4.3; 注意:变量赋初值时不允许连等 int a=b=c=4; ×
2019/10/27
C程序设计
7
§2.2 标识符
1、标识符的定义 用来标识变量名、符号常量名、函数名、数
组名、类型名、文件名的有效字符序列称为标识 符。简单地说,标识符就是一个名字。
C语言规定标识符只能由字母、数字和下画 线三种字符组成,且第一个字符必须为字母或下 画线。
2019/10/27
C程序设计
无符号短整型: 用 unsigned short 说明
无符号长整型: 用 unsigned long 说明
如: unsigned int c, d;
2019/10/27
C程序设计
20
§2.4 变量
3、整型变量的定义格式
类型说明符 变量名标识符,变量名标识符;

C语言第02章 数据类型、运算符与表达式ppt课件

C语言第02章 数据类型、运算符与表达式ppt课件
1、整型、实型、字符型数据之间可以混合运 算
整型〔包括int,short,long〕和实型〔包括float,double〕数 据可以混合运算,另外字符型数据和整型数据可以通用,因此, 整型、实型、字符型数据之间可以混合运算。
例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
回到
回到
2.2常量与变量
首页
2.2、变量的定义 〔1〕变量是先定义,后使用。
定义一个变量需要提供两方面的信息:变量的名字和 类型
〔2〕定义格式 类型说明符 变量1, 变量2,…;
如 int number;
回到
2.3整 型 数 据
首页
1、整型常量的表示方法 〔1〕 十进制整常数。没有前缀 〔2〕 八进制整常数。以0作为前缀。 〔3〕 十六进制整常数。十六进制整常数的前 缀为0X或0x。
实型变量提供的有效数字是有限的
一个很大的数+一个很小的数,没有意义
回到
2.4实 型 数
首页
2、实型变量
【例2.8】 显示个人微机上不同类型变量所占的字节数
回到
2.5字符型数据
首页
1、字符常量 〔1〕定义 字符常量是用单引号〔' '〕括起来的一个字符。 例如,'a'、'='、'?'都是合法的字符常量。 〔2〕字符常量特点
回到
作业和实验习题
首页
作业:P41 2.3 2.4 2.7 2.9 2.11〔做在书 上〕 2.12
实验:
P20 例2.2 2.3
P23 例2.4
P24 例2.5
P27 例2.7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Dos
2.基本的算术运算符及其表达式:
3)运算符两侧数据类型:
相同: 对整型的是取整不舍入 !% 必须是整型
不同: 混合类型 强制类型转换: 自动类型转换:
2013年12月18日星期三7时59分2秒
Dos
3.强制类型转换 (例1)(double)a 将 a 的值转换为 double 以便后继运算, 但 a 本身值不变。
2013年12月18日星期三7时59分2秒
(x=18) (x=3)
Dos
八.条件运算符及其表达式:( e1 ) ? e2 : e3
(1)条件运算符: 是由两个符号?和:组成的三目运算符,
右结合,优先级高于赋值运算符和逗号(按序求值)运算符。
(2)表达式形式:( e1 ) ? e2 : e3, e1- 条件或称逻辑表达式 必须用圆括号括起!整个表达式的值或是e2或是e3的值,两个
将输出语句改为: 必须强制转换
printf ( "%f,%d,%f" , x , ( int ) x % 3 , x );
2013年12月18日星期三7时59分2秒
Dos
4.自动类型转换:(当数值型混合运算时)
( 1 ) 数值型:整型、实型、字符型(等同单字节整型)
( 2) 转换成同一类型或更高类型后才进行运算。 double ← float
2013年12月18日星期三7时59分2秒
)(圆括号) Dos
2)目数分类:单目、双目、三目 和 多目; 3)(从)结合性(上):(可分)2大类
①单目运算符;
(1)右结合 ②三目运算符;即条件运算符 ③赋值运算符; (2)左结合(除了以上说明的之外)
2013年12月18日星期三7时59分2秒
Dos
类型将会转换成同类型作为整个式子的类型!
( 3 ) 作用:
当e1为真取e2的值,否则取e3的值作为表达式的值。
2013年12月18日星期三7时59分2秒
Dos
八.条件运算符及其表达式:( e1 ) ? e2 : e3
(4)例:(键入)两个数a,b将大者放于 max中:
①用if语句: 或 ②用条件运算式可写成:
2013年12月18日星期三7时59分2秒
Dos
3.复合的赋值运算符:
共有十种:+= -= *= /= %= 《= 》= &= ^= |=
算术运算符与赋值号构成
位运算符与赋值号构成
(1)形式:v △= e △ →( 双目 )算术运算符或( 双目 )位运算符 (2)作用:等价于 v = v △ ( e ) (3)例如:a + = 3 等价于 a = a + 3
正确答案
4 , 4
2013年12月18日星期三7时59分2秒
Dos
六、赋值运算符和赋值表达式 1. 简单赋值运算符:
赋值号 "=" 当成是一个双目运算符,是动态的, 与其它高级语言绝然不同。 (1)赋值式:v = e 通常:左边 v 是一个变量、右边 e 是一个表达式。
如:a = b = c = 5 等价于 a = ( b = ( c = 5 ) ) 又如:a = 5 + ( c = 6 ) /*c 赋6、a 赋11*/ (2)作用:将右边 e 表达式的值求出,然后赋给(放入)左边变量
( 3 ) 转换方向: ↑ long ↑竖向 横向
横向是必定的,同类型时也要转换
竖向是升级,不同类型时转换 ( 4 ) 例:int i ; float f ;
unsigned

int ← char , short
double d ; long e ; 表达式: 10 + 'a' + i*f - d/e
1)运算符:+、-、*、/、%(求余) 2)表达式:如同数学上的规定;(目数、优先级、结合性(律)) 注意:5/3 → 1 、5 % 3 → 2、 -5 /3 → -1 、-5 % 3 → -2 、
1/2 → 0、 1./2 → 0.5
5./3. → 1.666666
2013年12月18日星期三7时59分2秒
x % = y + 3 等价于 x = x % (y + 3 )
小心不能写成 x = x % y + 3
2013年12月18日星期三7时59分2秒
Dos
3.复合的赋值运算符:
(4)注意: ①如此写法,一 是为了简化程序,使程序精练; 二是提高编程效率但无实质性的不同。
②所构成的仍然是表达式,称之为赋值表达式。
所指的存放单元(容器)中。
2013年12月18日星期三7时59分2秒
Dos
2.赋值原则:
(1)v 与 e 值的类型相同时,或类型所占字节数相等时:原样赋值; (2)v 与 e 值的类型不相同时,需将 e 值的类型转成与 v 相同才赋值 ① 实 → 整:舍弃小数( 不四舍五入 ); ② 整 → 实:值不变( 小数尾部补足0 );
4)运算符优先级:共 15 级,大致可归纳为:
初等运算符 单目运算符 算术运算符 关系运算符 逻辑运算符 ( 不包括 " ! " ) ( 先乘除,后加减 ) ( )、 [ ] 、 -> 、 .
条件运算符
赋值运算符
2013年12月18日星期三7时59分2秒
逗号运算符
Dos
2.基本的算术运算符及其表达式:
16 或 32 位 Dos
2.赋值原则:
④ long → int、short → char
字节多变换成字节少 : 只取尾部。 即: long ( 32bit ) → short ( 16bit )只取尾部 16 bit
short ( 16bit ) → char( 8bit ) : 只取尾部 8 bit
如:k = i + + + j 等价于 k = ( i + +) + j
2013年12月18日星期三7时59分2秒
Dos
(6)函数实参表的求值顺序:
· 函数调用中:实参表一般是从右到左
i = 3; printf ( “%d, %d”, i, i++ ); 显示结果是:4,3 !
i = 3; printf ( “%d, %d”, i, i+=1 ); 显示结果还是:4,3 ?
2.关系式:
(1)形式:e1 @ e2:@-关系运算符、e1、e2表达式、常量、变量。
Dos
例1: a=3*5,a*4 先求解a=3*5,得a的值为15,然后求解a*4得60,整个逗 号表达式的值为60. 例2: (a=3*5,a*4),a+5
先使a的值等于15,再进行a*4(但a值未变),再进行 a+5得20,即整个表达式的值为20。
例3: (1) x=(a=3,6*3) (2) x=a=3,6*a
注意:类型标识符的 (例2)(int)(x+y) 圆括号不能省略 (float )( 5%3 )→2.0(原为 2 变成实型) (例3)main( ) { float x;x = 5 ;printf ( “%d\n” ,x %3 ) 将自动类型转换 无法自动转换成整型
x % 3 错误,应改写成 ( int ) x % 3
·先对所有先增 / 减 者进行计算 (++i) → i = = 4 ·然后才对表达式本身求值 k = i + j → 4 + 4 → k = = 8 ·最后才对后增 / 减 者进行增 / 减 (j++) → j = = 5
(5)运算符的组合原则:
·尽可能多地从左到右将若干个字符组成一个运算符,先多后少。例
关系运算符
(2)优先次序(级):单目 >逻辑运算符 > 关系! >)逻辑 > 赋值 算术 ( 不包括 " "
条件运算符
优 先 级
第 6 级 : <、< =、>、> = 赋值运算符 第 7 级: = =、! =
逗号运算符
(3)结合性:左结合(双目运算符)
2013年12月18日星期三7时59分2秒
Dos
2013年12月18日星期三7时59分2秒
ห้องสมุดไป่ตู้
Dos
七、逗号运算符和逗号表达式:
例如
三个参数
printf ( "%d, %d, %d",
a, b, c );
三个值从右到左运算 逗号表达式
printf ( "%d",
(a, b, c) );
仅一个值,从左到右,最后是 c 的值
2013年12月18日星期三7时59分2秒
第二章
数据类型、运算符 与表达式
2013年12月18日星期三7时59分2秒
Dos
五、算术运算符和算术表达式 1.C运算符简介: 1)功能上分类(13大类)
(1) 算术运算符:+、-、*、/、%(求余)、自增、自减·· ·· ·· (2) 关系运算符:>、>=、<、<=、==、!= (3) 逻辑运算符:!(非)、 &&(与)、||(或) (4) 位运算符:《(左移)、》(右移)、~(取反)、 |(或)、^(异或)、&(与) (5) 赋值运算符:= += -= *= /= %= 》=
《= &= ^= |=(赋值及其扩展赋值运算符) (6) 条件运算符:(三目运算符)?:
2013年12月18日星期三7时59分2秒
Dos
五、算术运算符和算术表达式 1.C运算符简介: 1)功能上分类(13大类)
(7) 逗号运算符:(顺序求值 运算符,双目或多目)
(8) 指针运算符:* 和 &(单目)
③ char → int、short → long ( 即字节少的变字节多的 ):
相关文档
最新文档