C语言教学之第3章数据类型表达式ppt课件_第1页
C语言教学之第3章数据类型表达式ppt课件_第2页
C语言教学之第3章数据类型表达式ppt课件_第3页
C语言教学之第3章数据类型表达式ppt课件_第4页
C语言教学之第3章数据类型表达式ppt课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嘉应学院杨久红嘉应学院杨久红20102010年末年末没有规矩,不成方圆。没有规矩,不成方圆。3.1 C的数据类型的数据类型3.2 常量与变量常量与变量3.3 整型数据整型数据3.4 实型数据实型数据第3章 数据类型、运算符与表达式嘉应学院杨久红嘉应学院杨久红20102010年末年末3.5 字符型数据字符型数据3.6 变量赋初值变量赋初值3.7 各类数值型数据间的混合运算各类数值型数据间的混合运算3.8 算术运算符和算术表达式算术运算符和算术表达式3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式3.10 逗号运算符和逗号表达式逗号运算符和逗号表达式嘉应学院杨久红嘉应学院杨久红20102010

2、年末年末本章大纲数据类型、运算符与表达式数据类型、运算符与表达式7 7学时)学时)教学内容:教学内容:C C的数据类型:基本数据类型;自定义的数据类型的数据类型:基本数据类型;自定义的数据类型常量和变量:符号常量与一般常量;变量的定义和赋值常量和变量:符号常量与一般常量;变量的定义和赋值各类型数据的混合运算各类型数据的混合运算运算符与表达式:算术运算符;关系运算符与逻辑运算符;表运算符与表达式:算术运算符;关系运算符与逻辑运算符;表达式的执行顺序达式的执行顺序嘉应学院杨久红嘉应学院杨久红20102010年末年末基本要求:基本要求:了解了解C C语言的数据类型;语言的数据类型;了解常量的概念、常

3、量的分类;了解常量的概念、常量的分类;了解整型、实型和字符型数据的存储形式;了解整型、实型和字符型数据的存储形式;掌握变量的概念、变量的分类及变量的初始化方法;掌握变量的概念、变量的分类及变量的初始化方法;掌握各类数值型数据间的混合运算规则;掌握各类数值型数据间的混合运算规则;掌握常见的各种运算符及表达式;掌握常见的各种运算符及表达式;理解运算符的优先级与结合性。理解运算符的优先级与结合性。重点:基本数据类型;变量定义和赋值;运算符与表重点:基本数据类型;变量定义和赋值;运算符与表达式达式难点:自定义的数据类型;运算符优先级。难点:自定义的数据类型;运算符优先级。嘉应学院杨久红嘉应学院杨久红2

4、0102010年末年末 数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。 基本类型:整型,字符型,浮点型(单精度型,双精度型),枚举类型; 构造类型:数组类型,结构体类型,共用体类型,指针类型,空类型。数据类型决定:数据类型决定:1.1.数据占内存字数据占内存字节数节数2.2.数据取值范围数据取值范围3.3.可对数据进行可对数据进行的操作的操作3.1 C的数据类型嘉应学院杨久红嘉应学院杨久红20102010年末年末 数据结构是指同一数据元素类中各数据元素之间存在的关系。数据结构分别为逻辑结构、存储结构物理结构和数据的运算。数据的逻辑结构是对数据之间关系的描述,有时就把逻

5、辑结构简称为数据结构。数据结构在计算机中的表示映像称为数据的物理存储构造。 数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构不仅是一般程序设计的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。 常用数据结常用数据结构构 : :数组、数组、线性表、链线性表、链表、队列、表、队列、栈、树、图栈、树、图等的定义、等的定义、存储和操作存储和操作数据结构补充了解补充了解嘉应学院杨久红嘉应学院杨久红20102010年末年末(1)(1)不同的计算机语不同的计算机语言所允许定义和使用言所允许定义和使用的数据结构是不同的。的数据结构是不同的。 (2)(2)

