运算符表达式习题三理完

合集下载

第1章-语法基础-第3讲-运算符及表达式

第1章-语法基础-第3讲-运算符及表达式

方法c:h直ar接ch将=有2符; 号短长度的数据类型的数据作为长长度的数据类 型符数号据位si的)nht低向obr位长t; i部长nt分度a,的=然数-2//后据;假将类设低型为位数2个部据字分的节的高最位高部位分(扩即展有。符号短长度数据的
符号位向高位
部分扩展
unsigned inztxu…;…//…假x设为4个有字算符:+ - * / % ++ -关系运算符:< <= == > >= != 逻辑运算符:! && || 位运算符 :<< >> ~ | ^ & 赋值运算符:= C 条件运算符:?: 运 逗号运算符:, 算 指针运算符:* & 符 求字节数:sizeof 强制类型转换:类型 分量运算符:. -> 下标运算符:[] 其它 :( ) -
第三讲 运算符及表达式
运算符 代表对数据的加工处理方法,用于执行对目标数据 (操作数)的运算
变量用来存放数据;运算符用来处理数据
表达式 用运算符将操作数据对象(操作数,包括变量和常 量)连接起来的,符合C语法规则的式子
a+b/2.0-c
2
运算符的分类:
单目运算符:只带一个操作数的运算符。如:++、--运算符。 双目运算符:带两个操作数的运算符。如:+、-运算符。 三目运算符:带三个操作数的运算符。如?:运算符。
无un符si号gn短e长d l度on的g数u“据; =类”左型//边占→的用无数4符个据号字类或节型有。符然号后长再长赋度值的给数等据类型
方法:直接将无符号短号长左度边的的数变据量类。型的数据作为长长度的数据类
型数据b的=低c位h;部分,长长度的b的数据值类为型0数x0据0f的c 高位部分补零。

习题三(运算与表达式)

习题三(运算与表达式)

.习题三一、选择题1.若有代数式bc ae 3,则不正确的C 语言表达式是( C )。

A. a/b/c*e*3B. 3*a*e/b/c D. a*e/c/b*32.在C D )。

A. /B. =C. ++ 3.若有定义语句:int a=7;float x=2.5,y=4.7; 的值( A )。

A.2.500000B. 2.750000C.3.500000D.0.0000004.若有定义int x=5,y=2,则表达式5/2的结果为( B )。

A. 2.5B. 2C. 2.0D. 35.判断char 型变量ch 是否为大写字母的正确表达式是( C )。

A. …A ‟<=ch<=‟Z ‟B. (ch>=‟A ‟)&(ch<=‟Z ‟)C. (ch>=‟A ‟)&&(ch<=‟Z ‟)D. (ch>=‟A ‟)and(ch<=‟Z ‟)6.为表示关系a ≥b ≥c,则正确的C 语言表达式为( C )。

A. a>=b>=cB. (a>=b)&(b>=c)C. (a>=b)&&(b>=c)D. (a>=b)||(b>=c)7.逻辑运算符两侧运算对象的数据类型( D )。

A.只能是0或1B.只能是0或非0正数C.只能是整型或字符型D.可以是任何数据类型 8.下列运算符中,优先级最高的是( B )。

A. <B. +C. &&D. ==9.设x 、y 、z 是int 型变量,且有x=3,y=4,z=5,则下面表达式中值为0的是( D )。

A. …x ‟&&‟y ‟B. x<=yC. x||y+z&&y-zD. !((x<y)&&!z||1) 10.已知x=43,ch=‟A ‟,y=0;则表达式(x>=y&&ch<‟B ‟&&!y )的值为( B )。

(完整word)C语言数据类型和运算符及表达式复习题

(完整word)C语言数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:( )a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A。

dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4。

以下不是关键字的标识符是:( )a) continue b) char c) If d) default5. C语言提供的合法的关键字是:( )a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768 b) —56 c) 03 d) 0xAF 7。

