第3章 C表达式
- 格式:doc
- 大小:132.50 KB
- 文档页数:8
第三章运算符和表达式3.1 运算符和表达式概述使用运算符可以对运算对象(包括常量和变量)进行计算以得到计算结果。
用运算符将运算对象连接成一个符合C语言语法规则的式称为表达式。
另外,C语言中的表达式是可以嵌套的,即简单表达式经过运算符连接后还可以形成更为复杂的表达式。
根据运算符所连接的运算对象(操作数)的个数,可以将C语言中的运算符分为三类:(1) 单目(一元)运算符:只连接一个操作数的运算符。
(2) 双目(二元)运算符:带有两个操作数的运算符。
(3) 三目(三元)运算符:同时对三个操作数进行计算的运算符。
C语言中的表达式可以分为三类:(1) 单个常量或者单个变量是最简单的表达式。
(2) 带有运算符的表达式。
(3) 函数调用。
任何一种运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。
所以运算对象、运算符和运算结果是运算的三大要素。
3.2 算术运算符和算术表达式一、基本算术运算符和简单算术表达式1. 基本算术运算符C语言为用户提供的基本算术运算符包括:+(加)、-(减)、*(乘),/(除)、%(求余),这些运算符都是双目运算符,也即在生成算术表达式的时,基本算术运算符左右两侧都必须出现运算对象。
2. 简单算术表达式当用基本算术运算符去连接常量或者变量时,就形成简单算术表达式。
简单算术表达式的基本形式:data1 op data2。
data1和data2表示某个常量或者变量,op代表上述5个基本算术运算符之一。
假设有变量定义:int a=20,b=-5;则a+b、a-b、a*-2、20/-b、20%6、a%b等都是简单算术表达式。
3. 基本算术运算符使用说明(1) +、-、*,/既可以连接整型数据,也可以连接实型数据。
当参与这4个运算符的运算对象都是整型数据时,得到整型数据运算结果;否则表示浮点运算。
例如,int a=15,b=2;则a*b等于30,而a/b等于7;a*2.0等于30.0,而a/2.0等于7.5。
c语言程序设计第三章答案第三章:运算符与表达式一、算术运算符在C语言中,算术运算符用于在表达式中执行各种数学运算。
常见的算术运算符有加法运算符(+)、减法运算符(-)、乘法运算符(*)和除法运算符(/)等。
1. 加法运算符(+)加法运算符用于将两个操作数相加,并返回它们的和。
例如,表达式a + b将返回a和b的和。
2. 减法运算符(-)减法运算符用于从第一个操作数中减去第二个操作数,并返回它们的差。
例如,表达式a - b将返回a和b的差。
3. 乘法运算符(*)乘法运算符用于将两个操作数相乘,并返回它们的积。
例如,表达式a * b将返回a和b的积。
4. 除法运算符(/)除法运算符用于将第一个操作数除以第二个操作数,并返回它们的商。
例如,表达式a / b将返回a除以b的商。
二、关系运算符关系运算符用于比较两个操作数并返回一个布尔值(真或假)。
常见的关系运算符有大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)和不等于(!=)等。
1. 大于运算符(>)大于运算符用于检查第一个操作数是否大于第二个操作数。
如果是,则返回真(1),否则返回假(0)。
例如,表达式a > b将返回真或假。
2. 小于运算符(<)小于运算符用于检查第一个操作数是否小于第二个操作数。
如果是,则返回真(1),否则返回假(0)。
例如,表达式a < b将返回真或假。
3. 大于等于运算符(>=)大于等于运算符用于检查第一个操作数是否大于或等于第二个操作数。
如果是,则返回真(1),否则返回假(0)。
例如,表达式a >= b 将返回真或假。
4. 小于等于运算符(<=)小于等于运算符用于检查第一个操作数是否小于或等于第二个操作数。
如果是,则返回真(1),否则返回假(0)。
例如,表达式a <= b 将返回真或假。
5. 等于运算符(==)等于运算符用于检查两个操作数是否相等。
第3章.运算符和表达式一、单选题1.C表达式(10/3)*3的结果是:()A.10 B.9 C.9.99 D.27( 知识点:算术运算;难度系数:1;答案:B )2.表达式17 % 4 / 8的值为:()A.0 B.1 C.2 D.3( 知识点:算术运算;难度系数:1;答案:A )3.若有代数式3ae/bc,则不正确的C语言表达式是:( )。
A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/b*3( 知识点:算术运算;难度系数:1;答案:C )4.若有以下程序段:int a=1,b=2,c; c=a/b*a; 则执行后,c中的值是:()A.0 B.0.5 C.1 D.2( 知识点:算术运算;难度系数:1;答案:A )5.在C语言中,执行表达式 x=abs(8-10)后, 则x的值为:()A.-2 B.2 C.18 D.80( 知识点:算术运算;难度系数:1;答案:A )6.关于算术运算符“ % ”的功能,下面描述正确的是:()A.此运算是求某一整数对另一整数的百分比B.此运算是求某一整数被另一整数相除时的整数商C.此运算是求某一整数被另一整数相除时的余数D.以上都不正确( 知识点:算术运算;难度系数:1;答案:C )7.在TC中,能正确表示a≥10或a≤0的关系表达式是:()A.a>=10 or a<=0 B.a>=10,a<=0C.a>=10 && a<=0 D.a>=10 || a<=0( 知识点:关系和逻辑运算;难度系数:2;答案:D )8.执行int x,y,z,t; x=y=z=1; t = ++x || ++y && ++z;语句后,t的值为:()A.2 B.1 C.0 D.不定值( 知识点:关系和逻辑运算;难度系数:1;答案:B )9.已知x=43, ch=’A’,y=0;则表达式x >= y && ch < ’B’&& !y的值是:()A.0 B.语法错 C.1 D.“假”( 知识点:关系和逻辑运算;难度系数:1;答案:C )10.设有int a=2,b;则执行b = a && 1;语句后,b的结果是:()A.0 B.1 C.2 D.3( 知识点:关系和逻辑运算;难度系数:1;答案:B )11.设x=2,y=3,z=4,则表达式( x+y > z ) && ( y == z ) && x || y + z && y + z的值为:()A.逻辑假 B.逻辑真 C.0 D.1( 知识点:关系和逻辑运算;难度系数:1;答案:D )12.在C语言中。
能正确表示关系 X<=Y<=Z 的表达式为:()A.(X<=Y)&&(Y<=Z) B.(X<=Y)AND(Y<=Z)C.(X<=Y<=Z) D.(X<=Y)||(Y<=Z)( 知识点:关系和逻辑运算;难度系数:1;答案:A )20、13.语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A.无输出 B.结果不确定 C.-1 D.1( 知识点:关系和逻辑运算;难度系数:1;答案:D )14.设int m=1,n=2;则表达式m ++ == n的值是:( )A.1 B.2 C.3 D.0( 知识点:关系和逻辑运算;难度系数:1;答案:D )15.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是:( )A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B.(x>=1)||(x<=10)||(x>=200)||(x<=210)C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)( 知识点:关系和逻辑运算;难度系数:1;答案:C )16.判断char型变量ch是否为大写字母的正确表达式是:( )A.(‘A’<= ch <=‘Z’)B.( ch >=‘A’) || ( ch <=‘Z’)C.( ch >=‘A’) && ( ch <=‘Z’)D.(‘A’<= ch )AND(‘Z’>= ch )( 知识点:关系和逻辑运算;难度系数:1;答案:C )17.在C语言中,表达式: 10 != 9 的值是:( )A.True B.非零值 C. 0 D.1( 知识点:关系和逻辑运算;难度系数:1;答案:D )18.设有int x,y,z;,若运行如下程序段 x=y=z=0; ++x&&++y||++z;后,x,y,z的值分别是:()A.x=1,y=0,z=0 B.x=1,y=1,z=1 C.x=1,y=1,z=0 D.x=1,y=0,z=1( 知识点:关系和逻辑运算;难度系数:2;答案:C )19.设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是:()A.‘x’&&‘y’ B.x<=y C.x||y+z D.!(x)( 知识点:关系和逻辑运算;难度系数:2;答案:D )20.下列只有当整数x为奇数时,才是逻辑“真”的表达式是:()A.x%2==0 B.!(x%2==0) C.(x-x/2*2)==0 D.!(x%2)( 知识点:关系和逻辑运算;难度系数:2;答案:B )21.下面表述20<x<30或x<-100的正确语句是:()A.20<x<30 ||x<-100 B.20<x<30 && x<-100C.x>20 && x<30 ||x<-100 D.x!>30 && x!<20 || x<-100( 知识点:关系和逻辑运算;难度系数:1;答案:C )22.设a=3,b=4,c=5,d=6,则表达式:a > b ? c : d的值为:( )A.3 B.4 C. 5 D.6( 知识点:条件表达式;难度系数:1;答案:D )23.若有int w,x,y,z,m;均为int型变量,如下程序执行后m的值为:()w=1; x=3; y=2; z=4;m=(w<x)?y:z;m=(m<w)?x:y;m=(m<z)?y:x;A.1 B.2 C.3 D.4( 知识点:条件表达式;难度系数:2;答案:B )24.假定有以下变量定义 int k=7 ,x=12; 下列其值为 3 的表达式是:()A.x%=(k%=5) B.x%=(k-k%5)C.x%=k-k%5 D.(x%=k)-(k%=5)( 知识点:赋值运算;难度系数:1;答案:D )25.执行语句“int a=12;a+=a*a;”后的值是:()A.156 B.288 C.164 D.186( 知识点:赋值运算;难度系数:1;答案:A )26.设有定义:int a = 10;则表达式a += a *= a的值为:( )A.10 B.100 C. 200 D.1000( 知识点:赋值运算;难度系数:1;答案:C )27.下面为C语言中正确表达式的是:()A.a+b=5 B.56=a++ C. i=i++ D.5.6+6.2%3.1( 知识点:赋值运算;难度系数:2;答案:C )28.执行语句“int a=12;a += a -= a * a;”后,a的值是:()A.-264 B.-286 C. -164 D.-186( 知识点:赋值运算;难度系数:2;答案:A )29.下列合法的语句是:()A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);( 知识点:赋值运算;难度系数:2;答案:B )30.设有n=10,I=4,则赋值运算n%=I+1执行后,n的值是:()A.0 B.1 C.2 D.3( 知识点:赋值运算;难度系数:1;答案:A )31.设变量t为int型,下列选项中不正确的赋值语句是:()A.++t; B.n1=(n2=(n3=0)); C.k = i == m; D.a=b+c=1;( 知识点:赋值运算;难度系数:1;答案:D )32.设int a,b,c;,执行下列a=b=1;a++;b+1;c=a+b--;语句后,a,b和c的值分别是:()A.2,1,2 B.2,0,3 C.2,2,3 D.2,1,3( 知识点:自增与自减;难度系数:2;答案:B )33.设x为int型变量,则执行以下语句x=10; x = x + --x;后, x的值为:()A.10 B.20 C.18 D.19( 知识点:自增与自减;难度系数:2;答案:C )34.若有int a,b,c=8;,则执行:a=c++;b=++c;之后,变量a,b的值分别是:()A.9,10 B.10,10 C.8,10 D.8,11( 知识点:自增与自减;难度系数:2;答案:C )35.关于自增与自减运算符,下面描述正确的是:()A.此类运算符只能用于整数类型的变量B.此类运算符也可以用于常量C.此类运算符也可以用于实型的变量D.此类运算符对变量的改变量可以由用户设定( 知识点:自增与自减;难度系数:2;答案:C )36.执行表达式a=3*5,a+15后,变量a的值为:()A.60 B.30 C.15 D.90( 知识点:逗号表达式;难度系数:1;答案:C )37.执行表达式a =(a=3*5,a+15)后,变量a的值为:()A.60 B.30 C.15 D.90( 知识点:逗号表达式;难度系数:1;答案:B )38.若有double x,y;,则表达式:x=1,y=x+3/2的值是:()A.1 B.2 C.2.0 D.2.5( 知识点:逗号表达式;难度系数:2;答案:C )39.设有int i, j, k; 则表达式(i=1,j=2,k=3, i && j && k )的值为:()A.1 B.2 C.3 D.0( 知识点:逗号表达式;难度系数:1;答案:A )40.下面运算级别最高的运算符是:()A.赋值运算符 B.关系运算符 C.算术运算符 D.逗号运算符( 知识点:运算符的优先级;难度系数:1;答案:B )41.下面运算级别最低的运算符是:()A.赋值运算符 B.关系运算符 C.算术运算符 D.逗号运算符( 知识点:运算符的优先级;难度系数:1;答案:D )42.下面运算符中,优先级最高的是:()A.<= B.== C.% D.&&( 知识点:运算符的优先级;难度系数:1;答案:C )43.设一表达式中有int、long、char等类型的数据,则表达式值的类型数据是:( )A.int B.char C.long D.double( 知识点:多类型混合运算;难度系数:1;答案:C )44.设有int i;char c;float f; 下列其值为整数的表达式是:()A.i+f B.i*c C.c+f D.i+c+f( 知识点:多类型混合运算;难度系数:1;答案:B )45.设一表达式中有int、float、char等类型的数据,则表达式值的类型数据是:( )A.int B.char C.float D.double( 知识点:多类型混合运算;难度系数:1;答案:D )46.设有变量说明char w;int x;float y;double z;,则表达式w*x-z-y的类型为:( )A.int B.char C.float D.double( 知识点:多类型混合运算;难度系数:1;答案:D )二、多选题1.以下所列中,不合法的C表达式是:()A、a=1,b=2B、++aC、a=a+1=5D、y=int(a)E、a=b=c=10( 知识点:运算符和表达式的概念;难度系数:3;答案:CD )2.C语言中表达式众多,其语句又称表达式语句,下面为C语言表达式的有:()A、算术表达式B、关系和逻辑表达式C、赋值表达式D、逗号表达式E、分号表达式( 知识点:运算符和表达式的概念;难度系数:1;答案:ABCD )3.在C语言中,可以将多种数据类型的常数放在同一个表达式中进行混合运算,下面可以出现在C表达式中的常量有:()A.整型常量B.单精度实型常量C.双精度实型常量D.字符常量E.字符串常量( 知识点:运算符和表达式的概念;难度系数:1;答案:ABCD )4.下面可以参与C算术运算符“%”运算的数据是:()A.int B.char C.long D.float E.double( 知识点:算术运算;难度系数:1;答案:ABC )5.下面能够正确表示数学关系“ 1 < x < 10 ”的C表达式是:()A.1<x && x<10 B.(1<x) && (x<10) C.!(x<=1) && !(x>=10)D.1<x || x<10 E.!(x<=1 || x>=10))( 知识点:关系和逻辑运算;难度系数:2;答案:ABCE )6.设有int a=1,b=2,c=3;,则下面逻辑式为“真”的有:()A.a>b || a<c B.a!=b || b!=c C.!(a==b) && !(b==c)D.(a=b) && (b=c) E.a!=b && b!=c( 知识点:关系和逻辑运算;难度系数:2;答案:ABCDE )7.下面关于条件表达式的描述中,正确的是:()A.条件运算符是C语言中唯一的一个三目运算符;B.条件运算符是由一个问号及一个冒号相连构成;C.条件表达式可以代替一些简单的选择控制结构(if~else);D.条件表达式的值也是逻辑值;E.条件表达式必须要有三个表达式配合使用。