6、处理同一类问题,处理同一类问题,如果数据结构不同,如果数据结构不同,算法也会不同。算法也会不同。嘉应学院杨久红嘉应学院杨久红20102010年末年末3.2 常量与变量常量:常量:在程序运在程序运行过程中,行过程中,其值不能其值不能被改变的被改变的量称为常量称为常量。量。3.2.1 常量和符号常量字面常量或直接常量符号常量:以用一个标识符代表一个常量例如例如 : 1212,0 0,-3-3为整为整型常量型常量; ; 4.64.6、-1.23-1.23为实为实型常量型常量; ; aa,dd为为字符常量。字符常量。#define PRICE 30#define PRICE 30嘉应学院杨久红嘉应学院

7、杨久红20102010年末年末例3.1符号常量的使用。#define PRICE 30main ( ) int num, total; num=10; total=num * PRICE; printf(total=%d,total); total=3001.习惯上,符号常量名用大写2.程序中不能再次对符号常量赋值。#define PRICE 30main ( ) PRICE=40; 嘉应学院杨久红嘉应学院杨久红20102010年末年末这么麻烦给常量起了名字,有什么好处吗?(1 1含义清楚。定义符号常量名时应考虑含义清楚。定义符号常量名时应考虑“见名知意见名知意”。(2 2) 在需要改变一个常

8、量时能做到在需要改变一个常量时能做到“一改全改一改全改”。#define PRICE 30#define PRICE 30一看就知道一看就知道PRICEPRICE表示价格,但千万表示价格,但千万不要在定义圆周率的时候也这样写,不要在定义圆周率的时候也这样写,虽然不错,但达不到虽然不错,但达不到“见名知意见名知意的的目的了。目的了。#define PRICE 3.1415926#define PRICE 3.1415926嘉应学院杨久红嘉应学院杨久红20102010年末年末3.2.2 变量变量是指在程序运行期间,其值可以改变的量。1.用来存放数据2.对应内存中的一个特定的存储单元3.有名字,以便