以下合法的长整型常量是()a) 2L b) 49627 c) 34566666 d) 213&8. 以下正确的实型常量是( )a) 1.2E b) 。

579899 c) 1.2e0.6 d) 8 9。

以下选项中合法的实型常数是()a) 5E2。

0 b) E—3 c) 。

2E0 d) 1。

3E 10。

以下合法的八进制数是()a) 0135 b) 068 c) 013。

54 d) o711。

以下合法的十六进制数是( )a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是( )a) 019 b) 0L c) 0xff d) 1e113。

若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5) d) y=int(a)+b14。

若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4。

0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设a,b均为double型,且a=5。

习题三(运算与表达式)

习题三(运算与表达式)

习题三一、选择题1.若有代数式bcae3,则不正确的C 语言表达式是( 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 2.在C 语言中,要求运算数必须是整型的运算符是( D )。

A. /B. =C. ++D. %3.若有定义语句:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值( A )。

A.2.500000 B. 2.750000 C.3.500000 D.0.000000 4.若有定义int x=5,y=2,则表达式5/2的结果为(B )。

A. 2.5 B. 2 C. 2.0 D. 3 5.判断char 型变量ch 是否为大写字母的正确表达式是( C )。

A. …A ‟<=ch<=‟Z ‟ B. (ch>=‟A ‟)&(ch<=‟Z ‟) C. (ch>=‟A ‟)&&(ch<=‟Z ‟) D. (ch>=‟A ‟)and(ch<=‟Z ‟) 6.为表示关系a ≥b ≥c,则正确的C 语言表达式为( C )。

A. a>=b>=c B. (a>=b)&(b>=c) C. (a>=b)&&(b>=c) D. (a>=b)||(b>=c) 7.逻辑运算符两侧运算对象的数据类型(D )。

A.只能是0或1 B.只能是0或非0正数 C.只能是整型或字符型 D.可以是任何数据类型 8.下列运算符中,优先级最高的是( B )。

A. <B. +C. &&D. ==9.设x 、y 、z 是int 型变量,且有x=3,y=4,z=5,则下面表达式中值为0的是( D )。

A. …x ‟&&‟y ‟ B. x<=yC. x||y+z&&y-zD. !((x<y)&&!z||1)10.已知x=43,ch=‟A ‟,y=0;则表达式(x>=y&&ch<‟B ‟&&!y )的值为( B )。

数据类型运算符与表达式练习题

数据类型运算符与表达式练习题

精品文档第三章运算符与表达式练习题一、单项选择题1.下列数据中属于“字符串常量”的是()。

A.”a” B. {ABC} C. 'abc\0' D. 'a'2.下列数据中属于“字符串常量”的是()。

A.ABC B. “ABC” C. 'abc' D. 'a'3. 在PC机中,'\n'在内存占用的字节数是()。

A. 1B. 2C. 3D. 44. 在PC机中,”a\xff”在内存占用的字节数是()。

A. 5B. 6C. 3D. 45.字符串”\”ABCD\””在内存占用的字节数是()。

A. 4B. 6C. 7D. 86. 在C语言中,合法的长整型常数是()。

A. 0LB. 49627C. 0.054838743D. 2.1869e107.在C语言中,合法的短整型常数是()。

A. OLB. 0821C. 40000D. 0x2a8.下列数据中不属于“字符常量”的是()。

A. ‘\a'B. ‘\160'C. ‘070'D. 0709.char型常量在内存中存放的是()。

A. ASCII代码值B. BCD代码值C. 内码值D. 十进制代码值10. int a=4,b=3,c=-2,d=2; 逻辑表达式a>0&&b&&c<0&&d>0的值是()。

A. 1B. 0C. -1D. 出错11.在以下一组运算符中,优先级最高的运算符是()。

A. <=B. =C. %D. &&12.设整型变量i的值为3,则计算表达式i---i后表达式的值为()。

A. 0B. 1C. 2D. 表达式出错13.设整型变量i,j=3; 则计算表达式i=j+++j后i,j的值为()。

A. 4,4B. 6,6C. 4,6D. 6,414.设整型变量a,b,c均为2,表达式a+++b++c++的结果是()。

C语言数据类型和运算符及表达式复习题

C语言数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:()a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A.dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4. 以下不是关键字的标识符是:()a) continue b) char c) If d) default5. C语言提供的合法的关键字是:()a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768b) -56 c) 03 d) 0xAF7. 以下合法的长整型常量是()a) 2L b) 49627 c) d) 213&8. 以下正确的实型常量是()a) 1.2E b) . c) 1.2e0.6 d) 89. 以下选项中合法的实型常数是()a) 5E2.0 b) E-3 c) .2E0d) 1.3E10. 以下合法的八进制数是()a) 0135b) 068 c) 013.54 d) o711. 以下合法的十六进制数是()a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是()a) 019b) 0L c) 0xff d) 1e113. 若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5)d) y=int(a)+b14. 若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4.0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设a,b均为double型,且a=5.5;b=2.5;则表达式(int)a+b/b的值是()a) 6. b) 6 c) 5. d) 6.17.若a为int型,且其值为3,则执行完表达式:a+=a-=a*a后,a的值是()a) -3 b) 9 c) -12 d) 618.设k和x均为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)19. 若a,b,c 均被定义成整型并已赋大于1的值,能正确表示代数式c b a ⋅⋅1的C 语言表达式是( )a) 1/(float)a*b*c b) 1/(a*b*c)c) 1.0/a/b/c d) 1/a/b/(float)c20. 以下变量x,y,z 均为double 型且已正确赋值,不能正确表示代数式z y x⨯的C 语言表达式是( )a) x/y*z b) x*(1/(y*z))c) x/y*1/z d) x/y/z21. 不能正确表示代数式d c b a ⋅⋅的C 语言表达式是( ) a) a/(c*d)*b b) a*b/c/dc) a*b/c*d d) a*b/(c*d)22.若题中变量已正确定义并赋值,下面符合C 语法的表达式是( )a) a%=7.6 b) a++,a=7+b+cc) int(12.3)%4 d) a=c+d=a+723. 若t 已定义为double 型,则表达式:t=1,t++,t+5的值为( ) a) 7 b) 7.0 c) 2.0 d) 1.024. 已有定义:int a,b; float x,y;,以下正确的赋值语句是:( ) a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x;25. 有以下程序:main(){ int y=1111;printf(“y=%6d\n”,y);printf(“y=%+06d\n”,y);}程序运行的结果是:()a) y= 1111 b) y= 1111c) y=1111 d) y= 1111y= y=+01111 y=+01111 y=111126. 有以下程序:main(){ int y=456;printf(“*y=%7o*\n”,y);printf(“*y=%-7o*\n”,y);printf(“*y=%07o*\n”,y);}程序运行的结果是:()a) *y= 710*b) *y= 456**y=710 * *y=456 **y=* *y=*c) *y=710* d) *y=456**y=-710* *y=-456**y=0710* *y=0456*27. 有以下程序:main(){ float y=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);printf(“*%8.0f*\n”,y);}程序运行的结果是:()a) *3.* b) *3.** 3.67* *3.667 ** 4* *4.*c) *3.667* d) *3.**3.* *3.67**3.* *4.*28. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格)**1.0**2.0<回车> 分别给a,b输入1,2,则能正确进行输入的语句是()a) scanf(“%f%f”,&a,&b);b) scanf(“%5.1lf%5.1lf”,&a,&b);c) scanf(“%lf%lf”,&a,&b);d) scanf(“%5e%5e”,&a,&b);29. 以下合法的定义语句是()a) short _auto_=100-1;b) double b=1+5e2.5;c) long do=1l;d) float 2_and=1e-3;30. 以下选项中不是C语句的是()a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}31. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是()a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;32. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()a) 把x和y从小到大排列b) 把x和y从大到小排列c) 无确定结果d) 交换x和y中的值33. 有定义语句:long int a; int k;,能给a赋40000的正确语句是()a) a=20000+20000; b) a=4000*10;c) k=400;a=k*100; d) a=4000;a=a*10;34. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()a) 1.4 b) 1c) 2.0 d) 235. 有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k++);printf(“y=%d,%d\n”,m,i);}程序运行的结果是:()a) 8,6 b) 8,3 c) 6,4 d) 7,436. 有以下程序:main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}程序运行的结果是:()a) 3 4 b) 4 2c) 4 3 d) 3 337. 有以下程序:main(){ int i; long l ; float f ; double d ;i=f=l=d=20/3;printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d);}程序运行的结果是:()a) 6 6 6.0 6.0 b) 6 6 6.7 6.7c) 6 6 6.0 6.7 d) 6 6 6.7 6.038. 有以下程序:main(){ unsigned a=32768; int b ;b=a ;printf(“b=%d\n”,b);}程序运行的结果是:()a) b=32768 b) b=32767 c) b=-32768d) b=-1 39.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-1640.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是()a) 23 b) 24 c) 25 d) 2241.有以下程序:main(){ int x=0xffff;printf(“%d\n”,x--);}程序运行的结果是:()a) 32767 b) FFFEc) -1 d) -32768二.填空题1.已有定义:float f=13.8;,则表达式:(int)f%3的值是___1___.2. 已有定义:int x=3;, 则表达式:x=x+1.78的值是___4___.3. 已有定义:double x=3.5; 则表达式:x=(int)x+1的值是_4.__.4. 已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是__3___.5. 设a,b,c为整型数,且a的值为2,b的值为3, c的值为4,表达式:a*=16+(b++)-(++c)的值为__28____.6. 已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是_8__,变量x的值是_2__,变量y的值是__3__.7. 已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的值是__111___,变量y的值是__16___。

