带答案C语言2-10章作业

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

C语言习题集专业班级

学姓号名

C语言习题集

第2章运算符与表达式

一、选择题

1.若有定义:int a=2,b=3 ; float x=3.5,y=

2.5;则下面表达式的值为( C )。

(float)(a+b)/2+(int)x% (int)y

A)3.5 B)35 C)3.500000 D)35.00000

2.若有定义:int x=3 ,y=2; float a=2.5 ,b=

3.5;则下面表达式的值

为( B )。(x+y)%2+(int)a/(int)b

A)1.0 B)1 C)2.0 D)2

3.若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。x%=(n%=2)

A)0 B)1 C)2 D)3

4.设有int x=11;则表达式(x++*1/3)的值是( A )。

A)3 B)4 C)11 D)12

5.下列程序的输出结果是( C

)。

#include <stdio.h>

main( )

{ double d=3.2; int x,y;

x=1.2; y=(x+3.8)/5.0;

printf("%d\n", d*y);}

A)3 B)3.2 C)0 D)3.07

6.下列程序执行后的输出结果是(小数点后只写一位)( A )。

#include <stdio.h>

main( )

{ double d; float f; long l; int i;

i=f=l=d=20/3;

printf("%d %ld %f %f\n", i,l,f,d);

}

A)6 6 6.0 6.0 B)6 6 6.7 6.7

C)6 6 6.0 6.7 D)6 6 6.7 6.0

7.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( C )。

A)1 B)2 C)2.0 D)2.5

8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是(

B )。

A)i=int(a) B)++i; C)a=a++=5; D)a=int(i);

9.若执行以下程序段后,c3的值为( A )。

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

A)0 B)0.5 C)1 D)2

10.如下程序的运行结果是( D )。

#include <stdio.h>

main( )

{ int y=3,x=3,z=1;

printf("%d %d\n",(++x,y++),z+2);

}

第1页/34页

C语言习题集

A)3 4 B)4 2 C)4 3 D)3 3

11.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是(

)。

D

C)a>=10

A)a>=10 or a<=0 B)a>=0|a<=10

&& a<=0 D)a>=10||a<=0

12.设x,y,t均为int型变量,则执行语句:x=y=3;t=++x||++y; 后,y的值为( C )。

A)不定值B)4 C)3 D)1

13.以下程序的输出结果是( D )。

#include <stdio.h>

main( )

{ int a=3;

printf("%d\n",(a+=a-=a*a));

}

A)-6 B)12 C)0 D)-12

14.设a,b,c,d,m,n均为int型变量,且

a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)& &(n=c>d)运算后,n的值为( C )。

A)0 B)1 C)2 D)3

15.在C语言中,如果下面的变量都是int类型,则输出的结果

是( A )。

sum=pad=5; pad=sum++,pad++,++pad;

printf(“%d\n”,pad);

A)7 B)6 C)5 D)4

二、填空题

1.若a,b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后,a 值为__6____,b值为__4____,c值为__2____。

2.若a是int型变量,且a的初值为6,则执行表达式 a+=a-=a*a 后a的值为___-60___。

3.若a是int型变量,则执行表达式a=25/3%3后a的值为

___2___。

4.若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为__10____,n的值为___6___。

5.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为__int 型___。

6.若a是int型变量,则表达式(a=4*5,a*2),a+6的值为__26____。

7.若x和a均是int型变量,则执行表达式x=(a=4,6*2)后x的值为__12__,执行表达式(x=a=4,6*2)后x的值为__4___。

8.若有以下定义int m=5,y=2;,则执行表达式y+=y-=m*=y后y的值是__-16____。

9.已知int y;float x=-3;,执行语句y=x%2;后,变量y的值为__语句本身是错误的_错误的赋值__。

10.若int w=1,x=2,y=3,z=4;则条件表达式w>x?w:y<z?y:z的结果为__3____。

11.以下程序的输出结果是__10

9____。

#include <stdio.h>

main( )

{ int x=10,y=10;

printf("%d %d\n",x--,--y);

}

12.表达式8.0*(1/2)的值为__0.0____。

第2页/34页

C语言习题集

相关文档
最新文档