习题 2及其解答
选择题
1.已知 int i=0, x=1, y=0 ; 在下列选项使i的值变成1的语句是( c )。 (a) if( x&&y ) i++ ; (c) if( x||y ) i++ ; 2.设有函数关系为y=?(b) if( x==y ) i++ ; (d) if( !x ) i++ ;
??1?0?1?x?0x?0x?0 ,下面选项中能正确表示上述关系为( c )。
(a) y = 1 ; (b) y = -1 ;
if( x >= 0 ) if( x != 0 )
if( x == 0 ) y = 0 ; if( x > 0 ) y = 1 ; else y = -1; else y = 0; (c) if( x <= 0 ) (d) y = -1 ; if( x < 0 ) y = -1 ; if( x <= 0 )
else y = 0 ; if( x < 0 ) y = -1 ; else y = 1 ; else y = 1 ; 3.假设i=2,执行下列语句后i的值为( b )。
switch( i ) { case 1 : i ++ ; case 2 : i -- ; case 3 : ++ i ; break ; case 4 : -- i ; default : i ++ ; } (a) 1
(b) 2
(c) 3
(d) 4
4.已知int i=0,x=0; 下面while语句执行时循环次数为( d )。
while( !x && i< 3 ) { x++ ; i++ ; } (a) 4
(b) 3
(c) 2
(d) 1
5.已知int i=3;下面do_while 语句执行时循环次数为( b )。
do{ i--; cout<
for ( i=0,j=5;i=j; )
{ cout << i << j << endl;
i++; j--; } (a) 0
(b) 5
(c) 10
(d) 无限
(b) 2
(c) 3
(d) 无限
6.下面for语句执行时循环次数为( b )。
7.以下死循环的程序段是( b )。
(a) int x; for( int x=0 ; x<3 ; ) { x++ ; } ; (b) int k = 0; do { ++k ; } while( k>=0 ) ; (c) int a=5 ; while( a ) { a-- ; } ; (d) int i=3 ; for( ; i ; i -- ) ;
阅读下列程序,写出执行结果
1.
#include
a = c = 0; b = 1; d = 20; if( a ) d = d-10; else if( !b ) if( !c ) x = 15; else x = 25; cout << d << endl; } 【解答】 20 2.
#include
{ int a = 0, b = 1; switch( a )
{ case 0: switch( b )
{ case 0 : cout<<\ case 1 : cout<<\ }
case 1: a++; b++; cout<<\ } } 【解答】 a= 0 b= 1 a= 1 b= 2 3.
#include
using namespace std; int main() { int i = 1; while( i<=10 ) if( ++i % 3 != 1 ) continue;
else cout << i << endl; } 【解答】 4 7 10 4.
#include
using namespace std;
int main()
{ int i = 0 , j = 5; do
if ( i>3 ) break; } while ( j>0 );
cout << \
} 【解答】
i= 4 j= 1 5.
#include
for( i=1, j=5; i cout< #include { i++; j--; int main() { int i, s = 0; for( i=0; i<5; i++ ) switch( i ) { case 0: s += i; break; case 1: s += i; break; case 2: s += i; break; default: s += 2; } cout<<\ } 【解答】 s= 7 7. #include { int i, j, x = 0; for( i=0; i<=3; i++ ) { x++; for( j=0; j<=3; j++ ) { if( j % 2 ) continue; x++; } x++; } cout << \ } 【解答】 x= 16 思考题 1. C++中有什么形式的选择控制语句归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。 【解答】 语句 if语句 使用方式 if(表达式)语句1; else 语句2; 使用场合 需要对给定的条件进行判断,并根据判断的结果选择不同的操作。 适用于复杂的条件表达式判断。 switch 语句 switch(表达式) { case 常量表达式1: 语句1; case 常量表达式2: 语句2; …… case 常量表达式n; 语句n; [default : 语句n+1;] } 根据整型表达式的不同值决定程序分支的情况。 适用于判断表达式简单,需要多个分支处理的情况。 演示程序: 程序(1) 什么叫循环控制归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。 【解答】 循环控制是在特定的条件下,程序重复执行一些特定动作。 语句 while语句 语法 while(表达式) 循环体; 循环条件:表达式值为非0(真) 循环结束条件:表达式值为0(假) 执行流程 使用场合 程序中常用于根据条件执行操作而不需关心循环次数的情况。 先判断形式循环,条件不成立时不进入循环体。 do-while语句 do 循环体 while(表达式); 循环条件:表达式值为非0(真) 循环结束条件:表达式值为0(假) 程序中常用于根据条件执行操作而不需关心循环次数。 后判断形式循环,至少执行1次循环体。 一般情况,while语句和do while语句可以互换使用。
C++课后习题答案2-习题及其解答(第3版)