c语言第二章课后习题答案

c语言第二章课后习题答案

第3章数据类型、运算符与表达式习题答案一、选择题1.以下表示正确常量的是()。

(A) E-5 (B) 1E5.1 (C) 'a12' (D) 32766L【答案】D2.若有定义:int a=1,b=2,c=3,d=4,x=5,y=6; 则表达式(x=a>b)&&(y=c>d) 的值为()。

(A)0 (B) 1 (C) 5 (D) 6【答案】A3.以下()是正确的字符常量。

(A)"c" (B) '\\'' (C) 'W' (D) "\32a"【答案】C4.以下()是不正确的字符串常量。

(A) 'abc' (B) "12'12" (C) "0" (D) " "【答案】A5.以下是正确的浮点数的是()。

(A)e3 (B) .62 (C) 2e4.5 (D) 123【答案】B6.若有定义:int a=2; 则正确的赋值表达式是()。

(A)a-=(a*3) (B) double(-a) (C) a*3 (D) a*4=3【答案】A7.若有定义:int x=1111,y=222,z=33;则语句printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为()。

(A)111122233 (B)1111,222,33(C)1111 222 33 (D)1111+222+33【答案】D8.已有如下定义和输入语句:int a,b;scanf("%d,%d",&a,&b);若要求a、b的值分别为11和22,正确的数据输入是哪一个?()(A)11 22 (B)11,22 (C)a=11,b=22 (D)11;22【答案】B9.已有如下定义和输入语句,int a; char c1,c2;scanf("%d%c%c",&a,&c1,&c2);若要求a、c1、c2的值分别为40、A和A,正确的数据输入是()。

