版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 本章主要学习标识符、关键字、常量、变量、本章主要学习标识符、关键字、常量、变量、数据类型、运算符、表达式、数据类型转换等知识点。数据类型、运算符、表达式、数据类型转换等知识点。数 据 类型运算符及表达式赋值运算符与赋值表达式自增与自减运算符关系运算符与关系表达式数据类型常量与变量标识符、关键字及分隔符条件运算符与条件表达式逗号运算符与逗号表达式长度运算符算术运算符与算术表达式逻辑运算符与逻辑表达式n重点和难点重点和难点n 重点:重点:n (1)变量的定义与运用变量的定义与运用 n(2)各种运算符及表达式的运用各种运算符及表达式的运用 n 难点:难点:n (1)数据类型的转换数据类型的转换 n
2、 (2)自增与自减运算符的运用自增与自减运算符的运用 【例【例3.1】实现输入一个职工的姓名、年龄、工资的程序并输出。】实现输入一个职工的姓名、年龄、工资的程序并输出。 #include main() char employname6; int employage; float employwage; printf(请输入职工姓名:); scanf(%s,employname); printf(请输入职工年龄:); scanf(%d,&employage); printf(请输入职工工资:); scanf(%f,&employwage); printf(“此职工 姓名:%s 年
3、龄:%d 工资:%0.2fn,employname, employage, employwage); n3.2.1标识符、关键字及分隔符标识符、关键字及分隔符n3.2.2数据类型数据类型n3.2.3常量与变量常量与变量1. 标识符标识符C言语中,变量,函数都需求有一个称号,这个言语中,变量,函数都需求有一个称号,这个称号就叫做标识符。称号就叫做标识符。C言语标识符命名规那么:言语标识符命名规那么:1标识符由字母标识符由字母AZ,az、下划线、下划线 _ 、数字数字0- 9组成。组成。2标识符必需以字母标识符必需以字母AZ,az或下划线或下划线 _ 开头。开头。3C言语中标识符严厉区分字母大小写
4、。如:言语中标识符严厉区分字母大小写。如:aB12、Ab12、AB12、ab12是不同的标识符。是不同的标识符。4标识符不能运用标识符不能运用C言语的关键字,如:言语的关键字,如: char、do、for、if、int等。等。用户在定义标识符时还要留意以下几个问题:用户在定义标识符时还要留意以下几个问题:1 1标识符时尽量做到标识符时尽量做到“见名知意。见名知意。2 2标识符的长度不要太长,建议在标识符的长度不要太长,建议在8 8个字符以个字符以内。内。3 3标识符中不能出现全角字符与空格。标识符中不能出现全角字符与空格。以下标识符是不合法的标识符:以下标识符是不合法的标识符:5abc5abc
5、、aa-bbaa-bb、a&ba&b、M.H.ThatcherM.H.Thatcher、a#a#、abab¥、¥、ifif以下标识符的是合法的标识符:以下标识符的是合法的标识符:A123A123、a_123a_123、_123_123、Aa_B029bAa_B029b2. 关键字关键字 关键字是关键字是C言语编译程序本身所规定运用的公用词,它言语编译程序本身所规定运用的公用词,它们有特定的含义。如们有特定的含义。如int用来定义整数类型。一切的用来定义整数类型。一切的C言言语关键字不能用作标识符,关键字必需用小写字母表语关键字不能用作标识符,关键字必需用小写字母表示。示。C言语
6、的关键字如表言语的关键字如表3-1所示。所示。 表表3-1 ANSI C规范规定的关键字规范规定的关键字3. 分隔符分隔符 分隔符用来使编译器确认代码在何处分隔,分隔符用来使编译器确认代码在何处分隔,C言语中分言语中分隔符包括注释符、空白符及普通分隔符。隔符包括注释符、空白符及普通分隔符。1注释符注释符 用用“/*开头以开头以“*/结尾,中间可以写一行或多行内容,结尾,中间可以写一行或多行内容,之间的内容对程序的执行没有任何影响,被编译器忽略。之间的内容对程序的执行没有任何影响,被编译器忽略。在程序中参与注释可添加程序可读性,使程序利于维护在程序中参与注释可添加程序可读性,使程序利于维护与移交
7、。与移交。如:如:int a,b;/*定义了定义了a,b两个变量两个变量*/2空白符空白符 空白符包括空格、回车、换行和制表符空白符包括空格、回车、换行和制表符Tab键符号,键符号,用来分隔程序的各根本成分。一个或多个空白符的作用用来分隔程序的各根本成分。一个或多个空白符的作用完全一样。完全一样。3普通分隔符普通分隔符 普通分隔符的作用也是用来分隔程序的各成分,在程序中有普通分隔符的作用也是用来分隔程序的各成分,在程序中有特定的含义。不能省略。特定的含义。不能省略。表表3-2 C言语的普通分隔符言语的普通分隔符C言语的数据类型分为:言语的数据类型分为:根本数据类型:整型、字符型、实型、空类型。
8、根本数据类型:整型、字符型、实型、空类型。构造类型:构造类型:数组型、构造体型、共用体型、数组型、构造体型、共用体型、枚举类型、指针类型。枚举类型、指针类型。本章主要引见根本数据类型。本章主要引见根本数据类型。 1. 常量常量 在程序执行过程中,值不能发生改动的量称为常量。在程序执行过程中,值不能发生改动的量称为常量。 (1)整型常量整型常量 不含小数的整数值,由数字不含小数的整数值,由数字09组成,前面可加正号组成,前面可加正号“+或或负号负号“-。可采用十进制、八进制、十六进制方式表示。十。可采用十进制、八进制、十六进制方式表示。十进制常量以非进制常量以非0开头后跟多个开头后跟多个09之间
9、的数字,如之间的数字,如351、+78、-98。八进制常量以。八进制常量以0开头后跟多个开头后跟多个07之间的数字,如之间的数字,如0745、-0123、+0351。十六进制常量以。十六进制常量以0和字母和字母x或或X开头后跟多开头后跟多个个09之间的数字或字母之间的数字或字母af之间的小写字母或之间的小写字母或AF之间的大之间的大写字母,如写字母,如0 x456、0X456f、-0X123FF、0 xa4d5、+0 x9abf。下面下面3条语句:条语句: printf(%dn,28); printf(%dn,034); printf(%dn,0 x1c); 输出输出3个个28,这是把,这是把
10、28分别以十进制、八进制、十六进制方式分别以十进制、八进制、十六进制方式表示。表示。 (2)实型常量实型常量C言语中实型常量有两种表示方法:言语中实型常量有两种表示方法: 十进制方式:由数字和小数点组成,且必需有十进制方式:由数字和小数点组成,且必需有小数点,如小数点,如123.0、-0.123、-.369、0.1、0.0。 科学计数法方式:由整数部分、小数点、小数科学计数法方式:由整数部分、小数点、小数部分、部分、e或或E、指数部分组成。要求、指数部分组成。要求e或或E后面指数部分必需为整数,后面指数部分必需为整数,e或或E前要有数前要有数字。如:字。如:0.2468E3、2.468e2、2
11、.468E+2都表示都表示246.8,而,而2.468E2.5、e36、0.236E5.5、E+898为非法表示。为非法表示。(3)字符型常量字符型常量字符常量是用一对单引号括起来的单个字符常量是用一对单引号括起来的单个字符。它是字符。它是ASCII码字符集里的字符。码字符集里的字符。C言语中字符常量的类型是言语中字符常量的类型是char型。型。C言语中字符常量有言语中字符常量有3种表示方法:种表示方法:用单引号括起来的一个用单引号括起来的一个ASCII字符。如:字符。如:a、A、0、=、5、+。直接用该字符的直接用该字符的ASCII码的数值表示一个码的数值表示一个字符常量。如字符常量。如97
12、可表示字符可表示字符a,48可表可表示字符示字符0,10可表示换行符。可表示换行符。用用“后面连一个特定的字母或特定符号后面连一个特定的字母或特定符号或或1到到3位八进制数或位八进制数或1到到2位十六进制数并位十六进制数并用单引号括起,这样的组合又有了其它用单引号括起,这样的组合又有了其它的意义,称之为本义字符。如:的意义,称之为本义字符。如:n、0、104、。#include main() printf(0123456789n); printf(abctdebabcn); printf(abcdearbcden); printf(abcdeanbcden); 程序运转后,屏幕显示:程序运转后
13、,屏幕显示:0123456789abc dabcbcdeeaabcdeabcdePress any key to continue(4)字符串常量字符串常量字符串常量是由双引号括起来的由多个字符组成的字字符串常量是由双引号括起来的由多个字符组成的字符序列。如:符序列。如:“John Wilson、“张三、张三、“A-32_64、“123.456789、“a。留意:不要将字符串常量与字符常量混淆,如下:留意:不要将字符串常量与字符常量混淆,如下:“a与与a是不同的,一个是字符串常量一个是字符常量。是不同的,一个是字符串常量一个是字符常量。注:注:C言语在存储字符串常量时要开辟字符串中字符数言语在
14、存储字符串常量时要开辟字符串中字符数+1的字节的空间,多出的那个字节用来存放的字节的空间,多出的那个字节用来存放0,它用,它用来表示字符串的终了。字符串常量来表示字符串的终了。字符串常量“A6029这个字这个字符串是如下方式存放的:符串是如下方式存放的:因此字符串因此字符串“A6029 在内存中占用在内存中占用6个字节。个字节。 (5)符号常量符号常量在在C言语中可用一个标识符来表示一个常量,有两种运用方法。言语中可用一个标识符来表示一个常量,有两种运用方法。用用#define方式定义符号常量。方式定义符号常量。格式:格式:#define 常量名常量名 常量值常量值如如:#define MAX
15、 10#define MIN 0#define DOLLARtoRMB 6.82652 分别用分别用MAX、MIN、DOLLARtoRMB这三个标识符来替代常量这三个标识符来替代常量10、0、6.82652这三个常量,在程序的运转过程中这三个常量,在程序的运转过程中MAX、MIN、DOLLARtoRMB的值是不能改动的。的值是不能改动的。用用const关键字来定义符号常量关键字来定义符号常量格式:格式:const 数据类型数据类型 常量名常量名 = 常量值常量值如如:const int MAX =10;const int MIN =0;const double DOLLARtoRMB = 6.
16、82652 ;功能与上例同。功能与上例同。2. 变量变量1变量定义格式变量定义格式数据类型数据类型 ;在定义时可以一次定义多个变量。在定义时可以一次定义多个变量。其中:其中:数据类型:可以是表数据类型:可以是表3-4中的某种数据类型。中的某种数据类型。注:编译器不同各别数据类型占用的字节数不一定一样。如:int型在Turboc2.0中占用2个字节16位,而在Visual C+6.0编译器下占用4个字节32位,与long类型一样;long double类型在Turboc2.0中占用10个字节80位,而在Visual C+6.0中占用8个字节64位。(2) 变量的初始化:变量的初始化:C程序中可以
17、在定义变量时为变量赋初值,即变量的程序中可以在定义变量时为变量赋初值,即变量的初始化。同时定义多个变量时,可以只把部分变量初初始化。同时定义多个变量时,可以只把部分变量初始化,如:始化,如:int x,y,z=5;float f1,f2=1.0,f3;假好像时定义多个同种类型的变量并赋同样的初值,假好像时定义多个同种类型的变量并赋同样的初值,可做如下处置:可做如下处置:int a=b=c=5;float f1=f2=f3=1.0;在在C程序中变量的初始化是分两步完成的。如:程序中变量的初始化是分两步完成的。如:int i=8; /*定义变量定义变量i并对其赋初值并对其赋初值8*/相当于执行了如
18、下两条语句:相当于执行了如下两条语句:int i; /*声明变量声明变量i为整数类型为整数类型*/i=8; /*为变量为变量i赋值赋值8*/ #include main()int i=32767; short s=32767;long l=2147483647;unsigned ui=65535; unsigned short us=65535;unsigned long ul=4294967295; char c=c; unsigned char uc=99;float f=0.23f;double d=0.7E-3; long double ld=1.23456789E15;printf(
19、整型变量整型变量 i=%d,i);printf(n短整型变量短整型变量 s=%d,s);printf(n长整型变量长整型变量 l=%ld,l);printf(n无符号整型变量无符号整型变量 ui=%d,ui);printf(n无符号短整型变量无符号短整型变量 us=%d,us);printf(n无符号长整型变量无符号长整型变量 ul=%ld,ul);printf(n字符型变量字符型变量 c=%c,c);printf(n无符号字符型变量无符号字符型变量uc=%c,uc);printf(n单精度浮点型变量单精度浮点型变量 f=%f,f);printf(n双精度浮点型变量双精度浮点型变量 d=%f,
20、d);printf(n长双精度浮点型变量长双精度浮点型变量 ld=%fn,ld);n【例【例3.3】变量声明例如。】变量声明例如。(3)变量类型的转换变量类型的转换自动类型转换自动类型转换自动类型转换需满足两个条件,第一两种类型彼此兼容,自动类型转换需满足两个条件,第一两种类型彼此兼容,第二目的类型的取值范围大于源类型。第二目的类型的取值范围大于源类型。C言语的数据类型的取值范围由小到大的依次为:言语的数据类型的取值范围由小到大的依次为:charshortintlongfloatdoublelong double如:如:int i=5;double x=i;int型变量型变量i自动转换为自动转
21、换为double型并赋值给型并赋值给x。char c=a;int j=c;char型变量型变量c自动转换为自动转换为int型的型的97并赋值给并赋值给j。强迫类型转换当两种类型彼此不兼容或目的类型取值范围小于源类型时,就无法进展自动转换了,这时需求进展强迫转换。强迫转换格式如下:数据类型#include void main() char c;int b;float f=128.6;b=(int)f; c=(char)f; printf( 将将float类型类型f强迫转化为强迫转化为int类型类型b的结果为:的结果为:%d n,b);printf( 将将float类型类型f强迫转化为强迫转化为c
22、har类型类型c的结果为:的结果为:%d n,c);【例【例3.4】强迫转换例如。】强迫转换例如。3.3.1赋值运算符与赋值表达式赋值运算符与赋值表达式3.3.2算术运算符与算术表达式算术运算符与算术表达式3.3.3自增与自减运算符自增与自减运算符3.3.4关系运算符与关系表达式关系运算符与关系表达式3.3.5逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式3.3.6条件运算符与条件表达式条件运算符与条件表达式3.3.7逗号运算符与逗号表达式逗号运算符与逗号表达式3.3.8长度运算符长度运算符n运算符是表示某种操作的符号,在运算符是表示某种操作的符号,在C言语中,言语中,除控制语句和输入输出函数外
23、,其他一切根本除控制语句和输入输出函数外,其他一切根本操作都作为运算符处置。运算符的操作对象称操作都作为运算符处置。运算符的操作对象称为运算数,用运算符把运算数衔接起来的一个为运算数,用运算符把运算数衔接起来的一个有意义的式子就叫做表达式。有意义的式子就叫做表达式。n这里主要引见赋值运算符、算术运算符、关系这里主要引见赋值运算符、算术运算符、关系运算符、条件运算符、逻辑运算符、逗号运算运算符、条件运算符、逻辑运算符、逗号运算符和求字节数运算符及其相应表达式。其它运符和求字节数运算符及其相应表达式。其它运算符在后续章节中学习。算符在后续章节中学习。1. 赋值运算符与赋值表达式赋值运算符与赋值表达
24、式赋值运算符是赋值运算符是“=,作用是将右边的表达式的值赋给,作用是将右边的表达式的值赋给左边的变量,同时赋值表达式的值为左边变量得到的左边的变量,同时赋值表达式的值为左边变量得到的值。如值。如a=5是把数值是把数值5存储到变量存储到变量a所指向的内存单元中,所指向的内存单元中,同时同时a=5这个表达式的值为这个表达式的值为5。赋值运算符的结合方向是赋值运算符的结合方向是“从右至左。如表达式从右至左。如表达式a=b=3+5的计算过程为:先计算的计算过程为:先计算3+5的值为的值为8赋给赋给b,那,那么么b的值为的值为8,又将,又将b=3+5的值的值8赋给变量赋给变量a。C言语中赋值运算符的优先
25、级仅高于逗号运算符,低言语中赋值运算符的优先级仅高于逗号运算符,低于其它运算符。于其它运算符。2. 复合赋值运算符复合赋值运算符在赋值运算符前加上其它运算符号构成复合运算符号。在赋值运算符前加上其它运算符号构成复合运算符号。如:如:+=,-=,*=,/=。在。在C言语中规定可以运用言语中规定可以运用10种复种复合运算符。即:合运算符。即:+=,-=,*=,/=,%=,=,&=,=,| =后后5种是有符合位运算符,将在第种是有符合位运算符,将在第9章引见。章引见。/* 源文件名:源文件名:Li3_5.c功能:复合赋值测试功能:复合赋值测试*/#include void main()int
26、 a=2,b=3,c=5,x=6; printf(x*=a+b+c执行后执行后x值为:值为:%dn, x*=a+b+c );printf(a*=c+=(b+=8)%5执行后执行后a的值为:的值为:%dn, a*=c+= ( b += 8 ) % 5 );printf(执行完以上表达式后执行完以上表达式后 a=%d, b=%d, c=%dn,a,b,c);【例【例3.5】复合赋值例如。】复合赋值例如。3. 赋值表达式中的类型转换规那么赋值表达式中的类型转换规那么1将实型数据赋值给整型变量时,舍弃实数的小将实型数据赋值给整型变量时,舍弃实数的小数点部分。如:数点部分。如:int i=12345.6
27、789;i的值为的值为12345。2将整型数据赋值给实型变量时,数值不变,但将整型数据赋值给实型变量时,数值不变,但以浮点数方式存储到变量中。如:以浮点数方式存储到变量中。如:float f=765;将将765转化为转化为765.0000,再存储到变量,再存储到变量f中。中。3将字符型数据赋给整型变量时,字符型占用将字符型数据赋给整型变量时,字符型占用1个字节即个字节即8位,将字符数据位放到整型变量的低位,将字符数据位放到整型变量的低8位中。整型变量的高位根据字符数据最高位是位中。整型变量的高位根据字符数据最高位是0或或1相应的补相应的补0或或1。4将将int、short、long型数据赋值给
28、型数据赋值给char型变量时,只型变量时,只将低将低8位放到位放到char型变量中。如:型变量中。如:int i=296; char c;c=i;在在Visual C+6.0中,中,int型数据占用型数据占用4个字节,赋值情个字节,赋值情况如图况如图3.1所示:所示: 如:printf(c=%c,c); 输出:c=A printf(c=%d,c); 输出:c=65图图3.11. 算术运算符算术运算符C言语的根本算术运算符有言语的根本算术运算符有5种,分别是:种,分别是:+两数相加或取正值运算,如:两数相加或取正值运算,如:2+3、+5-两数相减或取负值运算,如:两数相减或取负值运算,如:6-3
29、、-2*两数相乘,如:两数相乘,如:2*3/两数相除,如:两数相除,如:6/3值为值为2,7/3值为值为2,当分子分母都为整当分子分母都为整数时结果也为整数,小数部分舍去数时结果也为整数,小数部分舍去%模除运算符或称取余运算符,模除运算符或称取余运算符,%两边的数须是整数两边的数须是整数 如:如:9%5的值为的值为4、6%2的值为的值为02. 算术表达式及运算符的优先级算术表达式及运算符的优先级用算术运算符及括号将运算对象衔接起来,组成一个符合用算术运算符及括号将运算对象衔接起来,组成一个符合C言语语法的式子,这样的式子就是算术表达式。运算言语语法的式子,这样的式子就是算术表达式。运算对象可以
30、是常量、变量、函数,如:对象可以是常量、变量、函数,如:123+a*78%12-65、a+b%c*e+1.5/4都是合法的算术表达式。都是合法的算术表达式。C言语中算术运算符的优先级由高到低依次为:言语中算术运算符的优先级由高到低依次为:括号括号正、负正、负+、-乘、除、取余乘、除、取余*、/、%加、加、减减+、-运算顺序:运算顺序:确定符号后,先算乘除后算加减,有括号先算括号,对于同一级确定符号后,先算乘除后算加减,有括号先算括号,对于同一级运算,那么按从左到右的顺序进展。运算,那么按从左到右的顺序进展。如:如:算术表达式:算术表达式:3+5*6%17+7的计算方法为先算的计算方法为先算3+
31、5为为8,然后,然后8*6为为48,接着计算,接着计算48%17为为14,再计算,再计算14+7值为值为21。3. 各种数值型数据的混合运算各种数值型数据的混合运算在在C言语中可以运用言语中可以运用char、short、int、unsigned、long、float、double、long double这些类型的数据组成表达式进展混合运算,这些类型的数据组成表达式进展混合运算,这就涉及到参与运算的各个操作数详细应转换成什么类型,及结这就涉及到参与运算的各个操作数详细应转换成什么类型,及结果的类型。果的类型。在处置这样的表达式时,首先将参与混合运算的不同数据类型的在处置这样的表达式时,首先将参与
32、混合运算的不同数据类型的数据转换成一样的数据类型再进展运算。数据转换成一样的数据类型再进展运算。 图图3.2中向左的箭头表示一定会发生中向左的箭头表示一定会发生转换,如转换,如char型,型,short型在参与运算型在参与运算时首先转化成时首先转化成int型后再计算。向上的型后再计算。向上的纵向箭头表示数据类型级别的高低,纵向箭头表示数据类型级别的高低,各种不同类型数据转换的方向。如各种不同类型数据转换的方向。如int型与型与float型参与运算,把型参与运算,把int型与型与float型转化为型转化为double型再运算,结果为型再运算,结果为double型。型。如:如:123.456789
33、*32767/a,首先把整型,首先把整型32767转化成转化成double型型进展运算,进展运算,123.456789*32767结果为结果为double型型4045308.605163,再把再把a转化为转化为double型型97.0再进展除法运算,再进展除法运算,4045308.605163/97.0结果为结果为41704.212424。图图3.2自增自增+运算符使变量增运算符使变量增1,自减,自减-运算符使变量减运算符使变量减1。如:如:i+,+i,i-,-i类似类似i=i+1;i=i-1;但又不同。;但又不同。以自增为例:以自增为例:i+;是先获得;是先获得i的值后再使的值后再使i自增自
34、增1,即表达式,即表达式i+的值还是的值还是i的值。的值。+i;是先使;是先使i自增自增1后再获得后再获得i的值,即表达式的值,即表达式+i的值为的值为i自增自增1后的值。后的值。i-与与-i同样如此。同样如此。如:如:int i=1;j=i+ ;/*运用变量之后运用变量之后i的值自增的值自增1变为变为2,此时,此时j的值为的值为1*/j=+i ;/*运用变量之前运用变量之前i的值自增的值自增1变为变为2,此时,此时j的值为的值为2*/自增与自减运算符应留意以下几点:自增与自减运算符应留意以下几点:1自增与自减只能是对变量进展操作,不能对常量和表达式进展自自增与自减只能是对变量进展操作,不能对
35、常量和表达式进展自增自减,如:增自减,如: 8-、x*y+是错误的。是错误的。2自增自减的结合方向是由自增自减的结合方向是由“自右到左,与算术表达式的结合顺序自右到左,与算术表达式的结合顺序不同。不同。3一个变量在一个表达式中出现两次或两次以上,不宜运用自增或一个变量在一个表达式中出现两次或两次以上,不宜运用自增或自减运算。否那么在不同的编译器下执行的顺序不同易出现结果不同自减运算。否那么在不同的编译器下执行的顺序不同易出现结果不同的情况。的情况。关系运算实践上就是比较运算,是将两个值进展比较,判别比较的关系运算实践上就是比较运算,是将两个值进展比较,判别比较的结果能否符合给定的条件,如满足表
36、达式结果为结果能否符合给定的条件,如满足表达式结果为“真,不满足真,不满足表达式结果为表达式结果为“假。假。1关系运算符关系运算符大于、大于、=大于等于、大于等于、=小于等于、小于等于、 = =等于、等于、!=不等不等留意:关系表达式等于号留意:关系表达式等于号“= =不同于不同于“=,后者是赋值运算符。,后者是赋值运算符。其中前四种关系运算符其中前四种关系运算符、=、9、a= =97、56(a b)、a0这这5个关系表达式的值分别为:个关系表达式的值分别为:0、1、1、0、1又如:又如:x=3,y=5,z=8,那么:,那么:关系表达式:关系表达式:xy的值为的值为0,zyx的值为的值为0因因
37、其等价于其等价于zyx,zy的值为的值为1,同时,同时1x的的值为值为0,故表达式的为,故表达式的为0,z= =x+y的值为的值为1因算术运算符因算术运算符+的优先级的高于关系运算符的优先级的高于关系运算符= =,所以此表达式等价于,所以此表达式等价于z= =x+y,x+y的的值值8与与z的值相等,故表达式的值为的值相等,故表达式的值为1。关系运算处理较简单的条件判别,对于较复杂的判别可关系运算处理较简单的条件判别,对于较复杂的判别可以用逻辑运算来完成。以用逻辑运算来完成。1逻辑运算符逻辑运算符&逻辑与、逻辑与、|逻辑或、!逻辑非逻辑或、!逻辑非其中前两种逻辑运算符其中前两种逻辑运算符
38、&、|是双目运算符,后是双目运算符,后面的逻辑运算符面的逻辑运算符!是单目运算符。逻辑运算符在一是单目运算符。逻辑运算符在一切运算符中优先级如图切运算符中优先级如图3.3。逻辑运算符的优先级:逻辑运算符的优先级:图图3.32逻辑表达式逻辑表达式用逻辑运算符将符合用逻辑运算符将符合C言语的表达式衔接起来言语的表达式衔接起来的式子称为逻辑表达式。逻辑表达式的结果的式子称为逻辑表达式。逻辑表达式的结果亦为亦为“真或真或“假,在假,在C言语中逻辑表达式的言语中逻辑表达式的结果以数值结果以数值1代表代表“真,数值真,数值0代表代表“假。假。“:?为条件运算符。条件运算符有:?为条件运算符。条件运
39、算符有3个操个操作数,是作数,是C言语中独一的三目运算符。由言语中独一的三目运算符。由其衔接的表达式为条件表达式。格式如下:其衔接的表达式为条件表达式。格式如下:?:其中:其中:表达式表达式1:是一个关系表达式或逻辑表达式,:是一个关系表达式或逻辑表达式,用作判别条件。用作判别条件。表达式表达式2:是一个合法的:是一个合法的C言语表达式。言语表达式。表达式表达式3:也是一个合法的:也是一个合法的C言语表达式。言语表达式。C言语中可用逗号言语中可用逗号“,运算符把合法的表达式衔接起来构成逗,运算符把合法的表达式衔接起来构成逗号表达式。号表达式。格式为:格式为:表达式表达式1,表达式,表达式2,表
40、达式表达式n阐明:阐明:1逗号运算符是逗号运算符是C言语中优先级最低的运算符。言语中优先级最低的运算符。2结合方向是结合方向是“从左至右,即先计算表达式从左至右,即先计算表达式1,再计算表达式,再计算表达式2最后计算表达式最后计算表达式n,逗号表达式的值为最右侧表达式即表,逗号表达式的值为最右侧表达式即表达式达式n的值。的值。#includemain()int x=2, y=3,z=5,a=1,b=2,c=3;a=b+,c+; printf(a=%d,b=%d,c=%dn,a,b,c);x+=(y+,z*=y);printf(x=%d,y=%d,z=%dn,x,y,z);【例【例3.6】逗】逗号表达式运号表达式运用例如。用例如。求字节运算符用来计算各种数据类型的数据占用的字节数,求字节运算符用来计算各种数据类型的数据占用的字节数,用用sizeof()来实现。来实现。运用格式:运用格式:sizeof(数据类型数据类型);sizeof(变量变量);如:在如:在Visual C+6.0中中sizeof(i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 弯道超车复习法|一年级数学单位换算暑假高效提分全套课件
- 掌握高分逻辑|小学心理健康情绪管理指导课
- 暑假纠错特训|高中历史人文主义思想发展易混知识点深度辨析复习课
- 学校校企合作制度
- 学校食堂备餐管理制度
- 学校教师作业批改制度
- 学生社会实践告知书
- 监理日志管理制度细则
- 甘肃省陇南市第一中学2025-2026学年高二下学期7月期末考试物理试题含答案
- 冬至包饺子冬天来了呀
- 2026年北京市中考英语试卷真题(含答案及解析)
- 2026 年注塑车间主管上半年述职报告
- 《知行合一投资赢家》培训心得
- 《城市经济学》各章-练习题及参考答案
- GB/T 5537-2008粮油检验磷脂含量的测定
- 精品课程《人文地理学》完整版
- 三、卫生行政处罚程序课件
- 中医内科学-心衰课件
- 住建部施工临时用电安全管理培训
- 加工中心点检表
- 教学web上机实验指导书
评论
0/150
提交评论