您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 带答案C语言2-10章作业
C语言习题集专业班级学号姓名C语言习题集第1页/34页第2章运算符与表达式一、选择题1.若有定义:inta=2,b=3;floatx=3.5,y=2.5;则下面表达式的值为(C)。(float)(a+b)/2+(int)x%(int)yA)3.5B)35C)3.500000D)35.000002.若有定义:intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为(B)。(x+y)%2+(int)a/(int)bA)1.0B)1C)2.0D)23.若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为(A)。x%=(n%=2)A)0B)1C)2D)34.设有intx=11;则表达式(x++*1/3)的值是(A)。A)3B)4C)11D)125.下列程序的输出结果是(C)。#includestdio.hmain(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf(%d\n,d*y);}A)3B)3.2C)0D)3.076.下列程序执行后的输出结果是(小数点后只写一位)(A)。#includestdio.hmain(){doubled;floatf;longl;inti;i=f=l=d=20/3;printf(%d%ld%f%f\n,i,l,f,d);}A)666.06.0B)666.76.7C)666.06.7D)666.76.07.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)。A)1B)2C)2.0D)2.58.若变量a,i已正确定义,且i已正确赋值,则合法的语句是(B)。A)i=int(a)B)++i;C)a=a++=5;D)a=int(i);9.若执行以下程序段后,c3的值为(A)。intc1=1,c2=2,c3;c3=1.0/c2*c1;A)0B)0.5C)1D)210.如下程序的运行结果是(D)。#includestdio.hmain(){inty=3,x=3,z=1;printf(%d%d\n,(++x,y++),z+2);}C语言习题集第2页/34页A)34B)42C)43D)3311.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是(D)。A)a=10ora=0B)a=0|a=10C)a=10&&a=0D)a=10||a=012.设x,y,t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为(C)。A)不定值B)4C)3D)113.以下程序的输出结果是(D)。#includestdio.hmain(){inta=3;printf(%d\n,(a+=a-=a*a));}A)-6B)12C)0D)-1214.设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)0B)1C)2D)315.在C语言中,如果下面的变量都是int类型,则输出的结果是(A)。sum=pad=5;pad=sum++,pad++,++pad;printf(“%d\n”,pad);A)7B)6C)5D)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.若有以下定义intm=5,y=2;,则执行表达式y+=y-=m*=y后y的值是__-16____。9.已知inty;floatx=-3;,执行语句y=x%2;后,变量y的值为__语句本身是错误的_错误的赋值__。10.若intw=1,x=2,y=3,z=4;则条件表达式wx?w:yz?y:z的结果为__3____。11.以下程序的输出结果是__109____。#includestdio.hmain(){intx=10,y=10;printf(%d%d\n,x--,--y);}12.表达式8.0*(1/2)的值为__0.0____。C语言习题集第3页/34页第3章基本语句一、选择题1.下面程序的输出结果是(B)。#includestdio.hmain(){intx=5,y=3;printf(%d\n,y=x/y);}A)0B)1C)3D)不确定的值2.若变量已正确定义,下面程序段的输出结果是(A)。x=5.238794;printf(%f\n,(int)(x*1000+05)/(float)1000);A)5.239000B)输出格式说明与输出项不匹配,输出无定值C)5.238000D)5.243.以下程序的输出结果是(D)。#includestdio.hmain(){inta=4;floatb=9;printf(a=%%d,b=%%f\n,a,b);}A)a=4,b=9.000000B)a=%4,b=%9.000000C)a=%%d,b=%%fD)a=%d,b=%f4.下面语句: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.下面的程序(D)。#includestdio.hmain(){intx=3,y=0,z=0;if(x=y+z)printf(****);elseprintf(####);}A)有语法错误不能通过编译B)输出****C)可以通过编译,但是不能通过连接,因而不能运行D)输出####8.执行下面程序中的输出语句后,a的值是(C)。#includestdio.hC语言习题集第4页/34页main(){inta;printf(%d\n,(a=3*5,a*4,a+5));}A)65B)20C)15D)109.若执行下面的程序时,从键盘上输入3和4,则输出结果是(B)。#includestdio.hmain(){inta,b,s;scanf(%d%d,&a,&b);s=aif(ab)s=b;s=s*s;printf(%d\n,s);}A)14B)16C)18D)2010.以下程序不用第三个变量,实现将两个数进行对调的操作。请填空(B)。#includestdio.hmain(){inta,b;scanf(%d%d,&a,&b);printf(a=%db=%d,a,b);a=a+b;b=a-b;a=;printf(a=%db=%d\n,a,b);}A)a+bB)a-bC)b*aD)a/b11.执行下列程序的结果是(B)。#includestdio.hmain(){floatx=3,y;y=++x*x++;printf(%f\n,y);}A)9.000000B)16.000000C)1.000000D)程序有错误12.执行下列程序时输入1234567,程序的运行结果为(B)。#includestdio.hmain(){intx,y;scanf(%2d%2ld,&x,&y);printf(%d\n,x+y);}A)17B)46C)15D)913.下述程序的输出结果是(A)。#includestdio.hmain(){printf(%f,2.5+1*7%2/4);}A)2.50000B)2.750000C)3.375000D)3.00000014.下属程序的输出结果是(D)。C语言习题集第5页/34页#includestdio.hmain(){floata;a=1/100000000;printf(%g,a);}A)0.00000e+00B)0.0C)1.00000e-07D)015.设x,y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x,y和z的值是(A)。A)x=10,y=15,z=10B)x=10,y=10,z=10C)x=10,y=10,z=15D)x=10,y=5,z=10二、填空题1.下面程序的输出是__-200,25i=-200,j=25____。i=-200j=25#includestdio.hmain(){inti=-200,j=25;printf(%d,%d,i,j);printf(i=%d,j=%d\n,i,j);printf(i=%d\nj=%d\n,i,j);}2.以下程序的输出结果是__156,156,234,9c,156____。#includestdio.hmain(){inta=0234;printf(%3d,%6d,%6o,%6x,%6u\n,a,a,a,a,a);}3.以下程序的输出结果是___123.123789,3.124,123.12378900___。#includestdio.hvoidmain(){doublea=123.123789;printf(%8.6f,%8.3f,%14.8f\n,a,a,a);}4.已有定义intd=-2;执行以下语句后的输出结果是______。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=3b=7x=8.5y=7.182c1=ac2=a_____。#includestdio.hmain(){inta,b;floatx,y;charc1,c2;scanf(a=%db=%d,&a,&b);scanf(x=%fy=%f,&x,&y);scanf(c1=%cc2=%c,&c1,&c2);printf(a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c,a,b,x,y,c1,c2);}C语言习题集第6页/34页第4章选择结构一、选择题1.下列程序的运行结果是(B)。#includestdio.hmain(){inta=2,c=5;printf(a=%d,b=%d\n,a,c);}A)a=%2,b=%5B)a=2,b=5C)a=d,b=dD)a=%d,b=%d2.若有定义:floatw;inta,b;则合法的switch语句是(D)。A)switch(w){case1.0:printf(*\n);case2.0:printf(**\n);}B)switch(a);{case1printf(*\n);case2printf(**\n);}C)switch(w){case1:printf(*\n);default:printf(\n);case1+2:printf(**\n)}D)s
本文标题:带答案C语言2-10章作业
链接地址:https://www.777doc.com/doc-2487843 .html