自考C语言课件加上机指导.doc_第1页
自考C语言课件加上机指导.doc_第2页
自考C语言课件加上机指导.doc_第3页
自考C语言课件加上机指导.doc_第4页
自考C语言课件加上机指导.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

第3章基本数据类型、运算符和表达式1 C语言的数据类型 1数据类型的含义 P20是指数据的内在表现形式。通俗地说,它是数据在加工计算中的特征。如职工的年龄和工资都可以进行加、减等算术运算,具有一般数值的特点,在C语言中称数值型。其中年龄是整数称整型;工资一般为实数,可含有小数部分,称为实型。2C语言的数据类型 P203非基本数据类型的说明 P21构造型是指由若干相关的基本类型数据组合在一起形成的一种复杂的数据类型。其中,数组是由相同类型的数据组合而成,而结构可以由不同数据类型组合而成。指针型是一种特殊的数据类型,它是用来表示内存地址的。空类型表示该处不需要数据值,因而没有类型。2 常量l 常量的定义: P21又叫常数,它是程序运行过程中其值不改变的数据。l 常量的类型: P21 整型常量、实型常量、字符常量、字符串常量。21 整型常量 P211三种整型常量:正整数、负整数和0。2三种书写形式:十进制整数:是通常整数的写法。如0、-111、+15、21等;八进制整数:在八进制数的前面加一个数字0。如00、-0111、+015、021等;十六进制整数:在十六进制数前加数字0和x(0x)。如0x0、-0x111、+0x15、0x21等。3. 长整数常量数值范围及写法 P21-P22数值范围是十进制的-2147483648+2147483647,在计算机中占4个字节。写法是在整数的末尾加小写字母“l”或大写字母“L”。如0L、-0111L、+0x15L等。22 实型常量 P221两种书写形式一般形式的实数:如-3.1415;指数形式的实数:如3.14E3。2占用的字节数及数值的范围 在一般的微型机中占用4个字节,数值的范围都是-10381038,有效数字是7位。23 字符常量 P221表示方式用两个单引号()前后括住的单个字符。如a、1、%、A都是字符常量。用转义符组成字符常量。如n(回车换行)、r(回车)、101(A)、x41(A)等。2规则字母是区分大小写的;在内存中,每个字符常量都占用一个字节,存放字符对应的ASCII代码值。一个字符常量也可以看成是整型常量,其值就是该字符的ASCII代码值;若整型常量数值在0127之间,也可以将其看成一个字符型常量,是该值作为ASSII代码对应的字符。24 字符串常量 P231含义 简称字符串,是用两个双引号(”)前后括住的一串字符。如”abc”、”1234567890”、”aAbBcCdD”都是字符串。2规则转义字符串也可以出现在字符串中。如”101102x43x44”是字符串”ABCD”;在字符串中使用双引号必须用转义字符“”;如字符串”ABCD”应写成 ”BACD”;没有字符的字符串称为“空字符串”,如”;一个字符串所有字符的个数称为该字符串的长度,其中每个转义字符只当作一个字符,如”101102x43x44” 是字符串”ABCD”,其长度为4;每个字符串在内存中占用的字节数等于字符串的长度+1,其中最后一个字节存放转义字符“0”,作为字符串的结束标记。25 符号常量 P231含义是常量的另一种表示方法。为了在程序中能明确看出某些常量所表达的含义,可以给常量取一个容易识别的名字。C编译程序将在程序编译前将所有的符号常量替换成对应的常量。2定义方法 #define 符号常量名 常量如#define PI 3.143规则应按标识符的规则构成。建议用大写字母组成符号常量;定义一般放在程序的开头;每个定义必须独占一行,其后不跟分号“;”。4好处修改程序方便;如要提高PI的精度可在程序的开头修改宏定义即可#define PI 3.14159,无需修改程序其他地方。为阅读程序提供了方便。如表达式2*PI*R的含义很明确。26 宏定义命令 P241一般格式 #define 宏名 一串符号2宏调用 在程序清单中可以出现已经定义过的宏名,称为宏调用。3宏替换 当对源程序清单进行编译之前,将把所有的“宏名”替换成对应的“一串符号”,称为宏替换。4嵌套宏定义在定义宏时,其中的“一串符号”还可以包含已经定义过的宏名。例:#define PI 3.14159 #define R2 (2+3)则“2*PI*R2”被替换成“2*3.14159*(2+3)”3 变量l 变量的含义:P25在程序运行过程中其值可以发生变化的量。通常用来保存程序运行过程中的输入数据、计算获得的中间结果和最终结果。31 变量的数据类型及其定义 P251注意: C语言中字符串只能是常量,没有字符串变量,但可用字符数组存放可变的字符串。2定义变量的语句格式 数据类型符 变量名1,变量名2,;3基本数据类型符数据类型数据类型符占用字节数数值范围整型int2(或4)同短整型(或长整型)短整型short2(-215215-1)长整型long4(-231231-1)无符号整型unsignedint2(或4)同无符号短整型(或长整型)无符号短整型unsigned short2065535(0216-1)无符号长整型unsigned long404294967295(0232-1)单精度实型float4-10381038(保留7位有效数字)双精度实型double8-1030810308(保留11位有效数字)字符型char1-128+1274变量定义的注意点 P26(1) 对变量的定义可以放在函数之外,也可以放在函数体中或复合语句中,但必须集中放在前面;(2) 被定义为整型的变量,若其值在-128127之间时,可当作字符型变量使用;(3) 被定义为无符号整型的变量,若其值在0255之间时,也可当作字符型变量使用;(4) 被定义为字符型的变量,可以当做整型变量使用,其值将在-128127之间,也可当作无符号整型变量使用,其值在0255之间;(5) 当定义了某个变量之后,会自动给它分配连续的内存单元,单元数目是该变量对应数据类型占用的字节数据。5例3-57int i,j,k;short s1,s_2;long long1;unsigned ui,uj,uk;unsigned int u1,u2;unsigned short us1,us2;unsigned long u11;float f1,f2,f3;double d1,d_2;char c1,c2,c_3;32 变量的初始化 P261. 含义: 在定义变量的同时给变量赋初始值。2. 语句格式: 数据类型符 变量名1=初值1,变量名2=初值2,;3例3-9 int i=1,j=1;long l=11L;unsigned short un1=0111,un2=0x11;float f1=10.0,f2=1234E-2;double d1=1.222,d2=0.123E2;char c1=y,c2=N;33 变量的定义语句 P271. 语句格式: 数据类型符 变量名1=初值1,变量名n=初值n;2. 例3-1013:int i=1,j=2,k;short s1=10,s_2;long long1=10L;unsigned ui,uj=1,uk;unsigned int u1,u2=10;unsigned short k=10,kk;unsigned long u11=100;float f1,f2=1.0,f3=1.0;double d1=2.0,d_2;char c1=A,c2,c_3=a;34 有名常量的定义 P271. 使用的场合: 如果定义了变量并赋予其初值,但又不希望程序中修改其值,可以将该变量定义成有名常量。2. 语句格式:const 数据类型符 变量名1=初值1,变量名2=初值2,;3. 例3-14 Const char char_y=Y,char_n=n; Const int ten=10,x1=20; Const float real_1=1.0,real_x=2.0;4 运算符l 定义: P28 用来表示各种运算的符号统称为运算符。l 单目、双目、三目运算符:单目运算符:运算对象有一个的运算符。分为单目前缀形式和单目后缀形式,如“+i、i+”。双目运算符:运算对象有两个的运算符。是双目中缀形式。如“a+b”。三目运算符:运算对象有三个的运算符(C 中只有一种)。是三目中缀形式。如“(表达式)?表达式1:表达式2”。l 表达式及表达式的值表达式:用运算符把运算对象连接起来所组成的运算式子。表达式的值:表达式按照运算符的运算规则进行运算,并获得的一个值。l 运算符优先级及有关的规则优先级的含义:当表达式中出现多个运算符,计算表达式时,就会碰到哪个先算,哪个后算的问题,这个问题就是运算符的优先级。优先级的有关规则: 计算表达式时,优先级高的运算符先运算; 在复杂的表达式中,用圆括号括住的部分先算,其优先级高于任何运算符; 若圆括号中又有圆括号,则内层圆括号优先于外层圆括号; 优先级相同的运算符还具有结合性,若按照自左向右的顺序依次运算的结合性称自左向右的,若按照自右向左的顺序依次运算的结合性称自右向左的。见P147。l 运算符与键盘上符号的关系C语言中的运算符都是键盘上的符号(如、等)或若干符号的组合(如&、-等),书写或输入时当心出错。l 具有双重含义的几个运算符“+”:在算术运算中既表示单目的取正运算,又可表示双目的加法运算,在指针运算中表示双目的加法运算;“-”:在算术运算中既表示单目的取负运算,又可表示双目的减法运算,在指针运算中表示双目的减法运算;“*”:在算术运算中表示双目的乘法运算,在指针运算中表示指针指向的变量;“&”: 在位逻辑运算中表示双目的“与”运算,在指针运算中表示取地址的运算;l 图3-2 C语言运算符的分类表 P2941 算术运算符 P29算术运算符包括基本的算术运算符和增1、减1运算符。1算术运算符 含义:是对数据进行简单的算术运算。注意字符型数据也可以看成整型数据,也可以参加算术运算。 表3-2:名称算符对象数与位置优先级运算规则对象类型结果类型结合性取正+单目前缀14取原值整数或 实数整数或 实数自右向左取负-取负值加+双目中缀12加法自左向右减-减法乘*13乘法除/除法模%整数取余整数整数 “/”运算符注意点:和运算的对象的数据类型有关。若两个运算对象都是整型数据,该运算是整除,除得的商是整数,即商有小数时,截去小数部分;若两个运算对象着至少有一个是实型数,该运算的结果是实数。“%”运算符注意点:运算的对象必须是整型数据,整除后的结果是整数;运算结果的符号与被除数的符号相同。 算数运算符优先级规定: 单目算术运算符 优先于 双目算术运算符; *、/、% 优先于 +、-加减算符; 单目运算符+、-的优先级相同,结合性是自右向左; 双目运算符*、/、%的优先级相同,结合性是自左向右; 双目运算符+、-的优先级相同,结合性是自左向右。 例3-15:P30 设变量定义如下: int n=10,m=3; float f=5.0,g=10.0; double d=5.0,e=10.0; 则:-n的结果是-10n+m、n-m、n*m、n/m、n%m的结果:13、7、30、3、1f+g、f-g、f*g、f/g的结果:15.0、-5.0、50.0、0.5d+e、d-e、d*e、d/e的结果:15.0、-5.0、50.0、0.5n+m-f*g/d的运算顺序相当于(n+m)-(f*g)/d),结果是3.0n%m*f*d的运算顺序相当于(n%m)*f)*d, 结果是25.02增1(+)、减1(-)运算符 P30*含义:+、-运算符都是单目运算符,可用来对整型、字符型、指针型等变量进行算术运算,结果仍然是原来的类型,并存回原来的变量。前缀算符(如+i),后缀算符(如i+)。表3-3 P31算符名称使用形式例运算规则优先级对象类型结果类型算符结合性增1+ii先加1,后用i14整数型字符型指针型等变量同运算对象类型自右向左i+先用i,后i加1减1-ii先减1,后用ii-先用i,后i减1优先级规则:l +、-运算符 优先于 双目算术运算符;l +、-运算符和单目算术运算符取整+、取负-的优先级相同,并且结合性是自右向左。 注意点:(1)+(或-)运算符作为前缀使用时,先对运算符对象加1(或减1),后用加1(或减1)后的运算对象。增1(或减1)运算符作为后缀使用时,先用运算对象,后对运算对象加1(或减1)。例3-17:P31设变量定义如下:int a=3,b=3;char c1=b,c2=B;/*c1,c2看成整数为98、66*/表达式+a-1的值是3,运算结束后a的值是4表达式b-+1的值是4,运算结束后b的值是2表达式+c1-1的值是b,运算结束后c1的值是c表达式c2-+1的值是C,运算结束后c2的值是A(2)使用后缀的+(或-)运算符时,其对象的加1(或减1)是在所在的表达式全部做完后才进行。例3-18:P31设变量定义如下:int a=3,b=3;表达式(a+)+(a+)的值是6,运算结束后a的值是5表达式(b-)-(b-)的值是0,运算结束后b的值是1(3)当出现若干个+或-组成运算符串时,规定自左向右尽可能多的符号组成运算符。例3-19:P31设变量定义如下:int a=3,b=3;表达式a+b 应理解成(a+)+b,表达式的值是6,运算结束后a的值是4,b不变。表达式a-b 应理解成(a-)-b,表达式的值是0,运算结束后a的值是2,b不变。表达式a+b+ 应理解成(a+)+(b+),表达式的值是6,运算结束后a的值是4,b的值是4。*(4)在编写程序时,应尽量避免使用理解困难的表达式。如的确需要,可用圆括号来表示运算的顺序,以增强可读性。(5)+、-运算符的运算对象是变量,不能是表达式。例3-20,设变量定义如下:P32int a=3,b=3;表达式+5 5不是变量,所以表达式是错误的。表达式(a-5)+ (a-5)不是变量,所以表达式是错误的。表达式-a 按自右向左的结合性,相当-(-a),-a是正确的,但(-a)不是变量,所以-(-a) 是错误的。42 关系运算符 P321.含义: 用来比较两个数据的大小,如果运算结果是逻辑值“真”(即关系成立),用整数“1”表示;如果为逻辑值“假”(即关系不成立),用整数“0”表示。2表3-4:P32算符的名称算符对象数与位置优先级运算规则对象类型结果类型算符的结合性小于双目中缀10关系成立,结果为1;关系不成立,结果为0;整数或实数或字符型0或1整型自左向右小于等于大于等于=等于=9不等于!=3优先级规则:“算术运算符” 优先于 “关系运算符”;4例3-21 P32设变量定义如下: Char c1=a,c2=A;/* a是97,A是65*/ int n1=65,n2=97; float f1=0.3E1,f2=3.0001;c1c2;n1= =n2;f1f2 的值依次是1;0;0;f1c1;f2n2n1的语法是正确的,相当于(n3n2)n1,计算n3n2成立,结果为1,计算1n1不成立,结果为0;n1=n2!=n3n2=n1是正确的,相当于(n1=n2)!=(n3n2)=n1),运算的结果是1;43 逻辑运算符 P331含义: 对关系式或逻辑值进行运算,运算结果是逻辑值。2逻辑值表示方式: 在C语言中,逻辑值是用非0和0表示逻辑真和假,所以逻辑运算符也可以对两个数值型数据进行运算,包括整型、实型、字符型等数据。运算的结果是1或0。3表3-5:P33算符名称算符对象数与位置优先级运算规则对象类型结果类型结合性逻辑非!单目前缀14参见下面表3-6数值型或字符型等逻辑值0或1自右向左逻辑与&双目中缀5自左向右逻辑或44逻辑运算符运算规则:P33表3-6a!a值0(假)1(真)值非0(真)0(假)aba&bab值0(假)0(假)0(假)0(假)值0(假)非0(真)0(假)1(真)值非0(真)0(假)0(假)1(真)值非0(真)非0(真)1(真)1(真)5例3-23:P34设变量定义如下: Char c1=a,c2=A;/*a是97,A是65*/ int n1=65,n2=97; float f1=3.0,f2=3.0001;!c1 的值0。n1&n2 的值1。f1f2 的值1。!c2c1 相当于(!c2)c1, 的值是0。n1+32=n2&n1=c2相当于((n1+32)=n2)&(n1=c2), 的值是1。44 赋值运算符 P34 有三种运算符,这里先讲两种赋值运算符,位自反运算,后面讲。1赋值运算符 含义:是双目运算符,赋值运算符的左边必须是变量,右边是表达式。赋值运算符表 表3-7:P35名称算符对象数与位置优先级运算规则对象类型结果类型算符的结合性赋值=双目中缀2先计算右边的表达式,后赋予左边的变量任何类型变量的类型自右向左例3-24 P35设变量定义如下:char c1=a,c2,;/*c1的值是97*/ int n1=65,n2,n3,n4,n5,n6; float f1=3.0,f2;c2=n1 运算后c2值为65,n1值不变,表达式值是65。n2=!c1运算后n2值为0,c1值不变,表达式值是0。n3=c1=n1c1!=n1 n4=n5=n6=-(-n1) 运算后n4、n5、n6值是-64,n1值是64,表达式值是-64。2算术自反赋值运算符 P35含义:是双目运算符,赋值运算符的左边必须是变量,右边是表达式。运算符 表3-8:名称算符对象数与位置优先级运算规则例对象类型结果类型结合性加赋值+=双目中缀2a+=b相当于a=a+(b)数值型数值型自右向左减赋值-=a-=b相当于a=a-(b)乘赋值*=A*=b相当于a=a*(b)除赋值/=a/=b相当于a=a/(b)模赋值%=%=b相当于a=a%(b)整型整型注意:自反赋值运算符右边的表达式是自动加括号的。例3-25:P36设变量定义如下:int n1=10,n2=10,m1=10,m2=10,m3=10,m4=10;在相同条件下,分析下面各表达式的执行情况。n1*=n2 运算后,n1为100,n2值不变,表达式值是100。n1/=n2 运算后,n1为1,n2值不变,表达式值是1。m1+=m2-=m3*=m4/=2 运算后,m1、m2、m3、m4的值为-30、-40、50、5,表达式值是-30。45 逗号运算符 P361含义是双目运算符,其运算对象是表达式。2运算符表 表3-9:名称算符对象数与位置优先级运算规则对象类型结果类型结合性逗号,双目中缀1依次计算左边、右边的表达式任何类型表达式取右边表达式的值和类型自左向右3例3-26:设变量定义如下:int a=2,b=2,c,d,e,f;d=2,e=3 运算后d、e值依次为2、3,表达式值是3。d=a-,e=d-,f=-e相当于(d=a-,e=d-), f=-e 运算后a、d、f、e均为1,表达式的值是1。46 条件运算符 P371.含义:是C语言中惟一的一个三目运算符,它们由两个符号“?”和“:”组合而成。三个运算对象都是表达式。第1个运算对象是任何类型的表达式,通常要按逻辑表达式来理解。2.运算符表 表3-10:名称算符对象数与位置运算规则优先级对象类型结果类型结合性条件? :三目中缀对e1?e2:e3当e1为真时,得e2,e1为假时, 得e33表达式取e2或e3的值及类型自右向左3.例3-27:设变量定义如下:int a=2,b=2,c=2,d=2;a=b?(c=1):(d=0) 运算后a、b、d值不变,c为1,表达式值是1。a+1=3?(b=a+2):(c=a+3)相当于((a+1)=3)?(b=(a+2):(c=(a+3)) 运算后a、c不变,b为4,表达式值是4。a=b?(c=0):ab?(c=1):(c=-1)相当于(a=b)?(c=0):(ab)?(c=1):(c=-1)) 运算后,a、b不变,c为0,表达式的值是0。47 长度运算符 P371. 含义 是单目运算符,运算的对象可以是任何数据类型或变量。2. 运算符表 表3-11:名称运算符对象数与位置运算规则优先级对象类型结果类型算符的结合性长度sizeof()单目前缀测试对象所占用字节数14数据类型符或变量整型自右向左3. 格式:sizeof(数据类型符) 或sizeof(变量)4. 优先级规则:和“取+、取-”、“单目逻辑运算符!、”、“+、-运算符”同级。5例3-28 P38设变量定义如下:int n;short s;unsigned long u3;float f;char c;sizeof(n)的值是2。sizeof(long)的值是4。sizeof(f)的值是4。sizeof(double)的值是8。sizeof(c)的值是1。注意:上述结果是在Turbo C 2.0环境下运行的结果。48 位运算符 P38规定: 位运算的对象只能是整数(包括字符型); 位运算的结果仍然是整型数据。三种位运算: 位逻辑运算符、位移位运算符、位自反赋值运算符。1位逻辑运算符 含义:将数据中每个二进制位上的“0”或“1”看成逻辑值,逐位进行逻辑运算。 运算符表 表3-12 P38名称运算符对象数与位置运算规则优先级对象类型结果类型算符的结合性位非单目前缀1为0 ;0为 114整型整型自右向左位与&双目中缀参见表3-138自左向右位或6按位加7表3-13:aba&ba bab值00000值01011值10011值11110 例3-29:P39设变量定义如下:unsigned short a=0111,b=0x53;a对应的二进制数为00000000 01001001b对应的二进制数为00000000 01010011a的值为0177666,对应的二进制数为11111111 10110110 ,运算后a不变。ab的值为032,对应的二进制数为00000000 00011010,运算后a、b的值不变。例3-30:设变量定义如下:char a=0x53,b=0xFF,c=0xF0;a对应的二进制数为01010011 b对应的二进制数为11111111c对应的二进制数为11110000a&b的的运算结果是01010011,结果等于a的值。ab的的运算结果是11111111,结果等于b的值。ab的的运算结果是10101100,结果等于a的值。a&c的的运算结果是01010011,结果等于a的高4位,低4位为0。ac的的运算结果是0101000,结果等于a的高4位为1,a的低4位值。ac的的运算结果是01010011,结果等于a的高4位取反,a的低4位值。2位移位运算符 P39 含义:将数据看成二进制数,对其进行向左或向右移动若干位的运算。 运算符表 表-14:名称运算符对象数与位置运算规则例优先级对象类型结果类型算符的结合性左移双目中缀aaba向右移b位 具体移位的规定:见P40上的示意图。例3-31 P40设变量定义如下:unsigned short a=0111short b=-4;a无符号八进制数0111,即二进制数为00000000 01001001a4运算结果为二进制数为00000000 00000100 ,a不变。b为-4,对应的二进制数为11111111 11111100。b3运算结果为-1,二进制数为11111111 11111111,b不变。3位自反赋值运算符 P40 含义:是双目运算符,左边必须是变量,右边是表达式。 运算符表 表3-15名称运算符对象数与位置运算规则优先级对象类型结果类型结合性位与赋值&=双目中缀a&=b即a=a&(b)2整型整型自右向左位或赋值=a=b即a=a(b)位按位加赋值=A=b即a=a(b)位左移赋值=A=b即a=a=A=b即a=a(b) 优先级规则: “位自反赋值运算符”、“赋值运算符”、“自反赋值运算符”的优先级相同 例3-32:设变量定义如下:unsigned short a=6,b=3;b&=a 相当于b=b&(a),运算结果a不变,b为2,表达式为2。b&=a相当于b=b&(a),运算后a不变,b为2,表达式值2。b=a相当于b=b(a),运算后a不变,b为7,表达式值7。b=a相当于b=b(a),运算后a不变,b为5,表达式值5。a=b相当于a=a=b相当于a=a(b),运算后b不变,a为0,表达式值0。5 表达式l 表达式的含义:P41 用运算符将运算对象连接形成的运算式。l 一般构成规则:P41(1)单个的常数、变量、函数调用都是表达式;如i(2)“单目前缀运算符 表达式”是表达式;如+i(3)“表达式 单目后缀运算符”是表达式;如i+(4)“表达式 双目运算符 表达式”是表达式;如i+j(5)“表达式?表达式:表达式”是表达式;如e1?e2:e3(6)有限次使用上述规则获得的运算式也是表达式。51 算术表达式 P421含义是由算术运算符连接数值型运算符对象构成,结果仍然是数值型(整型、单精度实型、双精度实型)2构成的规则: (1)数值型常量、数值型变量、数值型函数调用;(2)+(算术表达式)、-(算术型表达式);(3)+整型变量、-整型变量、整型变量+、整型变量-;(4)(算术表达式)双目算术运算符 (算术表达式);(5)有限次使用上述规则获得的运算式也是算术表达式。注意:算术表达式的类型可以是整型、单精度实型、双精度实型。其他类型的表达式也是整型或实型,可当作算术表达式来使用。3例3-33算术表达式的例子 设变量定义如下: int a=2; float f=3.0;char c=a;/a是97a+2-a*6/f+c%a 表达式的值为1.0(a2)?3:2) 表达式的值为-2(a=2)*f 表达式的值为6.0(1,2)-a 表达式的值为04例3-44(算术表达式的应用):数学中的表达式或问题对应C语言中的表达式x3x*x*x2ab2*a*b1/(xy)1.0/(x*y)a、b、c的平均值(a+b+c)/3设x为正整数,求x的最后一位数字x%10设x为正整数,去掉x最后一位数字x/10设c中为大写字母,求对应小写字母c+32设c中为小写字母,求对应大写字母c-3252 关系表达式 P421. 含义:由关系运算符连接表达式构成,运算的结果是逻辑值。2. 构成规则:表达式 关系运算符 表达式其中的表达式可以是任意表达式。3. 例3-35 关系表达式例设变量定义如下:int a=2; float f=3.0;char c=a;/ a为97a+2!=c-100;f/3=a-c 结果为1;0a=(fc)=(f4)结果为0;1!a=!f;(!a&1)!=(!c1)结果为1;1(a2)?3:0)(c=a)?0:1)结果为1(a=2)=(f=1);(c= A )!=(f=100.5)*f 结果为0;1(1,2)!=(2,1);(2,3)=(3,3) 结果为1;14例3-36 关系表达式实际应用例数学中的表达式或问题对应C语言中的表达式x2+y2=100x*x+y*y=100a1a!=1x2+2xy-51x*x+2*x*y-5=153 逻辑表达式 P431含义 是由逻辑运算符连接表达式构成的,结果是逻辑值。2构成的规则:l 单目逻辑运算符 表达式l 表达式 双目逻辑运算符 表达式其中的表达式可以是任意表达式。(值非0看成逻辑真,值0看成逻辑值假)。3例3-38 逻辑表达式实际应用的例子: 数学中表达式或问题C语言中的表达式(结果为1表示真,0表示假)abcab&b=0&ch=A&ch=a&ch=zch 中是字符串结束符ch=0ch 中不是回车换行符ch!=n整型变量a中是奇数a%2 或者a%2=1或者a%2!=0整型变量a中是偶数!(a%2)或者a%2=0或者a%2!=154 赋值表达式 P441含义:是由赋值运算符或自反赋值运算符连接变量和表达式构成的。2构成规则:l 变量=表达式l 变量 自反赋值运算符 表达式其中的表达式可以任意表达式。3例3-39 设变量定义如下:int a=2,d;float f=3.0,e;char c=a;f*=a+2 (表达式的值为12.0,变量f的值为12.0)d=a0)?2:1 (表达式的值为2,变量d的值为2)a=d=0 (表达式的

温馨提示

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

评论

0/150

提交评论