9、被引用1.怎么对应到特定的存储单元呢?由编译系统完成。(参阅b 合法的标识符名:合法的标识符名:whilewhile, _total_total,student_namestudent_name,lotus_1_2_3lotus_1_2_3,ClassClass,class class ,BASIC BASIC C C语言区分大小写!语言区分大小写!ClassClass和和CLASSCLASS,Class,cLassClass,cLass都不同!都不同!嘉应学院杨久红嘉应学院杨久红20102010年末年末(1)符合标识符的2个命名规则;(2)不能和关键字32个重名。必须同时满足以上两个条件。变

10、量的名字要怎么起呢?合法的变量名:num,day,x1不合法的变量名:3num,day,while“先定义,先定义,后使用后使用”我是君子,我是君子,先说了才会先说了才会用啊!用啊!强制类型定义强制类型定义嘉应学院杨久红嘉应学院杨久红20102010年末年末3.3 整型数据3.3.1 整型常量的表示方法整型常量即整常数。(1) 十进制整数。(2) 八进制整数。 (3) 十六进制整数。如如123123表表示十进示十进制数制数123123以以0 0开头的数是八进开头的数是八进制数。如制数。如01230123表示八表示八进制数进制数123123, -011-011表表示八进制数示八进制数-11-11

11、以以0 x0 x开头的数是十开头的数是十六进制数。如六进制数。如0 x1230 x123,代表十六进制数代表十六进制数123 123 -0 x12-0 x12等于十进制数等于十进制数-18-18还记得进制间如何转换吗?忘了的赶快找找啊!单片机单片机程序设程序设计中经计中经常用到常用到嘉应学院杨久红嘉应学院杨久红20102010年末年末1.整型数据在内存中的存放形式数据在内存中是以数据在内存中是以二进制形式存放的。二进制形式存放的。每一个整型数据每一个整型数据包含变量和常量包含变量和常量在内存中占在内存中占2 2个或个或4 4个字节。个字节。(a存放的示意图 (b实际存放图10=(1010)2例

12、子:3.3.2 整型变量嘉应学院杨久红嘉应学院杨久红20102010年末年末 在计算机系统中,数值一律用补码来表示存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位符号位有进位,则进位被舍弃。 补码补码(complement) (complement) 一个正数一个正数的补码和的补码和其原码的其原码的形式相同。形式相同。负数补码的求法:负数补码的求法:(1 1写出该数的绝对值的二写出该数的绝对值的二进制形式;进制形式;(2 2按位取反;按位取反;(3 3再加再加1 1。原码又是原码又是什么呢?什么呢?掌握嘉应学院杨

13、久红嘉应学院杨久红20102010年末年末原码是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位即最高位为符号位),该位为0表示正数,该位为1表示负数,其余位表示数值的大小。 补充内容:原码补充内容:原码(true form)(true form)小数原码的定义 X = X (0X1)=1X (1X0 )例如: X=+0.1011 , X原= 0.1011 X=0.1011 , X原= 1.1011 整数原码的定义 X原=X (0X 2n) =2nX(-2nX0例如:+1011原=00001011 -1011原=10001011 理解嘉应学院杨久红嘉应学院杨久红20

14、102010年末年末2. 整型变量的分类 (1) 基本整型int)(2) 短整型short int)(3) 长整型(long int)修饰符:(1)有符号signed)(2)无符号unsigned)有符号基本整型有符号基本整型 signed int signed int 无符号基本整型无符号基本整型 unsigned intunsigned int有符号短整型有符号短整型 signed short intsigned short int无符号短整型无符号短整型 unsigned short intunsigned short int有符号长整型有符号长整型 signed long intsig

15、ned long int无符号长整型无符号长整型 unsigned long intunsigned long int 里的关键字可以省略!嘉应学院杨久红嘉应学院杨久红20102010年末年末如果内存中有个数据是这如果内存中有个数据是这样存储的,那么它是多少?样存储的,那么它是多少?如果是无符如果是无符号数,它是号数,它是6553565535如果是有符如果是有符号数,它是号数,它是-1-1例子例子嘉应学院杨久红嘉应学院杨久红20102010年末年末3. 整型变量的定义 int a,b;unsigned short c,d;long e,f;C规定在程序中所有用到的变量都必须在程序中定义,即“强

16、制类型定义”对变量的定义,一般是放在一个函数的开头部分的声明部分(也可以放在函数中某一分程序内,但作用域只限它所在的分程序)。嘉应学院杨久红嘉应学院杨久红20102010年末年末例3.2整型变量的定义与使用。main()int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf(a+u=%d,b+u=%dn,c,d); 嘉应学院杨久红嘉应学院杨久红20102010年末年末 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 (a=12) 0 0 0

17、0 0 0 0 0 0 0 0 0 1 0 1 0 (u=10) 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 (c=22)嘉应学院杨久红嘉应学院杨久红20102010年末年末 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 ( b=24的补码) 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 (u=10) 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 (d的补码) 1 1 1 1 1 1 1 1

18、 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 (d的绝对值14)求b=24的补码a+u=22a+u=22,b+u=-14b+u=-14嘉应学院杨久红嘉应学院杨久红20102010年末年末4. 整型数据的溢出在Turbo c中一个int型变量的最大允许值为32767,如果再加1,会出现什么情况?main() int a,b; a=32767; b=a+1; printf(%d,%d,a,b);32767,-3276832767+132767+1不等于不等于3276832768吗?吗?嘉应学院杨久红嘉应学院杨久红20102010年末年末 0

19、1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 (a=32767) 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (负数)? 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (b的绝对值,即32768 ) 真值为 - 32768 既然是这样,那要怎么改才能得到预期的结果32768呢?想一想啦!嘉应学院杨久红嘉应学院杨久红20102010年末年末3.3.3 整型常量的类型(1) 一个整数,如果其值在-32768+32767范围内,认为它是int型,它可以赋值给int型和long

20、int型变量。(2) 一个整数,如果其值超过了上述范围,而在-2147483648+2147483647范围内,则认为它是长整型,可以将它赋值给一个long int型变量。(3)一个整常量后面加一个字母u,认为是unsigned int型,如12345u,在内存中按unsigned int规定的方式存放。如果写成-12345u,则先将-12345转换成其补码53191,然后按无符号数存储。(5) 在一个整常量后面加一个字母l或l,则认为是long int型常量。例如123l、432l、0l等。嘉应学院杨久红嘉应学院杨久红20102010年末年末3.4 浮点型数据3.4.1 浮点型常量的表示方法

21、浮点数(floating-point number)即实数(real number)。十进制小数形式。它由数字和小数点组成指数形式123e3,123E3.123.123,123.123., 123.0123.0, 0.00.0e3e32.1e3.52.1e3.5, e e注意:字母注意:字母e(e(或或E)E)之前必之前必须有数字,且须有数字,且e e后面的指数必后面的指数必须为整数须为整数嘉应学院杨久红嘉应学院杨久红20102010年末年末“规范化的指数形式”: 即在字母e(或E)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字。一个实数在用指数形式输出时,是按规范化的指数形式

22、输出的。 知道了!123.456可以表示为123.456e0, 12.3456e1、 1.23456e2、 0.123456e3、 0.0123456e4、 0.00123456e5 无数种?无数种?原来原来1.23456e21.23456e2是规是规范化的指数形式。范化的指数形式。嘉应学院杨久红嘉应学院杨久红20102010年末年末3.4.2 浮点型变量图3.7 实数 3.14159 在内存中的存放形式示意1.浮点型数据在内存中的存放形式一个浮点型数据在内存中占4个或8个字节(32位或64位)按照指数形式存储的纯小数部分采用规范化的指数形式理解理解小数位数越多,小数位数越多,精度越高精度越高

23、指数位数越多,表指数位数越多,表示的数的范围越大。示的数的范围越大。嘉应学院杨久红嘉应学院杨久红20102010年末年末2.浮点型变量的分类C浮点型变量分为三类:单精度(float)双精度(double)长双精度型(long double)占占4 4个字节个字节3232位)位)占占8 8个字节个字节6464位)位)占占1616个字节个字节128128位)位)float x,y;double z;long double t;嘉应学院杨久红嘉应学院杨久红20102010年末年末3.浮点型数据的舍入误差main()float a,b; a = 123456,789e5; b = a + 20 ; p

