当前位置:文档之家› 习题三(运算与表达式)

习题三(运算与表达式)

习题三一、选择题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 )。

A. 0 B. 1 C. “假” D. true11.下列表达式中,不满足条件“当x 为奇数时值为真,当x 为偶数时值为假”的是( C )。

A. x%2==1 B. !(x%2==0) C. !(x%2) D. x%212.设有int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式(m=a>b )&&(n=c>d)后,n 的值为( C )。

A. 0 B. 1 C. 2 D. 3 13.判断char 型变量c 是否为0到9的数字的正确表达式为( C )。

A. …0‟<=c<=‟9‟B. 0<=c<=9C. c>=‟0‟&&c<=‟9‟D.c>=0&&c<=9 14.设有int x=3,y=4,z=5,则执行表达式!(x+y )+z-1&&y+z/2的结果是( D )。

A. 6 B. 0 C. 2 D. 115.以下程序的运行结果是(B )。

#include <stdio.h>void main( ){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d\n”,a,b);}A. 6,1B. 2,1C. 6,0D. 2,016.执行以下语句后x的值为,y的值为( C )。

int x=5,y=6,t=1,a=2,b=3,z=4;(x=t>a)&&(y=b>z)A. 5,6B. 5,0C. 0,6D. 0,017.以下表达式中,与表达式!a等价的是(D )。

A. a==0B. a==1C. !a==0D. !a==118.以下符合C语言语法的赋值表达式是( D )。

A. a=10+n+m=a+3B. a=10+m,b=a+5C. b=b*8=2D. a+=a-=(m=4)*(n=3)19.若有int a=7,b=12,则以下表达式中,值为3的是( D )。

A. b%=(a%=5)B. b%=(a-a%5)C. b%=a-a%5D. (b%=a)-(a%=5)20.已知各变量的类型说明如下。

int a=2,b;double x=2.56;则以下不符合C语言语法的表达式是( A )。

A. x%(-3)B. a+=2C. a+=a-=(b=4)D. x/=(b=3) 21.设以下变量均为int类型,则值不等于7的表达式是(C )。

A. (x=y=6,x+y,x+1)B. (x=y=6,x+y,y+1)C. (x=6,x+1,y=6,x+y)D. (y=6,y+1,x=y,x+1)22.若x,i,j,k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后,x的值为(C )。

A. 4B. 16C. 32D. 5223.执行下面程序段后,输出结果为( C )。

int x=13,y=5;printf(“%d”,x%=(y/2));A. 3B. 2C. 1D. 024.设x,y均为float型变量,则以下不合法的赋值语句是( B )。

A. x=0.0B. y=(x%2)/10;C. x*=y+8;D. x=y=0; 25.设int a=10,则执行语句a+=a*=a/5+10;后,a的值是(A )。

A.240B.120C.30D.6026.设有定义语句int x=2;则以下表达式中,值不为6的是(D )。

A. x*=x+1B. x=2,3*xC. x*=(1+x)D. 2*x,x+=227.已知变量x、y、z都为int型,则执行z=2+(y=1,y+=1,x=y,x+8)后,x和z的值分别为(A )。

A.x=2,z=12B. x=2,z=10C. x=10,z=12D. x=10,z=1028.若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z的值是( D )。

A. 4B. 3C. 2D. 129.若w、x、y、z、m均为int型变量,则执行下面语句后,m的值为(A )。

w=1;x=2,y=3;z=4m=(w<x)?w:x;m=(m<y)?m:ym=(m<z)?m:z;A. 1B. 2C. 3D. 430.若运行时给变量x输入12,则以下程序的运行结果是( A )。

#include<stdio.h>void main( ){int x,y;scanf(“%d”,&x);y=x>12?x+10:x-12;printf(“%d\n”,y);}A. 0B. 22C. 12D. 1031.若已知num、sum均为int型变量,且num=sum=7;则计算表达式sum=num++,sum++后,sum的值为( B )。

A. 7B. 8C. 9D. 1032.若有int x=11,则表达式(x++*1/3)的结果为(B )。

A. 5B. 3C. 4D. 633.若有定义语句:int x=3;则以下表达式中,值为5的是(A )。

A. ++x,x+1B. x+=2,--xC. x+=2,x+1D. x++,x++ 34.若已知m,n,x,y为int型变量,则执行以下语句后,变量y的值为(D )。

m=10;n=5;x=(--m==n++)?--m:++n;y=n;A. 5B. 10C. 6D. 735.执行以下程序段后,变量a,b,c的值分别为(B )。

int x=10,y=9;int a,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;A. a=9,b=9,c=9B. a=8,b=8,c=10C. a=9,b=10,c=9D. a=1,b=11,c=10 36.以下程序的输出结果是(C )。

#include<stdio.h>void main( ){int w=3,z=7,x=10;printf(“%d\n”,x>10?x+100:x-10);printf(“%d\n”, w++||z++);printf(“%d\n”,!w>z);printf(“%d\n”,w&&z);}A. 0B. 1C. 0D. 01 1 1 11 1 0 01 1 1 037.以下关于运算符优先顺序的描述中正确的是( C )。

A. 关系运算符<算术运算符<赋值运算符<逻辑与运算符B. 逻辑与运算符<关系运算符<算术运算符<赋值运算符C. 赋值运算符<逻辑与运算符<关系运算符<算术运算符D. 算术运算符<关系运算符<赋值运算符<逻辑与运算符38.下列运算符中,优先级最高的是(D )。

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

A. …x‟&&‟y‟B. x<=y<=zC. y+z&&y-z&&(x+1)%2D. !x||x<y&&140.以下不能将变量c中的大写字母转换为对应小写字母的语句是(D )。

A. c+=32B. c=c-…A‟+‟a‟C. c=c-65+97D. c=c-32二、填空题1.若s是int型变量,且有s=6,则表达式s%2+(s+1)%2的值为 1 。

2.若a是int型变量,则计算表达式a=25/3%3后,a的值为 2 。

3. 若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为5.5 。

4.若有定义:int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为3.5 。

5.若有定义:int x=3,y=2; float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为1 。

6.当a=3,b=2,c=1时,表达式f=a>b>c的值为0 。

7.当a=5,b=4,c=2时,表达式a>b&&!c的值为0 。

8.C语言提供的三种逻辑运算符是&& 、‖、! 。

相关主题