三目运算符lambda表达式

三目运算符lambda表达式

三目运算符lambda表达式三目运算符(lambda表达式)是一种简洁而强大的编程工具,它在许多编程语言中都有广泛的应用。

本文将介绍三目运算符(lambda表达式)的概念、使用方法以及一些常见的应用场景。

我们来了解一下什么是三目运算符(lambda表达式)。

三目运算符(lambda表达式),也称为条件运算符,是一种由三部分组成的表达式,格式为“条件表达式 ? 表达式1 : 表达式2”。

其中,条件表达式的结果为布尔值,如果为真,则返回表达式1的值,否则返回表达式2的值。

三目运算符(lambda表达式)的使用非常灵活,可以在很多场景中起到简化代码、提高效率的作用。

下面我们将介绍一些常见的应用场景。

首先是在条件语句中使用三目运算符(lambda表达式)。

在传统的if-else语句中,我们需要写出完整的条件判断和执行代码,而使用三目运算符(lambda表达式)可以简化这个过程。

例如,我们要判断一个数是否为正数,并输出相应的结果,可以使用以下代码:int num = -5;String result = num > 0 ? "正数" : "非正数";System.out.println(result);否大于0,如果为真则返回“正数”,否则返回“非正数”,然后将结果赋值给result变量并输出。