24、rintf(%f,b); 应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丧失小的数。浮点型用有限的存储单元存储,所以提供的有效数字也就有限,故会产生舍入误差。12345678848.00000012345678848.000000嘉应学院杨久红嘉应学院杨久红20102010年末年末3.4.3 浮点型常量的类型f = 2.45678 * 4523.65 双精度双精度双精度双精度单精度单精度* *取前取前7 7位位提高精度提高精度运算速度降低运算速度降低难道不能就按难道不能就按单精度计算吗?单精度计算吗?f = 2.45678 f* 4523.65F嘉应学院杨久红嘉应学院杨久红20

25、102010年末年末3.5 字符型数据3.5.1 字符常量1.用单引号(即撇号)括起来的一个字符。如如aa,xx,DD,?,$ $ 。2.以一个“”开头的字符序列。是 “控制字符”,在屏幕上是不能显示的如如n,t,b,r,, , , ddd, xhh和和AA相同相同吗?吗?不同!不同!嘉应学院杨久红嘉应学院杨久红20102010年末年末例3.5转义字符的使用。ain() printf( ab ct derftgn); printf(htibbj k); fab c gdeh jikf gdef gdeh j kh j k打印打印机机屏幕屏幕白纸黑字白纸黑字空说无凭空说无凭嘉应学院杨久红嘉应学院

26、杨久红20102010年末年末3.5.2 字符变量1.1.字符型变字符型变量用来存放量用来存放字符常量字符常量2.2.只能放一只能放一个字符个字符3.3.一个字符一个字符变量在内存变量在内存中占一个字中占一个字节节字符变量的定义:charc1,c2;字符变量的赋值:c1=a;c2=b;字符变量的定义和赋值: char c1=a,c2=b;嘉应学院杨久红嘉应学院杨久红20102010年末年末3.5.3 字符数据在内存中的存储形式及其使用方法存存储储输输出出将该字符的相应的ASCII代码放到存储单元中1.以字符形式输出2.以以整数形式输出示意图示意图实际存实际存储情况储情况嘉应学院杨久红嘉应学院杨

