带答案C语言2-10章作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言习题集
专业班级
学号
姓名
第2章运算符与表达式
一、选择题
1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。
(float)(a+b)/2+(int)x% (int)y
A) B)35 C) D)
2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。
(x+y)%2+(int)a/(int)b
A) B)1 C) 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 <>
main( )
{ double d=; int x,y;
x=; y=(x+/;
printf("%d\n", d*y);}
A)3 B)3.2 C)0 D)
6.下列程序执行后的输出结果是(小数点后只写一位)( A )。
#include <>
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 B)6 6
C)6 6 D)6 6
7.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。
A)1 B)2 C) D)
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=c2*c1;
A)0 B)0.5 C)1 D)2
10.如下程序的运行结果是( D )。
#include <>
main( )
{ int y=3,x=3,z=1;
printf("%d %d\n",(++x,y++),z+2);
}
A)3 4 B)4 2 C)4 3 D)3 3
11.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( D )。
A)a>=10 or a<=0 B)a>=0|a<=10 C)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 <>
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)(int)*+)值的数据类型为__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>xw:y 11.以下程序的输出结果是__10 9____。 #include <> main( ) { int x=10,y=10; printf("%d %d\n",x--,--y); } 12.表达式*(1/2)的值为。 第3章基本语句 一、选择题 1.下面程序的输出结果是( B )。 #include <> main( ) { int x=5,y=3; printf("%d\n",y=x/y); } A)0 B)1 C)3 D)不确定的值 2.若变量已正确定义,下面程序段的输出结果是( A )。 x=; printf("%f\n",(int)(x*1000+05)/(float)1000); A) B)输出格式说明与输出项不匹配,输出无定值C) D) 3.以下程序的输出结果是( D )。 #include <> main( ) { int a=4; float b=9; printf("a=%%d,b=%%f\n",a,b); } A)a=4,b= B)a=%4,b=%9.000000 C)a=%%d,b=%%f D)a=%d,b=%f 4.下面语句: printf("|%8.5f|\n",; 的输出结果是( C )。 A)|| B)|| C)|| D)|| 5.( D )是不正确的C语言赋值语句。 A)x=1,y=2; B)x++; C)x=y=5; D)y=int(x);