习题三(运算与表达式) 下载本文

内容发布更新时间 : 2024/5/21 6:38:25星期一 下面是文章的全部内容请认真阅读。

习题三

一、选择题

1.若有代数式

3ae,则不正确的C语言表达式是( C )。 bcA. 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. B. 2. C.3. D.0. 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<=y

C. x||y+z&&y-z D. !((x

10.已知x=43,ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值为( B )。 A. 0 B. 1 C. “假” D. true

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

12.设有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<=9 C. 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. 1

15.以下程序的运行结果是( B )。 #include void main( ) {

int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d\\n”,a,b); }

A. 6,1 B. 2,1 C. 6,0 D. 2,0

16.执行以下语句后x的值为 ,y的值为 ( C )。

int x=5,y=6,t=1,a=2,b=3,z=4; (x=t>a)&&(y=b>z)

A. 5,6 B. 5,0 C. 0,6 D. 0,0 17.以下表达式中,与表达式!a等价的是(D )。

A. a==0 B. a==1 C. !a==0 D. !a==1 18.以下符合C语言语法的赋值表达式是( D )。 A. a=10+n+m=a+3 B. a=10+m,b=a+5 C. b=b*8=2 D. 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%5 D. (b%=a)-(a%=5) 20.已知各变量的类型说明如下。 int a=2,b; double x=2.56;

则以下不符合C语言语法的表达式是( A )。

A. x%(-3) B. a+=2 C. 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. 4 B. 16 C. 32 D. 52 23.执行下面程序段后,输出结果为( C )。 int x=13,y=5;printf(“%d”,x%=(y/2));

A. 3 B. 2 C. 1 D. 0 24.设x,y均为float型变量,则以下不合法的赋值语句是( B )。

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

2

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

27.已知变量x、y、z都为int型,则执行z=2+(y=1,y+=1,x=y,x+8)后,x和z的值分别为( A )。 A.x=2,z=12 B. x=2,z=10 C. x=10,z=12 D. x=10,z=10 28.若w=1,x=2,y=3,z=4,则条件表达式w

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

A. 1 B. 2 C. 3 D. 4 30.若运行时给变量x输入12,则以下程序的运行结果是( A )。 #include void main( ) {

int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\\n”,y); }

A. 0 B. 22 C. 12 D. 10

31.若已知num、sum均为int型变量,且num=sum=7;则计算表达式sum=num++,sum++后,sum的值为( B )。

A. 7 B. 8 C. 9 D. 10 32.若有int x=11,则表达式(x++*1/3)的结果为(B )。 A. 5 B. 3 C. 4 D. 6 33.若有定义语句:int x=3;则以下表达式中,值为5的是( A )。

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

m=10;n=5;

x=(--m==n++)?--m:++n; y=n;

A. 5 B. 10 C. 6 D. 7 35.执行以下程序段后,变量a,b,c的值分别为( B )。

int x=10,y=9; int a,b,c;

3