另一个常见的应用场景是在赋值语句中使用三目运算符(lambda表达式)。

有时我们需要根据某个条件来决定变量的值,可以使用三目运算符(lambda表达式)来实现。

例如,我们要根据一个人的年龄来判断他是否成年,可以使用以下代码:int age = 20;String status = age >= 18 ? "成年" : "未成年";System.out.println(status);在上述代码中,我们使用三目运算符(lambda表达式)判断age是否大于等于18,如果为真则返回“成年”,否则返回“未成年”,然后将结果赋值给status变量并输出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一:选择题每题5分
1、设“int a=3,b=2;”,则++a*b的结果是()。

A.2
B.3
C. 8
D. 5
2、下列标识符合法的是().
A.8un
B.void
C. long
D.abce
3、表达式“19/3*sqrt(4.0)/5;”的数据类型是()
A.int
B.float
C.double
D.不确定
4、关于下列语句中Z的说法,错误的是()
Int x=3,y=5,z; //1
z=(x>0) ||(y<10); //2
z=(x==0) && (y<10); //3
z=!(x==3); //4
A.第二行的z为true.
B. 第三行的z为false.
C. 第四行的z为false.
D.第二行的z为false;
5、设int a=3,b=4,c=5;表达式“(a+b)>c && b==c”的值是()
A.2
B.-1
C.0
D.1
6、下列标识符不合法的为()
A.A#B
B._int
C.a_10
D.Pad
7、while (!x)中的(!x)与下面条件()等价
A.x==1
B.x!=1
C.x!=0
D.x==0
8、下面语句哪个是非法的()
A.int a=3,b=3;
B.int a,b=3;
C.int a=b=3;
D.int a=3,b
9、下述语句执行后x的值()
Int x,i=3;
X=(i++)+(i++)+(i++);
A. 9
B.15
C.0
D.12
10、设a=12,n=5,则表达式“a%=(n%=2)”运算后,a的值()
A. 0
B.1
C.6
D.12
11设a=3,b=2,c=1,则表达式“a=b>c”的值()
A. 0
B.1
C.2
D.3
二、填空每题5分
1.假设a,b,c都是整型,且值都为5,执行“a+=b+c++;”,则a,b,c, 结果分别为(15 5 6 )
2、如果a为false, b为true,则a&&b为(发)
3、已知枚举类型定义语句为:
Enum color( white,black=100, red,blue,green=300);
Blue 的值为(102 )
4、执行下列语句:“a=30;b=a++;c=++a;”,a,b,c值分别为(32 30 32 )
5、已知“double x=2.5,y=4.7 int a=7;”那么表达式“x+a%3*(int)(x+y)%2/4的值(2.5 )
三、编程题20分
输入三角形三边长,a,b,c,输出三角形面积;已知三角形三边长求面积公式为:
Area=√s(s-a)(s-b)(s-c),其中s=(a+b+c)/2,要求判断三条边是否能构成三角形。

相关文档
最新文档