27、久红20102010年末年末main()main() char c1char c1,c2;c2; c1=97; c1=97; c2=98; c2=98; printf(%c %cn printf(%c %cn,c1c1,c2);/c2);/* *以字符形式输出以字符形式输出* */ / printf(%d %dn printf(%d %dn,c1c1,c2);/c2);/* *转换为整数形式输出转换为整数形式输出* */ / 例3.6 向字符变量赋以整数。%c%c表示以表示以字符形式字符形式输出。输出。%d%d表示以带表示以带符号的十进符号的十进制整数形式制整数形式输出。输出。a ba b97

28、 9897 98通用通用嘉应学院杨久红嘉应学院杨久红20102010年末年末例3.7 大小写字母的转换。main()char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(%c%c,c1,c2); A B掌握掌握嘉应学院杨久红嘉应学院杨久红20102010年末年末3.5.4 字符串常量a0字符串常量是一对双引号括起来的字符序列。如如: “CHINA”, ”a”,“how do you do.”,”123.45”“a”“a”= = ? ? “a“a是字符串常是字符串常量量aaaa是字符是字符常量常量a嘉应学院杨久红嘉应学院杨久红20102010年末年

29、末char c;char c;c=a;c=ac=a;c=“CHINc=“CHINA A 考考你考考你下面下面3 3个赋值语句中哪些是个赋值语句中哪些是对的?为什么?对的?为什么?1.在C语言中没有专门的字符串变量2.必须使用字符数组,数组中每一个元素存放一个字符。 嘉应学院杨久红嘉应学院杨久红20102010年末年末3.6 变量赋初值1.允许在定义变量的同时使变量初始化2.部分赋初值3.同种类型的可以合并定义int a=3;float f=3.56;char c=a;int a,b,c=5;int a=3,b=3,c=3;int a=b=c=3;?嘉应学院杨久红嘉应学院杨久红20102010年

30、末年末3.7 各类数值型数据间的混合运算图图3.103.10转换规则转换规则纵向的箭头表示数据转换的方向横向向左的箭头表示必定的转换嘉应学院杨久红嘉应学院杨久红20102010年末年末10 + a + i * f - d / e假设假设i i是是intint变量,值为变量,值为3 3,f f是是floatfloat变量,值为变量,值为2.02.0,d d是是doubledouble变量,值为变量,值为4.04.0,e e为为longlong型,值为型,值为8 8* *优先级高于优先级高于+ +算算10+a10+a:把:把aa转换成转换成intint为为9797,再加,再加1010,等于,等于1

31、07107107 + i * f - d / e算算i i* *f:f:把把i i和和f f都转换成都转换成doubledouble,然后相乘得,然后相乘得6.06.0优先级相同优先级相同 107 + 6.0 - d / e+ +和和- -优先级相同优先级相同算算107+6.0:107+6.0:把把107107转换成转换成doubledouble,和为,和为113.0113.0/ /优先级高于优先级高于- -算算d/e:d/e:把把e e转换成转换成doubledouble,商为,商为0.50.5113.0 - d / e113.0 - 0.5把把113.0 113.0 转换成转换成doubl

32、edouble,差为,差为112.5112.5嘉应学院杨久红嘉应学院杨久红20102010年末年末3.8 算术运算符和算术表达式1 1算术运算符算术运算符 (+ - (+ - * * / %) / %)2 2关系运算符关系运算符 ( ( = = = = = !=)= = = !=)3 3逻辑运算符逻辑运算符 ( (! & |)& |)4 4位运算符位运算符 ( & |)( & |)5 5赋值运算符赋值运算符 (=(=及其扩展赋值运算符及其扩展赋值运算符) )6 6条件运算符条件运算符 (? (? :) )7 7逗号运算符逗号运算符 ( (,) )8 8指针运算符

