《C++控制结构》习题参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++控制结构》习题
学号姓名
一、选择题
1、若有整型变量x的当前值是3,则执行下列语句的结果是__B______________
do
cout<<(x-=2);
while(!(-x));
A. 输出值0
B. 输出值1
C. 输出值3和0
D. 陷入死循环
2、在while(!a)中,其中!a与表达式_____A___________等价
A.a==0 B.a==1 C.a!=1 D.a!=0
3、int I=10,执行下列语句后I的值为___D_____________
switch(I)
{ case 9: I+=1;
case 10: I+=1;
case 11: I+=1;
default: I+=1;
}
A. 10
B. 11
C. 12
D. 13
4、对下面三条语句,正确的论断是______A__________
(1)if(a)s1;else s2;
(2)if(a==0)s2;else s1;
(3)if(a!=0)s1;else s2;
A.三者相互等价B.三者相互不等价
C.只有(2)和(3)等价D.以上三咱说法都不正确
5、设有程序段
int x=10; while (x=0) x=x-1;
则下面描述中正确的___C__________
A.while 循环执行10次B.循环是无限循环
C.循环体语句一次也不执行D.循环体语句只执行一次
二、阅读理解题
1、写出下列代码运行后的结果___2________1____
int i, j;
for(i=-3; i<=1; i++)
{
j = i;
while( j < 0 )
{
if(j == -1) break;
j++;
}
}
cout<
2、下面程序的执行中共输出______3_________个数,最后一个输出的数是_____2__________
int y=9;
for( ; y>0; y--)
if(y%3==0)
cout<< --y<<’\t’;
3、运行下列代码并回答问题。
unsigned i;
int count=1;
i=~0;
while((i>>=1)!=0) //这里是右移赋值
count++;
cout<<"count="< 该代码输出运行的结果为__count=32________。如果将第一行改为unsigned char i,则结果为_count=8_________。如果将第一行改为char i,则结果为__陷入死循环_____ ___。 4、int a,b; for(b=1,a=1;b<=50;b++) { if(a>=10) break; if(a%2==1) { a+=5; continue; } a-=3; } 问:执行上述程序段后,a的值是__10________b的值是__6________ 5、int m,n,x,y; cin>>x>>y; m=1;n=1; if(x>0) m=m+1; if(x>y) n=n+m; else if(x==y) n=5; else n=2*m; cout< } 问:为了使输出的结果是 n=4, x 的输入值应满足条件___x 三、 程序填空题 1、程序功能:用下面的公式计算π的近似值: 357 2111......(1) 1,2,3, (435721) n n x x x x n n π+-=-+-+-=+ 若取公式的前n 项和作为近似结果,则第n+1项的值即为误差。现要求用展开公式计算的误差不超过10-6。 double x=1, pai=1 ,item=x*x*x/3; int sign=-1,n=3; while( item>=1e-6 ){ pai=pai+item*sign; item=item* x*x*n/(n+2) ; n=n+2; sign = -sign ; } cout<<”pai=”<< pai*4 < 2、程序功能:用数字0和9之间不同的数字构造所有可能的三位数(个位、十位和百位上的数字各不相同),并统计出共有多少种。 int i,j ,k ,count=0; for(i=1;i<= 9 ;i++) for(j=0;j<= 9 ;j++) if( i==j )continue ; else for(k=0;k<=9;k++) if( k!=i && k!=j ){ cout<<100*i+10*j+k<<’,’; count++; } cout<