版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嘉应学院杨久红嘉应学院杨久红20102010年末年末第第1张张没有规矩,不成方圆。没有规矩,不成方圆。第第2张张3.1 c的数据类型的数据类型3.2 常量与变量常量与变量3.3 整型数据整型数据3.4 实型数据实型数据第3章 数据类型、运算符与表达式嘉应学院杨久红嘉应学院杨久红20102010年末年末第第3张张3.5 字符型数据字符型数据3.6 变量赋初值变量赋初值3.7 各类数值型数据间的混合运算各类数值型数据间的混合运算3.8 算术运算符和算术表达式算术运算符和算术表达式3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式3.10 逗号运算符和逗号表达式逗号运算符和逗号表达式嘉应学院杨久红
2、嘉应学院杨久红20102010年末年末第第4张张本章大纲数据类型、运算符与表达式(数据类型、运算符与表达式(7 7学时)学时)教学内容:教学内容:1.c的数据类型:基本数据类型;自定义的数据类型2.常量和变量:符号常量与一般常量;变量的定义和赋值3.各类型数据的混合运算4.运算符与表达式:算术运算符;关系运算符与逻辑运算符;表达式的执行顺序嘉应学院杨久红嘉应学院杨久红20102010年末年末第第5张张基本要求:基本要求:1.了解c语言的数据类型;2.了解常量的概念、常量的分类;3.了解整型、实型和字符型数据的存储形式;4.掌握变量的概念、变量的分类及变量的初始化方法;5.掌握各类数值型数据间的
3、混合运算规则;6.掌握常见的各种运算符及表达式;7.理解运算符的优先级与结合性。重点:重点:基本数据类型;变量定义和赋值;运算符与表达式难点:难点:自定义的数据类型;运算符优先级。嘉应学院杨久红嘉应学院杨久红20102010年末年末第第6张张 数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。 基本类型:整型,字符型,浮点型(单精度型,双精度型),枚举类型; 构造类型:数组类型,结构体类型,共用体类型,指针类型,空类型。数据类型决定:数据类型决定:1.1.数据占内存字数据占内存字节数节数2.2.数据取值范围数据取值范围3.3.可对数据进行可对数据进行的操作的操作3.1 c
4、的数据类型嘉应学院杨久红嘉应学院杨久红20102010年末年末第第7张张 数据结构是指同一数据元素类中各数据元素之间存在的关系。数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。数据的逻辑结构是对数据之间关系的描述,有时就把逻辑结构简称为数据结构。数据结构在计算机中的表示(映像)称为数据的物理(存储)结构。 数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构不仅是一般程序设计的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。 常用数据结常用数据结构构 : :数组、数组、线性表、链线性表、链表、队列、表、队列、栈、树、图栈、树、图等的
5、定义、等的定义、存储和操作存储和操作数据结构补充了解补充了解嘉应学院杨久红嘉应学院杨久红20102010年末年末第第8张张(1)(1)不同的计算机语不同的计算机语言所允许定义和使言所允许定义和使用的数据结构是不用的数据结构是不同的。同的。 (2)(2)处理同一类问题,处理同一类问题,如果数据结构不同,如果数据结构不同,算法也会不同算法也会不同。嘉应学院杨久红嘉应学院杨久红20102010年末年末第第9张张3.2 常量与变量常量:常量:在程序运行过程中,其值不能被改变的量称为常量。3.2.1 常量和符号常量字面常量或直接常量符号常量:以用一个标识符代表一个常量例如例如 : 1212,0 0,-3
6、-3为整为整型常量型常量; ; 4.64.6、-1.23-1.23为实为实型常量型常量; ; aa,dd为为字符常量。字符常量。#define price 30#define price 30嘉应学院杨久红嘉应学院杨久红20102010年末年末第第10张张例3.1符号常量的使用。#define price 30main ( ) int num, total; num=10; total=num * price; printf(total=%d,total); total=3001.习惯上,符号常量名用大写2.程序中不能再次对符号常量赋值。#define price 30main ( ) pri
7、ce=40; 嘉应学院杨久红嘉应学院杨久红20102010年末年末第第11张张这么麻烦给常量起了名字,有什么好处吗?(1 1)含义清楚。定义符号常量名时应考虑)含义清楚。定义符号常量名时应考虑“见名知意见名知意”。(2 2) 在需要改变一个常量时能做到在需要改变一个常量时能做到“一改全改一改全改”。#define price 30#define price 30一看就知道price表示价格,但千万不要在定义圆周率的时候也这样写,虽然不错,但达不到“见名知意”的目的了。#define price 3.1415926#define price 3.1415926嘉应学院杨久红嘉应学院杨久红2010
8、2010年末年末第第12张张3.2.2 变量变量是指在程序运行期间,其值可以改变的量。1.用来存放数据2.对应内存中的一个特定的存储单元3.有名字,以便被引用1.怎么对应到特定的存储单元呢?由编译系统完成。(参阅编译原理)2.变量的名字要怎么起呢?嘉应学院杨久红嘉应学院杨久红20102010年末年末第第13张张?变量怎么对应到特定的存储单元呢?存储单元地址3变量值变量名存储单元地址一般用十存储单元地址一般用十六进制数表示六进制数表示 ,与变,与变量名一一对应,类似于量名一一对应,类似于身份证号,唯一但难记,身份证号,唯一但难记,类似于身份证号。类似于身份证号。存储单元每个存储单元都由一个每个存
9、储单元都由一个唯一的存储单元地址和唯一的存储单元地址和存储在单元里面的内容存储在单元里面的内容组成组成为了便于引用为了便于引用存储单元而起存储单元而起的名字。的名字。类似于人名类似于人名2004h存储单元的内容a a嘉应学院杨久红嘉应学院杨久红20102010年末年末第第14张张标识符(identifier):用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符。标识符的命名规则:标识符的命名规则:(1)(1)只能由字母、数字和只能由字母、数字和下划线三种字符组成,下划线三种字符组成,(2)(2)且且第一个字符必须为第一个字符必须为字母或下划线。字母或下划线。 必
10、须同时满足以上两个必须同时满足以上两个条件条件。 不合法的标识符名:不合法的标识符名:d dohnohn,¥123123,3d643d64,abab 合法的标识符名:合法的标识符名:whilewhile, _total_total,student_namestudent_name,lotus_1_2_3lotus_1_2_3,classclass,class class ,basicbasic c c语言区分大小写!语言区分大小写!classclass和和classclass,class,classclass,class都不同!都不同!嘉应学院杨久红嘉应学院杨久红20102010年末年末第第1
11、5张张(1)符合标识符的2个命名规则;(2)不能和关键字(32个)重名。必须同时满足以上两个条件。变量的名字要怎么起呢?合法的变量名:num,day,x1不合法的变量名:3num,day,while“先定义,先定义,后使用后使用”我是君子,我是君子,先说了才会先说了才会用啊!用啊!强制类型定义强制类型定义嘉应学院杨久红嘉应学院杨久红20102010年末年末第第16张张3.3 整型数据3.3.1 整型常量的表示方法整型常量即整常数。(1) 十进制整数。(2) 八进制整数。 (3) 十六进制整数。如如123123表表示十进示十进制数制数123123以以0 0开头开头的数是八进的数是八进制数。如制数
12、。如0 0123123表示八表示八进制数进制数123123, - -0 01111表表示八进制数示八进制数-11-11以以0 x0 x开头开头的数是十的数是十六进制数。如六进制数。如0 x0 x123123,代表十六进制数代表十六进制数123 123 - -0 x0 x1212等于十进制数等于十进制数-18-18还记得进制间如何转换吗?忘了的赶快找找啊!单片机单片机程序设程序设计中经计中经常用到常用到嘉应学院杨久红嘉应学院杨久红20102010年末年末第第17张张1.整型数据在内存中的存放形式数据在内存中是以数据在内存中是以二进制二进制形式存放的。形式存放的。每一个整型数据每一个整型数据(包含
13、变量和常量)(包含变量和常量)在内存中占在内存中占2 2个或个或4 4个个字节。字节。(a)存放的示意图 (b)实际存放图10=(1010)2例子:3.3.2 整型变量嘉应学院杨久红嘉应学院杨久红20102010年末年末第第18张张 在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。 补码补码(complement) 一个正数一个正数的补码和的补码和其原码的其原码的形式相同。形式相同。负数补码的求法:负数补码的求法:(1 1)写出该数的绝对值的二
14、)写出该数的绝对值的二进制形式;进制形式;(2 2)按位取反;)按位取反;(3 3)再加)再加1 1。原码又是原码又是什么呢?什么呢?掌握嘉应学院杨久红嘉应学院杨久红20102010年末年末第第19张张原码是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位),该位为0表示正数,该位为1表示负数,其余位表示数值的大小。 补充内容:原码补充内容:原码(true form)小数原码的定义 x = x (0x1)=1x (1x0 )例如: x=+0.1011 , x原= 0.1011 x=0.1011 , x原= 1.1011 整数原码的定义 x原=x (
15、0x 2n) =2nx(-2nx0)例如:+1011原=00001011 -1011原=10001011 了解嘉应学院杨久红嘉应学院杨久红20102010年末年末第第20张张2. 整型变量的分类 (1) 基本整型(int)(2) 短整型(short int)(3) 长整型(long int)修饰符:(1)有符号(signed)(2)无符号(unsigned)有符号基本整型有符号基本整型 signed intsigned int 无符号基本整型无符号基本整型 unsigned intunsigned int有符号短整型有符号短整型 signed short intsigned short int
16、 无符号短整型无符号短整型 unsigned short intunsigned short int 有符号长整型有符号长整型 signed long intsigned long int 无符号长整型无符号长整型 unsigned long intunsigned long int 里的关键字可以省略!嘉应学院杨久红嘉应学院杨久红20102010年末年末第第21张张如果内存中有个数据是这如果内存中有个数据是这样存储的,那么它是多少?样存储的,那么它是多少?如果是无符如果是无符号数,它是号数,它是6553565535如果是有符如果是有符号数,它是号数,它是-1-1例子例子嘉应学院杨久红嘉应学院
17、杨久红20102010年末年末第第22张张3. 整型变量的定义 int a,b;unsigned short c,d;long e,f;c规定在程序中所有用到的变量都必须在程序中定义,即“强制类型定义”对变量的定义,一般是放在一个函数的开头部分的声明部分(也可以放在函数中某一分程序内,但作用域只限它所在的分程序)。嘉应学院杨久红嘉应学院杨久红20102010年末年末第第23张张例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;
18、 printf(a+u=%d,b+u=%dn,c,d); 嘉应学院杨久红嘉应学院杨久红20102010年末年末第第24张张 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 (a=12) 0 0 0 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年末年末第第25张张 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
19、 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 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+ua+u= =2222,b+ub+u= =-14-14嘉应学院杨久红嘉应学院杨久红20102010年末年末第第26张张4. 整型数据的溢出在turbo c中一个int型变量的最大允许值为32767,如果再加1,会出现什么情况?main
20、() int a,b; a=32767; b=a+1; printf(%d,%d,a,b);32767,-3276832767+132767+1不等于不等于3276832768吗?吗?嘉应学院杨久红嘉应学院杨久红20102010年末年末第第27张张 0 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
21、 既然是这样,那要怎么改才能得到预期的结果32768呢?想一想啦!嘉应学院杨久红嘉应学院杨久红20102010年末年末第第28张张3.3.3 整型常量的类型(1) 一个整数,如果其值在-32768+32767范围内,认为它是int型,它可以赋值给int型和long int型变量。(2) 一个整数,如果其值超过了上述范围,而在-2147483648+2147483647范围内,则认为它是长整型,可以将它赋值给一个long int型变量。(3)一个整常量后面加一个字母u,认为是unsigned int型,如12345u,在内存中按unsigned int规定的方式存放。如果写成-12345u,则先
22、将-12345转换成其补码53191,然后按无符号数存储。(5) 在一个整常量后面加一个字母l或l,则认为是long int型常量。例如123l、432l、0l等。嘉应学院杨久红嘉应学院杨久红20102010年末年末第第29张张3.4 浮点型数据3.4.1 浮点型常量的表示方法浮点数(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)之前必之前
23、必须有数字,且须有数字,且e e后面的指数必后面的指数必须为整数须为整数嘉应学院杨久红嘉应学院杨久红20102010年末年末第第30张张“规范化的指数形式”: 即在字母e(或e)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字。一个实数在用指数形式输出时,是按规范化的指数形式输出的。 知道了!知道了!123.456123.456可以表示为可以表示为123.456e0123.456e0, 12.3456e112.3456e1、 1.23456e21.23456e2、 0.123456e30.123456e3、 0.0123456e40.0123456e4、 0.00123456e5
24、0.00123456e5 无数种?无数种?原来原来1.23456e21.23456e2是规是规范化的指数形式。范化的指数形式。嘉应学院杨久红嘉应学院杨久红20102010年末年末第第31张张3.4.2 浮点型变量图3.7 实数 3.14159 在内存中的存放形式示意1.浮点型数据在内存中的存放形式一个浮点型数据在内存中占4个或8个字节(32位或64位)按照指数形式存储的纯小数部分采用规范化的指数形式了解了解小数位数越多,小数位数越多,精度越高精度越高指数位数越多,表指数位数越多,表示的数的范围越大。示的数的范围越大。嘉应学院杨久红嘉应学院杨久红20102010年末年末第第32张张2.浮点型变量
25、的分类c浮点型变量分为三类:单精度(float)双精度(double)长双精度型(long double)占占4 4个字节个字节(3232位)位)占占8 8个字节个字节(6464位)位)占占1616个字节个字节(128128位)位)float x,y;double z;long double t;嘉应学院杨久红嘉应学院杨久红20102010年末年末第第33张张3.浮点型数据的舍入误差main()float a,b; a = 123456,789e5; b = a + 20 ; printf(%f,b); 应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”小的数。浮点型用有限的
26、存储单元存储,所以提供的有效数字也就有限,故会产生舍入误差。1234567812345678848.000000848.000000嘉应学院杨久红嘉应学院杨久红20102010年末年末第第34张张3.4.3 浮点型常量的类型f = 2.45678 * 4523.65 双精度双精度双精度双精度单精度单精度* *取前取前7 7位位提高精度提高精度运算速度降低运算速度降低难道不能就按难道不能就按单精度计算吗?单精度计算吗?f = 2.45678 f* 4523.65f嘉应学院杨久红嘉应学院杨久红20102010年末年末第第35张张3.5 字符型数据3.5.1 字符常量1.用单引号(即撇号)括起来的一
27、个字符。如如aa,xx,dd,?,$ $ 。2.以一个“”开头的字符序列。是 “控制字符”,在屏幕上是不能显示的如如n,t,b,r,, , , ddd, xhh和和aa相同相同吗?吗?不同!不同!嘉应学院杨久红嘉应学院杨久红20102010年末年末第第36张张例3.5转义字符的使用。ain() printf( ab ct derftgn); printf(htibbj k); fab c gdeh jikf gdef gdeh j kh j k打印打印机机屏幕屏幕白纸黑字白纸黑字空说无凭空说无凭嘉应学院杨久红嘉应学院杨久红20102010年末年末第第37张张3.5.2 字符变量1.1.字符型变
28、字符型变量用来量用来存放存放字符字符常量常量2.2.只能只能放一放一个个字符字符3.3.一个字符一个字符变量在内存变量在内存中占一个字中占一个字节节字符变量的定义:charc1,c2;字符变量的赋值:c1=a;c2=b;字符变量的定义和赋值: char c1=a,c2=b;嘉应学院杨久红嘉应学院杨久红20102010年末年末第第38张张3.5.3 字符数据在内存中的存储形式及其使用方法存存储储输输出出将该字符的相应的ascii代码放到存储单元中1.以字符形式输出2.以以整数形式输出示意图示意图实际存实际存储情况储情况嘉应学院杨久红嘉应学院杨久红20102010年末年末第第39张张main()m
29、ain() 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 9897 98通用通用嘉应学院杨久红
30、嘉应学院杨久红20102010年末年末第第40张张例3.7 大小写字母的转换。main()char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(%c%c,c1,c2); a b掌握掌握嘉应学院杨久红嘉应学院杨久红20102010年末年末第第41张张3.5.4 字符串常量a0字符串常量是一对双引号括起来的字符序列。如如: “china”, ”a”,“how do you do.”,”123.45”“a”“a”= = ? ? “a”“a”是字符串常是字符串常量量aaaa是字符是字符常量常量a嘉应学院杨久红嘉应学院杨久红20102010年末年末第第42
31、张张char c;char c;c=a;c=a;c=ac=a;c=“chinc=“chinaa 考考你考考你下面下面3 3个赋值语句中哪些是个赋值语句中哪些是对的?为什么?对的?为什么?1.在c语言中没有专门的字符串变量2.必须使用字符数组,数组中每一个元素存放一个字符。 嘉应学院杨久红嘉应学院杨久红20102010年末年末第第43张张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;?嘉应学院杨久红嘉应学院杨久
32、红20102010年末年末第第44张张3.7 各类数值型数据间的混合运算图图3.103.10转换规则转换规则纵向的箭头表示数据转换的方向横向向左的箭头表示必定的转换嘉应学院杨久红嘉应学院杨久红20102010年末年末第第45张张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为
33、为9797,再加,再加1010,等于,等于107107107 + 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/ed/e: :把把e e转换成转换成doubledouble,商为,商为0.50.5113.0 - d / e113.0 - 0.5把把
34、113.0 113.0 转换成转换成doubledouble,差为,差为112.5112.5嘉应学院杨久红嘉应学院杨久红20102010年末年末第第46张张3.8 算术运算符和算术表达式1 1算术运算符算术运算符 (+ - (+ - * * / %) / %)2 2关系运算符关系运算符 ( ( = = = = = !=)= = = !=)3 3逻辑运算符逻辑运算符 ( (! & |)& |)4 4位运算符位运算符 ( & |)( & |)5 5赋值运算符赋值运算符 (=(=及其扩展赋值运算符及其扩展赋值运算符) )6 6条件运算符条件运算符 (? (? :) )7 7逗号运算符逗号运算符 (
35、(,) )8 8指针运算符指针运算符 ( (* *和和&)&)9 9求字节数运算符求字节数运算符 (s i z e o f)(s i z e o f)1010强制类型转换运算符强制类型转换运算符 ( ( (类型类型) ) )1111分量运算符分量运算符 ( ( -)-)1212下标运算符下标运算符 ()1313其他其他 ( (如函数调用运算符如函数调用运算符()()嘉应学院杨久红嘉应学院杨久红20102010年末年末第第47张张3.8.2 算术运算符和算术表达式1. 基本的算术运算符+ +:加法运算符 或正值运算符- -:减法运算符 或负值运算符* *:乘法运算符/ /:除法运算符% %:模运
36、算符 或求余运算符如如3+5、+3如如5-2、-3如如3*5如如5/3=1,-5/35/3的结果可能是的结果可能是-1-1,也可能是,也可能是-2-2大部分是大部分是“向零取向零取整整”如如7%4的值为的值为3% %两侧两侧均应为均应为整型数整型数据据* *不不能写能写成成嘉应学院杨久红嘉应学院杨久红20102010年末年末第第48张张常量变量函数2.算术表达式和运算符的优先级与结合性+-* */ /运算符运算符运算对象运算对象用算术运算符和括号将运算对象(也称操作数)连接起来的、符合c语法规则的式子.例如:a a* *b/c-1.5+ab/c-1.5+a优先级:优先级:1.1.先按运算符的优
37、先先按运算符的优先级别高低次序执行级别高低次序执行2.2.如果在一个运算对如果在一个运算对象两侧的运算符的优象两侧的运算符的优先级别相同,则按规先级别相同,则按规定的定的“结合方向结合方向”处处理。理。 结合性:结合性:1.1.左结合性左结合性: :即运算对即运算对象先与左面的运算符象先与左面的运算符结合结合2.2.右结合性右结合性: :有些运算有些运算符的结合方向为符的结合方向为“自自右至左右至左”. .算术表达式算术表达式嘉应学院杨久红嘉应学院杨久红20102010年末年末第第49张张两种类型转换强制类型转换自动类型转换若x为float型,则“x%3”不合法,必须用:“(int)x%3”如
38、3+6.53.强制类型转换运算符嘉应学院杨久红嘉应学院杨久红20102010年末年末第第50张张一般形式:(类型名)(表达式)(int)(x+y)先将x与y相加,然后将他们的和转换成整型表达式应该用括号括起来(int)x+y只将x转换成整型,然后与y相加原来原来是这是这样!样!嘉应学院杨久红嘉应学院杨久红20102010年末年末第第51张张例3.8强制类型转换。main()main() float xfloat x; intint i i; x=3.6x=3.6; i=(int)xi=(int)x; printf(x=%f,i=%d“,x,iprintf(x=%f,i=%d“,x,i););
39、x=x=3.6000003.600000, i=i=3 3在强制类型转换在强制类型转换时,得到一个所时,得到一个所需类型的中间变需类型的中间变量,原来变量的量,原来变量的类型未发生变化类型未发生变化嘉应学院杨久红嘉应学院杨久红20102010年末年末第第52张张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,然后再使用
40、然后再使用i ii- i- 先使用先使用i i,然后,然后再使再使i i的值减的值减1 1自减运算自减运算符符-嘉应学院杨久红嘉应学院杨久红20102010年末年末第第53张张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 4(1)(1)自增运算符自增运算符(+)(+)和自减运算符和自减运算符(-(-) ),只能用于变量,只能用于变量,而不能用于常量而不能用于常量或表达式,或表达式,(2)(2)+和和-的优先级:的优先级:第第2 2级。级。(3)(3)+和和-的结合方的结合方向是向是“自右至自右至左左”。5+(a+b)+不合法不合法嘉应学院杨久红嘉应学院杨久红20102010年末年末第第54张张3.9 赋值运算符和赋值表达式 1.赋值运算符赋值运算符就是“=”作用是执行一次赋值操作如如a=3a=3+c优先级:第14级结合性:右结合性嘉应学院杨久红嘉应学院杨久红20102010年末年末第第55张张整整 型型字字 符符 型型无符号无符号有符号有符号字符字符的的8 8位放位放到整到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 混凝土裂缝修补专项施工方案
- 2025年出生缺陷防控培训试题含答案
- 2025浙江省高考信息技术真题试卷及答案
- 2025年行车司机考试题库及答案
- 2025药学(士)同步练习题及答案
- 2025护理核心制度试题及答案2025
- 2025年试验检测师考试题库及参考答案(典型题)
- 2025版骨质疏松常见症状及护理原则培训
- 血液科再生障碍性贫血靶向治疗
- 小儿尿路感染健康宣教
- 育儿真经知到课后答案智慧树章节测试答案2025年春浙江中医药大学
- 2025年中国甲醇产业现状及发展趋势研究报告(咨询发布)
- 高速公路驾驶员安全培训
- 绿化及林业工程竣工资料表格
- 学生仪容仪表及班风学风整顿 课件
- 胰十二指肠切除术护理个案分享
- 3.1《中国担当》教学设计- 2024-2025学年统编版道德与法治九年级下册
- 抗精神病药所致高泌乳素血症干预对策的专家共识
- 2025年粮油保管员职业技能资格知识考试题(附答案)
- 校园文化内咖啡店的生存之道与未来展望
- 2024年09月2024秋季中国工商银行工银科技校园招聘70人笔试历年参考题库附带答案详解
评论
0/150
提交评论