1、带答案C语言210章作业C语言习题集专业班级 学 号 姓 名 第2章 运算符与表达式一、选择题1.若有定义 :int a=2,b=3 ; float x=3.5,y=2.5; 则下面表达式的值为( C )。(float)(a+b)/2+(int)x% (int)yA)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)bA)1.0 B)1 C)2.0 D)2 3.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表
2、达式后x的值为( A )。x%=(n%=2)A)0 B)1 C)2 D)34.设有 int x=11; 则表达式 (x+*1/3)的值是( A )。A)3 B)4 C)11 D)125.下列程序的输出结果是( C )。#include main( ) double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf(%dn, d*y);A)3 B)3.2 C)0 D)3.07 6.下列程序执行后的输出结果是(小数点后只写一位)( A )。#include main( ) double d; float f; long l; int i;i=f=l=d=20/3
3、;printf(%d %ld %f %fn, 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.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.如下
4、程序的运行结果是( D )。#include main( ) int y=3,x=3,z=1;printf(%d %dn,(+x,y+),z+2);A)3 4 B)4 2 C)4 3 D)3 3 11.能正确表示逻辑关系:“a10或a0”的C语言表达式是( D )。A)a=10 or a=0|a=10 & a=10|a=012.设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(%dn,(a+=a-=a*a);A)-
5、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=ab)&(n=cd)运算后,n的值为( C )。A)0 B)1 C)2 D)3 15.在C语言中,如果下面的变量都是int类型,则输出的结果是( A )。 sum=pad=5; pad=sum+,pad+,+pad; printf(“%dn”,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、的初值为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;
7、,则执行表达式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;则条件表达式wx?w:yz?y:z的结果为_3_。11.以下程序的输出结果是_10 9_。include main( ) int x=10,y=10;printf(%d %dn,x-,-y);12.表达式8.0*(1/2)的值为_0.0_。第3章 基本语句一、选择题1.下面程序的输出结果是( B )。#include main( ) int x=5,y=3;printf(%dn,
8、y=x/y);A)0 B)1 C)3 D)不确定的值2.若变量已正确定义,下面程序段的输出结果是( A )。x=5.238794; printf(%fn,(int)(x*1000+0 5)/(float)1000);A)5.239000 B)输出格式说明与输出项不匹配,输出无定值 C)5.238000 D)5.24 3.以下程序的输出结果是( D )。#include main( ) int a=4; float b=9;printf(a=%d,b=%fn,a,b);A)a=4,b=9.000000 B)a=%4,b=%9.000000 C)a=%d,b=%f D)a=%d,b=%f 4.下面
9、语句:printf(|%8.5f|n,3461.45); 的输出结果是( C )。A)|61.45000| B)|3461.450| C)|3461.45000| D)|3461.4500| 5.( D )是不正确的C语言赋值语句。A)x=1,y=2; B)x+; C)x=y=5; D)y=int(x); 6.与数学公式|cos(x)|等价的C语言表达式是( D ),假定其中的x的单位是度数且不考虑值的精度。A)sqrt(cos(x) B)sqrt(abs(cos(x*3.14/180) C)sqrt(abs(cos(x*(/180) D)sqrt(fabs(cos(x*3.14/180) 7
10、.下面的程序( D )。#include main( ) int x=3,y=0,z=0; if(x=y+z)printf(* * * *);else printf(# # # #);A)有语法错误不能通过编译 B)输出* * * *C)可以通过编译,但是不能通过连接,因而不能运行 D)输出# # # # 8.执行下面程序中的输出语句后,a的值是(C )。#include main( ) int a;printf(%dn,(a=3*5,a*4,a+5);A)65 B)20 C)15 D)10 9.若执行下面的程序时,从键盘上输入3和4,则输出结果是(B )。#include main( ) i
11、nt a,b,s;scanf(%d%d,&a,&b); s=aif(ab)s=b;s=s*s;printf(%dn,s);A)14 B)16 C)18 D)20 10.以下程序不用第三个变量,实现将两个数进行对调的操作。请填空( B )。#include main( )int a,b;scanf(%d%d,&a,&b);printf(a=%d b=%d,a,b);a=a+b;b=a-b;a=;printf(a=%d b=%dn,a,b);A)a+b B)a-b C)b*a D)a/b 11.执行下列程序的结果是( B )。#include main( ) float x=3,y;y=+x *
12、x+;printf(%fn,y);A)9.000000 B)16.000000 C)1.000000 D)程序有错误12. 执行下列程序时输入1234567,程序的运行结果为( B )。#include main( ) int x,y;scanf(%2d%2ld,&x,&y); printf(%dn,x+y);A)17 B)46 C)15 D)9 13.下述程序的输出结果是( A )。#include main( ) printf(%f,2.5+1*7%2/4);A)2.50000 B)2.750000 C)3.375000 D)3.000000 14. 下属程序的输出结果是( D )。#in
13、clude main( ) float a; a=1/100000000;printf(%g,a); A)0.00000e+00 B)0.0 C)1.00000e-07 D)015.设x,y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x,y和z的值是 ( A )。 A)x10,y15,z10 B) x10,y10,z10 C) x10,y10,z15 D) x10,y5,z10二、填空题1.下面程序的输出是_-200,25i=-200,j=25_。 i=-200 j=25#include main( ) int i=-200,j=25;printf(%d,%d,i,j
14、);printf(i=%d,j=%dn,i,j);printf(i=%dn j=%dn,i,j);2. 以下程序的输出结果是_156, 156, 234, 9c, 156_。#include main( ) int a=0234;printf(%3d,%6d,%6o,%6x,%6un,a,a,a,a,a);3.以下程序的输出结果是_123.123789, 3.124, 123.12378900_。#include void main( ) double a=123.123789;printf(%8.6f,%8.3f,%14.8fn,a,a,a);4.已有定义int d=-2;执行以下语句后的输
15、出结果是_。printf(*d(1)=%d*d(2)=%3d*d(3)=%-3d*n,d,d,d);printf(*d(4)=%x*d(5)=%6x*d(6)=%-6x*n,d,d,d);5.执行以下程序时,若从第一列开始输入数据,为使变量a=3,b=7,x=8.5,y=71.82,c1=A,c2=a,正确的数据输入形式是_a=3 b=7x=8.5 y=7.182c1=a c2=a_。#include main( ) int a,b;float x,y; char c1,c2;scanf(a=%d b=%d,&a,&b); scanf(x=%f y=%f,&x,&y);scanf(c1=%c
16、c2=%c,&c1,&c2);printf(a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c,a,b,x,y,c1,c2);第4章 选择结构一、选择题1.下列程序的运行结果是( B )。#include main( )int a=2,c=5;printf(a=%d,b=%dn,a,c); A) a=%2,b=%5B) a=2,b=5C) a=d, b=dD) a=%d,b=%d .若有定义: float w; int a, b; 则合法的switch语句是( D )。A) switch(w)case 1.0: printf(*n);case 2.0: printf(*n);B)
17、switch(a);case 1 printf(*n);case 2 printf(*n);C) switch(w)case 1: printf(*n);default: printf(n);case 1+2: printf(*n)D) switch(a+b)case 1: printf(*n);case 2: printf(*n);default: printf(n); .语句printf(abrehiyboun);的输出结果是( C )。A) abrehiybouB) abrehiybouC) rehiyouD) abrehiybou 4.如下程序的输出结果是( A )。#include
18、main( )int x=1,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;printf(a=%d,b=%dn,a,b);A) a=2,b=1B) a=1,b=1C) a=1,b=0D) a=2,b=2 5.如下程序的输出结果是( C )。#include main( )float x=2.0,y;if(x0.0)y=0.0;else if(x10.0)y=1.0/x;else y=1.0;printf(%fn,y);A) 0.000000B) 0.250000C) 0.500000D) 1.000000 6.如下程序的输出结果是(
19、C )。#include main( )int a=12,b=5,c=-3;if(ab)if(b0) c=0;else c+;printf(%dn,c);A) 0B) 1C) -2D) -3 7.若执行以下程序时从键盘上输入9,则输出结果是( B )。#include main( )int n;scanf(%d,&n);if(n+10)printf(%dn,n);else printf(%dn,n-);A) 11B) 10C) 9D) 8 8.若a, b,c1,c2,x,y均是整型变量,正确的switch语句是( A )。A) swich(a+b);case 1:y=a+b; break;ca
20、se 0:y=a-b; break;B) switch(a*a+b*b)case 3: case 1:y=a+b;break;case 3:y=b-a,break;C) switch acase c1 :y=a-b; break;case c2: x=a*d; break;default:x=a+b;D) switch(a-b)default:y=a*b;break;case 3:case 4:x=a+b;break;case 10:case 11:y=a-b;break 9.阅读以下程序:#include main( )int x;scanf(%d,&x);if(x-5)printf(%d,
21、x);else printf(%d,x+);程序运行后,如果从键盘输入5,则输出结果是( B )。A) 3B) 4C) 5D) 6 10.以下程序的输出结果是( A )。#include main( )int a=4,b=5,c=0,d;d=!a&!b|!c;printf(%dn,d); A) 1B) 0C) 非0的数D) -1 11.以下程序的输出结果是( A )。#include main( )int a=15,b=21,m=0;switch(a%3) case 0:m+;break;case 1:m+;switch(b%2) default:m+;case 0:m+;break;prin
22、tf(%dn,m);A) 1B) 2C) 3D) 4 12.请阅读以下程序:#includemain( )int x=1, y=0, a=0, b=0;switch(x)case 1:switch(y)case 0: a+;break;case 1: b+;break;case 2:a+; b+; break;printf(a=%d, b=%dn,a,b);上面程序的输出结果是( A )。A) a=2, b=1B) a=1, b=1C) a=1, b=0D) a=2, b=2 13.下面的程序( D )。#include main( )int x=3,y=0,z=0;if(x=y+z) pri
23、ntf(* * * *);elseprintf(# # # #);A) 有语法错误不能通过编译B) 输出* * * *C) 可以通过编译,但是不能通过连接,因而不能运行D) 输出# # # # 14.下面程序的输出是( A )。#include main( )int x=100, a=10, b=20, ok1=5, ok2=0;if(ab)if(b!=15)if(! ok1)x=1;elseif(ok2)x=10;x=-1;printf(%dn,x);A) -1B) 0C) 1D) 不确定的值15.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( A )。#include ma
24、in( )int x;scanf(%d,&x);if(x+ 5)printf(%d,x);elseprintf(%dn,x-);A) 7和5B) 6和3C) 7和4D) 6和4 二、填空题1.若有定义:int a=10,b=9,c=8;,接着顺序执行下列语句后,变量b中的值是_3_。c=(a-=(b-5);c=(a%11)+(b=3);2.表示“整数x的绝对值大于5”时值为“真”的C语言表达式是_(X5)|(X-5)_。3.下列程序的输出结果是16.00,请填空。#include main( )int a=9, b=2;float x=_6.6_, y=1.1,z; z=a/2+b*x/y+1
25、/2; printf(%5.2fn, z ); 4.下列程序段的输出结果是_passwarm_。int n=c;switch(n+)default: printf(error);break; case a:case A:case b:case B:printf(good);break; case c:case C:printf(pass); case d:case D:printf(warm);5.若从键盘输入58,则以下程序输出的结果是_585858_。#include main( )int a;scanf(%d,&a);if(a50)printf(%d,a);if(a40)printf(%
26、d,a);if(a30)printf(%d,a);6.以下程序的输出结果是_16_。#include main( )int a=0;a+=(a=8);printf(%dn,a); 7.以下程序输出的结果是_0_。#include main( )int a=5,b=4,c=3,d;d=(abc);printf(%dn,d);8.以下程序运行后的输出结果是_20,0_。#include main( )int x=10,y=20,t=0;if(x= =y)t=x;x=y;y=t;printf(%d,%dn,x,y);9.设a,b,c为整型数, 且a=2,b=3,c=4, 则执行完语句a*=16+(b+)-(+c);后,a的值是_28_。10.20x30或x20)&(X30)|(X-100)_。11.若int i=10;,则执行下列程序后,变量i的正确结果是_13_。switch (i) case 9:i+=1;case 10:i+=1;case 11:i+=1;default:i+=1;12.下面
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1