运算符表达式习题三理完
- 格式:doc
- 大小:32.00 KB
- 文档页数:3
.习题三一、选择题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 )。
数据类型、运算符和表达式复习题一.选择题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++的结果是()。
数据类型、运算符和表达式复习题一.选择题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___。
第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表达式),也称为条件运算符,是一种由三部分组成的表达式,格式为“条件表达式 ? 表达式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、C语言中字符型(char)在内存中的形式存储是()。
A)源码 B)补码 C)反码D)ASCII码2、运算符有优先级,在C语言中关于运算符优先级的正确叙述是()。
A)逻辑运算符高于算术运算符,算术运算符高于关系运算符B)算术运算符高于关系运算符,关系运算符高于赋值运算符C)算术运算符高于逻辑运算符,关系运算符高于关系运算符D)关系运算符高于逻辑运算符,逻辑运算符高于算术运算符3、C语言并不是非常严格的缩放语言,在以下关于C语言的不严格的叙述中,错误的说法是()。
A)任何不同数据类型都不可以通用B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义4、以下选项中属于C语言的数据类型是()。
A)复数型 B)逻辑型C)双精度型 D)集合型5、在C语言中,int、char和short三种类型数据所占的内存()。
A)均为2个字节 B)由用户自己定义C)由所用机器的字长决定 D)是任意的6、下列常数中不能作为C语言的数据类型是()。
A)0xa5 B)2.5e-2 C)3e2 D)05827、设int类型的数据长度为2字节,则unsigned int类型数据的取值范围是()。
A)0至255 B)0至65535 C)-256至255 D)-32768至327678、在C语言中,数字029是一个()。
A)八进制数 B)十六进制数 C)十进制D)非法数9、下列可以正确表示字符型常数的是()。
A)”a”B)'\t’ C)”\n” D)29710、以下错误的转义字符是()。
A)'\\’ B)'\'’ C)'\81’ D)'\0’11、C语言中整数-8在内存中的存储形式是()。
A)1111 1111 1111 1000 B)1000 0000 0000 0000C)0000 0000 0000 1000 D)1111 1111 1111 011112、已知 int i; float f; 正确的语句是()。
一:选择题每题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,要求判断三条边是否能构成三角形。