当前位置:文档之家› 第二章练习题vc++

第二章练习题vc++

练习题一、选择题1.设有int x=1,y=2,z=3;下列关于语句的描述中,是错误的。

A.if(x>3) if(y>5) else z=6 ;z=7;B.if(x>=3) z=6;else z=7; else z=8;C.if(x<3) for(z=6;z<9;z++) ;else z=7;D.if(x<3) switch(z){ case 1: z=6;} else z=7;2.设有int x,a,b,c;下列合法的if语句是。

A.if(a==b)x++; B.if(a=<b)x++;C.if(a<>b)x++; D.if(a=>b)x++;3.设int a=1,b=2,c=3,d=4;则条件表达式a<b?a:c<d?c:d的值为。

A.1 B.2 C.3 D.4 4.下列关于switch语句,说法不正确的是。

A.switch语句后的一对大括号不能省略B.每一个case的出现顺序不影响程序执行的结果C.switch语句中的default子句只能放在最后D.每个case后的常量表达式的值必须互不相同5.以下关于if语句的错误描述是。

A.条件表达式可以是任意的表达式B.条件表达式只能是关系表达式或逻辑表达式C.条件表达式的括号不可以省略D.与else配对的if语句是其之前最近未配对的if语句6.对于程序段:int a=1,b=2,c=3;if(a=0)cout<<b<<'\n';else cout<<c<<'\n';执行上述语句序列后,下列说法正确的是。

A.a的值为0,输出2 B.a的值为1,输出2C.a的值为0,输出3 D.a的值为1,输出37.执行下列程序段后,a的值为。

int a=0;if(a>0) a++;else if(a<4)if(a<3)a+=3;else a+=4;else a+=5;A.2 B.3 C.4 D.58.执行下列程序,若输入1,则输出的结果是。

#include <iostream.h>void main(){int i,k=0;cin>>i;switch(i) {case 1:k++;case 2:k++;break;case 3:k++;default:k++;}cout<<k<<endl;}A.1 B.2 C.3 D.4 9.运行下列程序,输入6和4,则输出结果分别是。

#include <iostream.h>void main(){int x;cin>>x;if(x++>5) c out<<x<<endl;else cout<<x--<<endl;}A.6和3 B.7和5 C.7和4 D.6和4 10.执行下列程序,输入为8的输出结果为。

#include <iostream.h>void main(){int k;cin>>k;switch(k%5){case 1:cout<<k++;case 2:cout<<++k;case 3:cout<<k--;case 4:cout<<--k;default:cout<<"Full!"<<endl;}}A.Full! B.6 C.8 D.86 Full! 11.以下程序的运行结果。

#include <iostream.h>void main(){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:b++;break;a++;}cout<<a<<','<<b<<endl;}A.2,1 B.1,1 C.1,0 D.2,2 12.若定义float x=1;int a=1,b=2;则正确的switch语句为。

A.switch(x){ B.switch(a+b){case 1.0:cout<<"*\n"; case 1+1:cout<<"*\n";case 2.0:cout<<"**\n"; case a+2:cout<<"**\n";} }C.switch(b){ D.switch(a+b){case 1+1:cout<<"*\n"; case 1:cout<<"*\n";case 2:cout<<"**\n"; case 1+2:cout<<"**\n";}13.已知int a,b;下列switch语句中,正确的是。

A.switch(a){ B.switch(a*a){case a:a++;break; case 1,2:++a;case b:b++;break; case 3,4:++b;} }C.switch(a+b){ D.switch(a+b){case 2:a+b;break case 5:a/5;break;case 2:a-b; default:a+b;} }14.执行以下程序,输出结果为。

#include <iostream.h>void main(){int a=100;char c=a;cout<<c<<'\n';}A.100 B.语法错误,不能执行C.a D.d 15.执行以下程序时,输出的是。

#include <iostream.h>void main(){int s1=0,s2=0,s3=0,s4=0;for(int t=1;t<=4;t++)switch(t){case t>=4:s1++;break;case t>=3:s2++;break;case t>=2:s3++;default:s4++;}cout<<s1<<','<<s2<<','<<s3<<','<<s4<<'\n';}A.语法错误,编译不通过B.1,1,1,2C.1,2,3,2 D.1,1,2,216.下面有关for循环的正确描述为。

A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环语句中,可以包含多条语句,但要用花括号括起来17.以下关于循环体的描述中,是错误的。

A.循环体中可以出现break语句和continue语句B.循环体中可以出现循环语句C.循环体中不能出现循环语句D.循环体中可以出现switch语句18.以下关于do while语句的叙述中,正确的是。

A.不能使用do while语句构成的循环体B.do while语句构成的循环必须用break语句才能退出C.do while语句构成的循环,当while语句中的表达式值为零时结束循环D.do while语句构成的循环,当while语句中的表达式值为非零时结束循环19.VC++语言中while和do while循环的主要区别是。

A.do while的循环体至少无条件执行一次,而while循环不一定B.while的循环控制条件比do while的循环控制条件严格C.do while允许从外部转到循环体内D.do while的循环体不能是复合语句20.若输入字符串“ABC”,下面程序段的输出是。

char c;while(cin>>c,c!='\n')cout<<c+2;A.222 B.CDE C.676869 D.33321.对于for(表达式1;;表达式3)可理解为。

A.for(表达式1;0;表达式3) B.for(表达式1;1;表达式3)C.for(表达式1;表达式1;表达式3) D.for(表达式1;表达式3;表达式3) 22.下列程序段中不是死循环的是。

A.int i=100; B.int k=0;while(1){ do{i=i%100+1; ++k;if(i==20)break; }while(k>=0);}C. int j,sum=0; D.int s=3379;for(j=1;;j++) while(s++%2+3%2)sum=sum+1; s++;23.对于如下程序段,执行后输出为。

for(int i=0;;){if(i%2==0){cout<<i<<'\t';continue;}if(i>=4) break;else i++;}A.0 B.0 2 C.0 2 4 D.死循环,不断输出0 24.关于下面程序段的正确说法是。

int n=0,s=0;while(n++)s+=++n;cout<<s<<endl;A.执行结果是0 B.执行结果是1C.执行结果是2 D.程序段执行无限次25.关于下面程序段的正确说法是。

int n=0;while(n++<=2); cout<<n;A.执行结果是0 B.执行结果是4B.执行结果是2 D.该程序段的语法错误26.下面while循环语句的循环体执行次数是。

while(int j=0)j--;A.1 B.0 C.5 D.无限27.已知int j=5;下面do while循环语句的循环体执体次数是。

do{cout<<j--<<endl;j--;}while(j!=0);A.0 B.1 C.5 D.无限28.下面程序执行的结果是。

#include <iostream.h>void main(){for(int i=4;i<=10;i++){if(i%3==0)continue;cout<<i;}cout<<endl;}A.45 B.69 C.457810 D.67891029.设有int x=3;执行以下循环语句后,输出的结果是。

相关主题