int main() {
int i=1;
cout<<\cout<<\} i=2 i=2
5. #include
int a;
a=7*2+-3%5-4/3; double b;
b=510+3.2-5.4/0.03; cout< cout< 10 333.2 0 4t3 6. #include int x,y,z; x=y=z=1; --x && ++y && ++z; cout< cout< cout< 0 1 1 1 2 2 2 1 2 7. #include void main() { char x('m'),y('n'); int n; n=x cout< cout< n=('y'!='Y')+(5>3)+(y-x==1); cout< 四、改错题 1. 下面程序要求输出x和y的值,x的值为10,y的值为11。 #include 第三章语句 一、选择题 1. 关于switch语句的描述中,正确的是( ) A. switch语句中default子句可以没有,也可有一个 B. switch语句中每个case语句序列中必须有break语句 C. switch语句中default子句只能放在最后 D. switch语句中case子句后面的表达式只能是整型表达式 2. 下列关于goto语句的描述中正确的是( ) A. goto语句可以在一个文件中随意转向 B. goto语句后面要跟上一个它所转向的语句 C. goto语句可以同时转向多条语句 D. goto语句可以从一个循环体内转到循环体外 3. 与以下程序段等价的是( ) while(a) { if(b) continue; c; } A. while(a) { if(!b) c; } B. while(c) { if(!b) break; c; } C. while(c) { if(b) c; } D. while(a) { if(b) break; c; } 4. 在设计C++程序时,应采用的原则之一是( ) A. 不限制goto语句的使用 B. 减少或取消注释行 C. 程序越短越好 D. 程序结构应有助于读者理解 5. for(int m=n=0; !n&&m<=10; m++);语句的循环次数为( ) A. 10 B. 11 C. 12 D. 无限 6. 下面的do语句的循环体执行次数为( ) int a=10; do { a--; }while(a!=0); A. 10 B. 9 C. 11 D. 12 7. 下列for循环的循环体执行次数为(假设循环体中没有引用i和j)( ) for(int i=0, j=10; i=j=10; i++,j--)循环体; A. 0 B. 1 C. 10 D. 无限 8. 下列关于if语句的描述中错误的是( ) A. if语句中只有一个else子句 B. if语句中可以有多个else if子句 C. if语句中if体内不能是开关语句 D. if语句的if体中可以是循环语句 9. 下面的程序( ) #include int a=5, b=4, c=3; if( a = b+c ) cout<<”***”< A. 有语法错误,不能通过编译 B. 可以通过编译但不能通过连接 C. 输出*** D. 输出$$$ 10. 为了避免嵌套的if-else语句的二义性,C++规定else总是与( )组成配对关系。 A. 缩排位置相同的if B. 在其之前未配对的if C. 在其之前未配对的最近的if D. 同一行上的if 11执行下列程序,输入为1时的输出结果是( ) #include int k; cin>>k; switch(k) { case 1: cout< case 4: cout< cout< A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4 12. 下列while循环的循环次数为( ) while(int i=0)i--; A. 0 B. 1 C. 5 D. 无限 13. 下列do-while循环的循环次数为( ) 已知:int i=5; do { cout << i-- < 14. 下列描述正确的是( ) A.不是每个C++程序都必须包含预处理命令#include C. C++程序中的变量必须定义在主程序内部 D. C++程序中所使用的符号常量可以不进行定义 15. 已知int x,y;,下列switch语句中,正确的是( ) A. switch(x*y) B. switch { { case 1: x*y; break; case 1,5: x++; case 2: break; case 3,7: y++; } } C. switch(x) D. switch(x+y/100) { { case x: x*x; break; case x: x*x/100; break; case y: y*y; break; case y: y*y/100; break;