1、第第 2章章 基本数据类型、运算符与表达式基本数据类型、运算符与表达式 2.1 C C语言的数据类型语言的数据类型 2.2 常量与变量常量与变量 2.3 整型数据整型数据 2.4 实型数据实型数据 2.5 字符型数据字符型数据 2.6 各类数据混合运算各类数据混合运算 2.7 C C语言的运算符与表达式语言的运算符与表达式 2.8 运算符的优先级及其结合性运算符的优先级及其结合性 Return本章学习目标本章学习目标q熟悉熟悉C C语言的数据分类语言的数据分类q掌握常量的表示方法与变量赋初值的方法掌握常量的表示方法与变量赋初值的方法q掌握不同类型数据间的混合运算掌握不同类型数据间的混合运算q掌
2、握基本运算符及其表达式的使用掌握基本运算符及其表达式的使用第第 2章章 基本数据类型、运算符与表达式基本数据类型、运算符与表达式 Return本章学习目标本章学习目标q先做好预习先做好预习q认真听课认真听课q自己上机练习实践自己上机练习实践q多用多记多用多记q在后续内容学习中重复巩固在后续内容学习中重复巩固2.1 C C语言的数据类型语言的数据类型 C语言提供了以下一些主要数据类型:说明:说明:C语言为每个类型定义了一个标识符,称为类型名。例如:整型用int标识、字符型用char标识等。一个类型名由一个或几个关键字组成,仅用于说明数据属于哪一种类型。对于基本数据类型,按取值是否可改变分为常量和
3、变量两种。在程序执行过程中,其值不发生改变的量称为常量,取值可变的量称为变量。它们可与数据类型结合起来分类。例如,可分为整型常量、整型变量、字符常量、字符变量等。在程序中,常量是可以不经过说明而直接引用的,而变量则必须先说明后使用。Return在在在在程程程程序序序序运运运运行行行行中中中中,其其其其值值值值不不不不改改改改变变变变的的的的量量量量称称称称为为为为常常常常量量量量。常常常常量量量量区区区区分为不同的类型,如:分为不同的类型,如:分为不同的类型,如:分为不同的类型,如:5、0、-7为整型常量3.2、-4.68为实型常量a、f为字符常量常量从字面形式即可判别。也可用一个标识符代表一
4、个常量,称为符号常量。习惯上,符号常量名用大写,变量名用小写字母表示,以示区别,例如:#define PI 3.14159262.2 常量与变量常量与变量 Return2.2.1 常量常量【例2-1】符号常量的使用。已知圆半径为r,求圆周长c和圆面积s的值。#define PI 3.1415926main()float r,c,s;scanf(“%f”,&r);c=2*PI*r;s=PI*r*r;printf(“c=%6.2f,s=%6.2fn”,c,s);在该程序中,用#define命令行定义PI,PI为定义的符号常量代表3.1415926,此后凡在程序中出现的PI都代表3.1415926。
5、f表示以小数或者指数形式输入实型数据从上面的例子可以看出使用符号常量的好处:一是含义清楚、见名知意。一是含义清楚、见名知意。看程序时从看程序时从PIPI就可以知道它代表圆周率;就可以知道它代表圆周率;二是修改方便,一改全改。二是修改方便,一改全改。如要如要“#define PI 3.1415927#define PI 3.1415927”,则在程序,则在程序中中 所有出现所有出现PIPI的地方值全部改为的地方值全部改为3.14159273.1415927。Return在程序运行时其值可以改变的量称为变量。变量是由变量名、变量值和存储单元组成的。2.2.2 变量变量 1 1变量名的命名规则变量名
6、的命名规则:u变量名用标识符表示。在C语言中,用来对变量、符号常量、函数、数组等数据对象命名的有效字符序列统称为标识符。uC语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须是字母或下划线。下面列出的是合法的标识符,可作为变量名:下面列出的是合法的标识符,可作为变量名:abc,sum,f4,student_1下面是不合法的标识符:下面是不合法的标识符:8h 以数字开头-5 以减号开头A*出现非法字符*xy 出现非法字符在使用标识符时须注意以下几点:(1)建议变量名的长度最好不要超过8个字符。(2)标识符大小写是有区别的。(3)标识符命名时应尽量有相应的含义,增加程序的可读性。
7、2 2变量的定义变量的定义 在C语言中,要求对所有用到的变量必须先定义。定义格式:类型说明符 变量1,变量2,;其中,类型说明符是C语言中的一个有效的数据类型,如整型类型说明符int、字符型类型说明符char等。例如:int a,b,c;char cc;在C语言中,要求对所有用到的变量作强制定义,也就是“先定义,后使用”。Return2.3.1 整型常量整型常量2.3 整型数据整型数据 Return整型常量即整常数。C语言中的整常数可用以下3种形式表示:(1)十进制整常数。十进制整常数没有十进制整常数没有前缀前缀,其数码为,其数码为0909。如:如:123123、-234-234、0 0(2)
8、八进制整常数。八进制整常数以八进制整常数以数字数字0 0作为前缀作为前缀。如:如:01230123、-0234-0234,后面只能是有效的八进制数字,后面只能是有效的八进制数字0707,若写成,若写成0909就错了。就错了。(3)十六进制整常数。十六进制整常数的十六进制整常数的前缀为前缀为0X0X或或0 x0 x。其数码取值为。其数码取值为0909,AFAF或或afaf。如:如:0 x19A0 x19A、-0 x2f-0 x2f。2.3.2 整型变量整型变量 1.1.整型数据在内存中的存放形式整型数据在内存中的存放形式整型数据在内存中是以二进制形式存放的。整型数据在内存中是以二进制形式存放的。
9、例如,定义了一个整型变量a:int a;/*int a;/*定义定义a a为整型变量为整型变量*/a=25;/*a=25;/*给给a a赋以整数赋以整数25*/25*/十进制数十进制数2525的二进制形式为的二进制形式为1100111001,Turbo C 2.0Turbo C 2.0和和Turbo Turbo C+3.0C+3.0为一个整型变量在内存中分配为一个整型变量在内存中分配2 2个字节的存储单元个字节的存储单元(不同的编译系统为整型数据分配的字节数是不相同的),(不同的编译系统为整型数据分配的字节数是不相同的),在这里我们假定每一个整型变量在内存中占在这里我们假定每一个整型变量在内存
10、中占2 2个字节。个字节。2.3.2 整型变量整型变量 1个字节(个字节(Byte):由由8个二进制位(个二进制位(bit)构成)构成.每一个字节有一个地址每一个字节有一个地址 2.2.整型变量的分类整型变量的分类整型变量的基本类型符为int。可以根据数值的范围将变量定义为基本整型、短整型或长整型。有以下3类整型变量:基本整型,以int表示。短整型,以short int表示。长整型,以 long int表示。整数(Integer)在在intint前可以加上以下类型修饰符,前可以加上以下类型修饰符,用来改变和扩充基本类型的含义:用来改变和扩充基本类型的含义:long 长short 短signed
11、 有符号unsigned 无符号这些修饰符与这些修饰符与intint可以组合成以下可以组合成以下6 6种整种整型变量。即:型变量。即:有符号的基本整型 signed int 无符号的基本整型 unsigned int 有符号的短整型 signed short int 无符号的短整型 unsigned short int 有符号的长整型 signed long int 无符号的长整型 unsigned long int 上面的方括号表示其中的内容是可选的。上面的方括号表示其中的内容是可选的。【例2-2】下图保存了整数14的各种整型数据类型。字节(Byte):通常将可表示常用英文字符8位二进制称为
12、一字节。u字节(Byte):通常将可表示常用英文字符8位二进制称为一字节位:一位二进制数为一位。3.3.整型变量的定义整型变量的定义在C语言程序中所有用到的变量都必须在程序中定义。格式:格式:数据类型名数据类型名 变量名;变量名;【例2-3】变量的定义与使用。/*exam2_3*/main()int a,b,c,sum;/*定义整型变量a、b、c、sum*/a=3,b=-4,c=9;/*a、b、c分别赋初值*/sum=a+b+c;/*求a、b、c的和赋给变量sum*/printf(“nsum=%d”,sum);/*换行输出变量sum的值*/程序运行结果:sum=8演示4.4.整型数据的溢出整型
13、数据的溢出一个一个一个一个intintintint型变量的最大允许值为型变量的最大允许值为型变量的最大允许值为型变量的最大允许值为32767327673276732767,如果,如果,如果,如果再加再加再加再加1 1 1 1,那么结果会是什么样的呢?我们看,那么结果会是什么样的呢?我们看,那么结果会是什么样的呢?我们看,那么结果会是什么样的呢?我们看下面这个例子。下面这个例子。下面这个例子。下面这个例子。【例例2-42-4】整型数据的溢出。整型数据的溢出。/*exam2_4*/main()int a,b;a=32767;b=a+1;printf(na=%d,a+1=%dn,a,b);a=-32
14、768;b=a-1;printf(na=%d,a-1=%dn,a,b);程序运行结果:a=32767,a+1=-32768a=-32768,a-1=32767演示 可以认为是时钟循环可以认为是时钟循环5.5.整型常量的类型整型常量的类型(1)一个整数如果其值在-3276832767范围内,则认为是int型,可以赋给int型和long int型变量。(2)一个整数如果其值超过了上述范围,在-21474836482147483647内,则认为是long int型,可赋给long int型变量。(3)如果所使用的C语言版本确定short int和int型数据在内存中占据长度相同,则其表示范围与int
15、型相同。因此一个int型的常量也同时是一个short int型常量,可以赋给int型或short int型变量。(4)常量中无unsigned型,但可以将一个非负值且在取值范围内的整数赋给unsigned型变量。(5)在一个整常量后面加一个字母l或L,则认为是long int型常量。2.4 实型数据实型数据1 1实型常量的表示方法实型常量的表示方法2.4.1 实型常量实型常量C语言中的实数(浮点数)有两种表示形式:(1)十进制小数形式 由数字09和小数点和正负号组成(必须有小数点)。(2)指数形式 也称为科学计数法,以幂的形式表示,以字母e或E后跟一个以10为底的幂数。其一般形式为:aeb,表
16、示a10b,其中a是十进制数,可以是整数或是小数,字母e或E之前必须要有数字,且字母e或E后面的指数b必须为整数,字母e或E的前后及数字之间不得有空格。Return2 2实型常量的类型实型常量的类型 许多C编译系统将实型常量作为双精度实数来处理。这样可以保证较高的精度,缺点是运算速度降低(Win-TC是)。可以在实数的后面加字符f或F,如1.65f、654.87F,使编译系统按单精度处理实数。实型常量可以赋值给一个float、double、long double型变量。根据变量的类型截取实型常量中相应的有效数字。【例2-52-5】显示个人微机上不同类型变量所占的字节数。显示个人微机上不同类型变
17、量所占的字节数。/*exam2_5*/#include main()printf(“the bytes of the variables are:n”);printf(“int:%d bytesn”,sizeof(int);printf(“char:%d bytesn”,sizeof(char);printf(“short:%d bytesn”,sizeof(short);printf(“long:%d bytesn”,sizeof(long);printf(“float:%d bytesn”,sizeof(float);printf(“double:%d bytesn”,sizeof(dou
18、ble);printf(“long double:%d bytesn”,sizeof(long double);程序运行结果:the bytes of the variables are:int:2 byteschar:1 bytesshort:2 byteslong:4 bytesfloat:4 bytesdouble:8 byteslong double:10 bytes演示1 1实型数据在内存中的存放形式实型数据在内存中的存放形式 2.4.2 实型变量实型变量 一个实型数据一般在内存中占4个字节(32位)。与整数存储方式不同,实型数据是按照指数形式存储的。系统将实型数据分为小数部分和指数
19、部分,分别存放。2.2.实型变量的分类实型变量的分类 语言的实型变量,分为两种:(1)单精度型。类型关键字为float,一般占字节(32位)、提供位有效数字(小数后面6位小数)。(2)双精度型。类型关键字为double,一般占个字节、提供1516位有效数字。3 3实型数据的舍入误差实型数据的舍入误差 实型变量是由有限的存储单元组成的,因此提供的有效数字总是有限的。在有效位以外的数字将被舍去。由此可能会产生一些误差。【例2-6】实型数据的舍入误差。/*exam2_6*/main()float x,y;x=123456.789e5;y=x+20;printf(x=%f,y=%fn,x,y);程序运
20、行结果:x=12345678848.000000,y=12345678848.000000 演示【例2-7】实型数据的定义和使用。/*exam2_7*/main()float x;double y;x=123456.1234;y=123456.1234;printf(“x=%f,y=%lfn”,x,y);程序运行结果:x=123456.125000,y=123456.123400演示u字符型常量是用一对单引号()即撇号括起来的一个字符一个字符。只能用单引号括起来,不能用双引号或其它括号。u字符常量只能是单个字符,不能是字符串。注意:a和A是不同的字符常量。例如:d,R,=,$,?等都是合法字符
21、常量。小结小结:“双单双单”2.52.5 字符型数据字符型数据 2.5.1 2.5.1 字符常量字符常量1.1.定义定义Return2.2.转义字符转义字符 转义字符是一种特殊的字符常量,是以反斜杠开头的字符序列。【例2-8】转义字符的使用。转义字符的使用。/*exam2_8*/main()printf(“x4Fx4B”);OK程序运行结果为:演示1.变量值的存储变量值的存储2.5.2 字符变量字符变量字符变量的定义形式如下:char a1,a2;它表示a1和a2为字符型变量,各可以放一个字符,因此在本函数中可以用下面语句对a1、a2赋值:a1=x;a2=y;2.2.特性特性(1)一个字符型数
22、据,既可以字符形式输出,也可以整数形式输出。(2)允许对字符数据进行算术运算,此时就是对它们的ASCII码值进行算术运算。/*exam2_10*/main()char ch1,ch2;ch1=a;ch2=b;printf(“ch1=%c,ch2=%cn”,ch1,ch2);printf(“ch1=%d,ch2=%dn”,ch1,ch2);【例2-10】用字符形式和整数形式输出字符变量。程序运行结果:ch1=a,ch2=b ch1=97,ch2=98 演示【例2-11】字符数据的算术运算。字符数据的算术运算。/*exam2_11*/main()char ch1,ch2;ch1=a;ch2=B;p
23、rintf(“ch1=%c,ch2=%cn”,ch1-32,ch2+32);/*字母的大小写转换*/程序运行结果:ch1=A,ch2=b演示2.5.3 字符串常量字符串常量1.1.字符串常量的概念和字符串长度字符串常量的概念和字符串长度u字符串常量是用一对双引号“”括起来的若干字符序列。这里的双引号仅起到字符串常量边界符的作用,它并不是字符串常量的一部分。u字符串中字符的个数称为字符串长度。长度为0的字符串(即一个字符都没有的字符串)称为空串,表示为“”(一对紧连的双引号)。2.2.字符串的存储字符串的存储 C语言规定:在存储字符串常量时,由系统在字符串的末尾自动加一个0作为字符串的结束标志。
24、如有一个字符串为“CHINA”,则它在内存中的 实际存储如下图所示:(存储长度为6)CHINA0Return2.6 各类数据混合运算各类数据混合运算 u整型、实型、字符型数据之间可以混合运算。u运算规则:不同类型的数据先转换成同一类型,然后进行计算。u转换方法:自动转换(隐式转换)、强制转换。Return1.1.自动转换(隐式转换)自动转换(隐式转换)自动转换发生在不同类型数据进行混合运自动转换发生在不同类型数据进行混合运算时,由编译系统自动完成。算时,由编译系统自动完成。自动转换规则:自动转换规则:类型不同,先转换为同一类型不同,先转换为同一类型,然后进行运算。类型,然后进行运算。(1 1)
25、图中纵向的箭头表示当运算对象为不同图中纵向的箭头表示当运算对象为不同类型时转换的方向。类型时转换的方向。(2 2)图中横向向左的箭头表示必定的转换。图中横向向左的箭头表示必定的转换。2.2.强制转换:通过类型转换运算来实现。强制转换:通过类型转换运算来实现。u格式:(类型说明符)表达式u功能:把表达式的结果强制转换为类型说明符所表示的类型。例如:(double)a /*将变量a的值转换成double型*/(int)(x+y)/*将x+y的结果转换成int型*/【例2-12】强制类型转换。/*exam2_12*/main()float x;int i;x=3.6;i=(int)x;printf(
26、“x=%f,i=%d”,x,i);程序运行结果:x=3.600000,i=3 x的类型仍为float型,值仍等于3.6。演示2.7 C C语言的运算符与表达式语言的运算符与表达式u运算符:表示各种运算的符号。u表达式:使用运算符将常量、变量、函数连接起来的式子。u算术运算符 (+-*/%+-)u关系运算符 (=!=)u逻辑运算符 (!&|)u位运算符 (|&)u赋值运算符 (=及其扩展赋值运算符)u条件运算符 (?:)u逗号运算符 (,)u指针运算符 (*&)u求字节数运算符 (sizeof)u强制类型转换运算符 (类型)u分量运算符 (.-)u下标运算符 ()u其它 (如函数调用运算符())
27、C语言的运算符有以下几类:C语言有以下类型的表达式:u赋值表达式,如:a=1u算术表达式,如:1*2+3/4.5u关系表达式,如:47u逻辑表达式,如:84&ab?a:bu逗号表达式,如:a=1,b=2,c=3u位表达式,如:0&1=0,1|1=1,10=12.7.1 算术运算符和算术表达式算术运算符和算术表达式1.算术运算符C语言提供的算术运算符及功能如下:u+加法运算符或正值运算符。如31+18,+2。u-减法运算符或负值运算符。如6-3,21+(-57)。u*乘法运算符。如4*1.9。u/除法运算符。如5/3。u%模运算符或称取余运算符,要求%的两边必须为整型数据。如123%15,2%7
28、都是正确的,而25%1.5,12.0%6.0都是错误的表示。2.算术表达式 用算术运算符和括号将数据对象连接起来的式子,称为算术表达式。运算对象包括常量、变量、函数等。例如:3+6*9 (x+y)/2-a a*b+c-1.5+a 都是算术表达式。算术运算符的结合方向为“自左至右”。【例2-13】将将430430分钟换算成小时和分钟表示,然后输出。分钟换算成小时和分钟表示,然后输出。/*exam2_13*/main()int i,h,m;i=430;h=i/60;m=i-60*h;printf(“n%d minutes:%d hour%d minutes”,i,h,m);程序运行结果:430 m
29、inutes:7 hour 10 minutes演示【例2-14】求表达式2+d-10的值。(设a=64,d=6)/*exam2_14*/#include /*调用标准数学函数,注意添加注意添加*/main()float a,d,s;a=64,d=6;s=2*sqrt(a)+d-10;printf(“n%6.2f”,s);程序运行结果:12.00 演示2.7.2 自增与自减运算符自增与自减运算符1.功能 自增运算符+的作用是使变量的值增,自减运算符-的作用是使变量的值减。2.用法与运算规则 自增、自减运算符都有两种用法:(1)前置运算运算符放在变量之前:变量、变量(2)后置运算运算符放在变量之
30、后:变量、变量【例2-16】自增、自减运算符的用法。自增、自减运算符的用法。/*exam2_16*/main()int x=6,y;printf(x=%dn,x);/*输出x的初值*/y=+x;/*前置运算*/printf(y=+x:x=%d,y=%dn,x,y);y=x-;/*后置运算*/printf(y=x-:x=%d,y=%dn,x,y);程序运行结果:x=6y=+x:x=7,y=7y=x-:x=6,y=7 演示 注意:在表达式中,连续使同一变量进行自增或自减运算时,很容易出错,所以最好避免这种用法。Return2.7.3 赋值运算符和赋值表达式赋值运算符和赋值表达式1.赋值运算符 赋值
31、运算符为“=”,它的作用是将一个数据赋给一个变量。转换原则:先将赋值号右边表达式类型转换为左边变量的类型,然后赋值。【例2-17】赋值运算中类型转换的规则。/*exam2_17*/main()int i=5;/*说明整型变量i并初始化为5*/float a=3.5,a1;/*说明实型变量a和a1并初始化a*/double b=123456789.123456789;/*说明双精度型变量b并初始化*/char c=A;/*说明字符变量c并初始化为A*/printf(i=%d,a=%f,b=%f,c=%cn,i,a,b,c);/*输出i,a,b,c的初始值*/a1=i;i=a;a=b;c=i;/*
32、整型变量i的值赋值给实型变量a1*/*实型变量a的值赋给整型变量i*/*双精度型变量b的值赋值给实型变量a*/*整型变量i的值赋值给字符变量c*/printf(i=%d,a=%f,a1=%f,c=%cn,i,a,a1,c);/*输出i,a,a1,c赋值以后的值*/程序运行结果:i=5,a=3.500000,b=123456789.123457,c=Ai=3,a=123456792.000000,a1=5.000000,c=演示2.复合的赋值运算符 在赋值符“=”前加上某些运算符,可以构成复合赋值运算符。即+=,-=,*=,/=,%=,=,&=,|=,=(共10种)复合赋值运算符均为双目运算符,
33、右结合性。功能:对变量名和表达式进行复合赋值运算符所规定的运算,并将运算结果赋值给复合赋值运算符左边的变量名。2.复合的赋值运算符#include stdio.hmain()int a=2,b=4,c=6,d=3;a+=b*d;b-=c/d;printf(%d,%d,%d,%dn,a,b,c*=2*a,d%=c);getch();2.复合的赋值运算符 在赋值符“=”前加上某些运算符,可以构成复合赋值运算符。即+=,-=,*=,/=,%=,=,&=,|=,=(共10种)复合赋值运算符均为双目运算符,右结合性。功能:对变量名和表达式进行复合赋值运算符所规定的运算,并将运算结果赋值给复合赋值运算符左
34、边的变量名。3.赋值表达式 赋值表达式:由赋值运算符组成的表达式称为赋值表达式。赋值表达式一般形式:变量名 赋值运算符 表达式赋值的含义:将赋值运算符右边的表达式的值存放到左边变量名标识的存储单元中。例如:a=5+b;执行赋值运算,将5+b的值赋给变量a,同时整个表达式的值就是刚才所赋的值。赋值运算符的功能:一是计算,二是赋值。Return2.7.4 关系运算符及其表达式关系运算符及其表达式1.关系运算符C语言提供了6种关系运算符:u大于u=大于或等于u=等于u!=不等于2.关系表达式用关系运算符将两个操作数连接起来的合法的C语言式子,称为关系表达式。例如,关系表达式”1=2”的值为“假”,“
35、43”的值为“真”。在C语言中以0表示逻辑假,以1表示逻辑真。当输出结果为逻辑真时,显示1;当输出结果为逻辑假,显示0。Return2.关系表达式#include stdio.hmain()int a,b,c,x=17,y=16,z=13;a=xyz;b=-x-y=z;c=x=y;printf(nx=%d,y=%d,z=%dn,x,y,z);printf(na=%d,b=%d,c=%dn,a,b,c);getch();Return2.7.5 逻辑运算符及其表达式逻辑运算符及其表达式1.逻辑运算符C语言提供三种逻辑运算符:u|逻辑或(相当于“OR”)u&逻辑与(相当于“AND”)u!逻辑非(相当
36、于“NOT”)逻辑运算符的运算规则:&:当且仅当两个运算量的值都为“真”时,运算结果为“真”,否则为“假”。u|:当且仅当两个运算量的值都为“假”时,运算结果为“假”,否则为“真”。u!:当运算量的值为“真”时,运算结果为“假”;当运算量的值为“假”时,运算结果为“真”。uC语言中的“或”符号怎么输入:shift+逻辑运算符的优先级:“逻辑非”的优先级最高“逻辑与”次之“逻辑或”最低“与数字电路一致”2.逻辑表达式 逻辑表达式是指用逻辑运算符将1个或多个表达式连接起来,进行逻辑运算的式子。在C语言中,用逻辑表达式表示多个条件的组合。注意:判断一个数据的“真”和“假时”,以“0”和“非0”为依据
37、。Return2.逻辑表达式#include stdio.h#include string.h#include math.hmain()int a,b,c;scanf(%d,%d,%d,&a,&b,&c);printf(%dn,a&b);printf(%dn,!(a=b);printf(%dn,a|b+c&b-c);printf(%dn,!(ab)&!c|1);getch();Return2.7.6 逗号运算符逗号运算符(,)及其表达式及其表达式u逗号运算符的结合方向是“从左向右”,它的优先级是所有运算符中最低的。u用逗号运算符连接起来的表达式称为逗号表达式。u它的一般形式为:表达式1,表达式
38、2,表达式nu逗号表达式的运算过程是:先算表达式1,再算表达式2,依次计算直到表达式n。整个逗号表达式的值是表达式n的值。2.7.7 位运算符及其表达式位运算符及其表达式u位运算符是位运算使用的运算符;位运算是指针对二进制位进行的运算。C语言提供以下6种位运算符:关系运算符含义&按位与|按位或按位异或按位取反右移位位运算符优先级别:u 高 uu&uu|低Return 提示:符号 是英文状态下 shift+6 2.8 2.8 运算符的优先级及其结合性运算符的优先级及其结合性1.运算符的优先级 一般而言,单目运算符优先级较高,赋值运算符优先级低,算术运算符优先级较高。2.运算符的结合性 多数运算符具有左结合性,单目运算符、赋值运算符和复合赋值运算符为右结合性。Returnu作业与实验u作业:习题二 u上机操作:实验二Return