33、指针运算符 ( (* *和和&)&)9 9求字节数运算符求字节数运算符 (s i z e o f)(s i z e o f)1010强制类型转换运算符强制类型转换运算符 ( ( (类型类型) ) )1111分量运算符分量运算符 ( ( -)-)1212下标运算符下标运算符 ()1313其他其他 ( (如函数调用运算符如函数调用运算符()()嘉应学院杨久红嘉应学院杨久红20102010年末年末3.8.2 算术运算符和算术表达式1. 基本的算术运算符+ +:加法运算符:加法运算符 或正值运算符或正值运算符- -:减法运算符:减法运算符 或负值运算符或负值运算符* *:乘法运算符:乘

34、法运算符/ /:除法运算符:除法运算符% %:模运算符:模运算符 或求余运算符或求余运算符如如3+5、+3如如5-2、-3如如3*5如如5/3=1,5/3的结果可能是的结果可能是-1,也可能是,也可能是-2大部分是大部分是“向零取向零取整整”如如7%4的值为的值为3% %两侧两侧均应为均应为整型数整型数据据* *不不能能写写成成嘉应学院杨久红嘉应学院杨久红20102010年末年末常量变量函数2.算术表达式和运算符的优先级与结合性+-*/运算符运算符运算对象运算对象用算术运算符和括号将运算对象(也称操作数)连接起来的、符合c语法规则的式子.例如:a*b/c-1.5+a优先级:优先级:1.1.先按

35、运算符的优先先按运算符的优先级别高低次序执行级别高低次序执行2.2.如果在一个运算对如果在一个运算对象两侧的运算符的优象两侧的运算符的优先级别相同,则按规先级别相同,则按规定的定的“结合方向结合方向处处置。置。 结合性:1.左结合性:即运算对象先与左面的运算符结合2.右结合性:有些运算符的结合方向为“自右至左”.算术表达式算术表达式嘉应学院杨久红嘉应学院杨久红20102010年末年末两种类型转换强制类型转换自动类型转换若x为float型,那么“x%3不合法,必须用:“(int)x%3”如3+6.53.强制类型转换运算符嘉应学院杨久红嘉应学院杨久红20102010年末年末一般形式:(类型名)(表

36、达式)(int)(x+y)先将x与y相加,然后将他们的和转换成整型表达式应该用括号括起来(int)x+y只将x转换成整型,然后与y相加原来原来是这是这样!样!嘉应学院杨久红嘉应学院杨久红20102010年末年末例3.8强制类型转换。main()main() float xfloat x; int iint i; x=3.6x=3.6; i=(int)xi=(int)x; printf(x=%f,i=%d“,x,i);printf(x=%f,i=%d“,x,i); x=3.600000 x=3.600000, i=3i=3在强制类型转换在强制类型转换时,得到一个所时,得到一个所需类型的中间变需类

37、型的中间变量,原来变量的量,原来变量的类型未发生变化类型未发生变化嘉应学院杨久红嘉应学院杨久红20102010年末年末4.自增、自减运算符+i+i先使先使i i的值加的值加1 1,然后再使用然后再使用i ii+ i+ 先使用先使用i i,然后,然后再使再使i i的值加的值加1 1自增(减)运算符常用于:1.循环语句中,使循环变量自动加1或减1。2.指针变量,使指针指向下一个地址。自增运算自增运算符符+-i-i先使先使i i的值减的值减1 1,然后再使用然后再使用i ii- i- 先使用先使用i i,然后,然后再使再使i i的值减的值减1 1自减运算自减运算符符-嘉应学院杨久红嘉应学院杨久红20

38、102010年末年末i=3;printf(%d,+i);i=3;printf(%d, i +);i=3;j=+i; printf(%d,j);i=3;j= i+; printf(“%d”,j);4 43 33 34 4v自增运算符自增运算符(+)(+)和自减运算符和自减运算符(-(-) ),只能用于变量,只能用于变量,而不能用于常量而不能用于常量或表达式,或表达式,v+和和-的优先级:的优先级:第第2 2级。级。v+和和-的结合方的结合方向是向是“自右至自右至左左”。5+(a+b)+不合法不合法嘉应学院杨久红嘉应学院杨久红20102010年末年末3.9 赋值运算符和赋值表达式 1. 1.赋值运算符赋值运算符赋值运算符就是“=”作用是执行一次赋值操作如如a=3a=3+c优先级:第14级结合性:右结合性嘉应学院杨久红嘉应学院杨久红20102010年末年末整整 型型字字 符符 型型无符号无符号有符号有符号字符字符的的8 8位放位放到整到整型变型变量的量的低低8 8位位符符号号扩扩展展高高8 8位位补补零零将低将低8 8位位放到放到字符字符变量变

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论