《面向对象程序设计》期末复习题
一、 选择题
1.系统约定C++源程序文件名的缺省的扩展名为 。 A
A.cpp B.c++ C.bcc D. vcc 2.关于C++程序的执行过程,正确的说法是 。 C
A.从程序的第一行开始,直到程序的最后一行结束 B.从主函数开始,直到程序的最后一行结束 C. 一定从主函数开始,直到主函数结束
D. 从程序的第一个函数开始,直到程序的最后一个函数结束 3.以下选项中,不能作为用户自定义标识符的是 。 B
A.a_bc B.a+bc C._time_ D.Name 4.下列符号中,能用作C++标识符的是 。D
A.5A B.int C.a+b D. F4 5.以下常量表示中,不正确的是 。 C
A.\ B.'a' C.0831 D.0X831
6.设有四个常数: ① 4e0.5 ② '\\87' ③ 0X5A ④\其中符合C++语法规则的常量是 。 C
A. ②③ B. ②④ C. ③④ D. ①②
x2?y27.数学式在C++程序中正确的表达式为 。C
xyA.sqrt(x*x+y*y)/x*y B.SQRT(x*x+y*y)/x*y C.sqrt((x*x+y*y)/(x*y)) D.SQRT((x*x+y*y)/(x*y)) 8. 在数学式
3xy中,变量x和y的取值为整数, 而变量a和b的取值为实数,在C++程序中对应的正确5ab表达式是 。 D
A.3/5*x*y/a/b B.3*x*y/5/a/b C.3*x*y/5*a*b D. 3/a/b/5*x*y
9. 设有说明: int x=10,y=4,f; float m; 执行表达式f=m=x/y后,则f、m的值分别为 。D A. 2, 2.5 B. 3, 2.5 C. 2.5, 2.5 D. 2, 2.0
10.设有说明语句:float y=5.16347;int x;则以下表达式中,可以实现将y 中的数值保留小数点后2位,第三位四舍五入的表达式是 。 B
A.y=(y*100+0.5)/100.0 B.x=y*100+0.5,y=x/100.0 C. y=y*100+0.5/100.0 D.y=(y/100+0.5)*100.0
11.在C++中,以下双目运算符中要求两个操作数均为整型的运算符是 。 D
A.|| B.&& C./ D.% 12.设int n=10,j=4;则赋值运算n%=j+1执行后,n的值是 。A
A.0 B.3 C.2 D.1 13.实型变量x 的取值范围为闭区间 [-2,10]或开区间(15,34),则正确表示x取值范围的逻辑表达式是 。B
A. -2<=x <=10||15 A.1 B.2 C.3 D.4 1 15.对于程序段: int a=1,b=2,c=3; if(a=0) cout< 执行上述语句序列后,下列说法正确的是 。C A.a的值为0,输出2 B.a的值为1,输出2 C.a的值为0,输出3 D.a的值为1,输出3 16.设有int x=1,y=2,z=3;下列关于语句的描述中, 是错误的。B 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; 17.下述关于switch语句的描述中,正确的是 。D A. switch语句中的default子句可以没有,也可以有多个 B. switch语句中的每个语句序列中必须有break语句 C. switch语句中的default子句只能放在最后 D. switch语句中的case子句后面的表达式只能是整型表达式 18.下列关于switch语句,说法不正确的是 。C A.switch语句后的一对大括号不能省略 B.每一个case的出现顺序不影响程序执行的结果 C.switch语句中的default子句只能放在最后 D.每个case后的常量表达式的值必须互不相同 19.执行下列程序,若输入2,则输出的结果是 。A #include case 1:k++; case 2:k++;break; case 3:k++; default:k++; } cout< #include 2 switch(i) { case 1:k++; case 2:k++; case 3:k++; break; default:k++; } cout< 21.下列关于while和do … while循环语句的叙述中正确的是 。 A A. do …while 的循环体至少执行一次 B. while的循环体至少执行一次 C.do… while的循环体不能是复合语句 D.do … while 允许从循环体外跳转到循环体内 22.以下关于do while语句的叙述中,正确的是 。C A.不能使用do while语句构成的循环体 B.do while语句构成的循环必须用break语句才能退出 C.do while语句构成的循环,当while语句中的表达式值为零时结束循环 E. do while语句构成的循环,当while语句中的表达式值为非零时结束循环 23.以下对break语句的描述中,不正确的是 。 C A.break语句可用在循环语句中,其作用是结束本层循环的执行 B.break语句可用switch语句中,其作用是结束该switch语句的执行 C.break语句可用if语句中,其作用是结束该if语句的执行 D.break语句在同一循环体中可以多次使用 24.break语句只能用在 。D A. 开关语句中 B. 函数体中允许语句出现的任一位置 C. 循环语句中 D. 开关语句或循环语句中 25.下述关于”for(e1;e2;e3)s1;”的描述中,不正确的是 。B A. 表达式e1、e2和e3均可为空(没有) B. 表达式e1和e3可为空,但e2不能为空 C. 表达式e2的值可增可减 D. 循环体s1可以为空,但分号(;)必须有 26.循环语句: for (int x=0,y=0 ; y!=100 || x<10; ) x++; 执行的循环次数为 。B A. 无限次 B. 10 C. 11 D. 100 27.下面while循环语句的循环体执行次数是 。D while(int j=1)j--; A.1 B.0 C.5 D.无限 28.下面while循环语句的循环体执行次数是 。B while(int j=0)j--; A.1 B.0 C.5 D.无限 29.下面程序执行的结果是 。C #include { for(int i=4;i<=10;i++){ if(i%3==0)continue; 3 cout< } cout< A.45 B.69 C.457810 D.678910 30.下面程序执行的结果是 。B #include { for(int i=4;i<=10;i++){ if(i%3)continue; cout< } cout< A.45 B.69 C.457810 D.678910 31.以下叙述中,不正确的是 。 A A. 在函数内的复合语句中定义的变量在本函数范围内有效 B. 形式参数是局部变量 C. 在函数内定义的变量只在本函数范围内有效 D. 在不同函数中可以使用相同名字的变量 32.在以下的函数原型说明中,存在语法错误的是 。D A. void f(int a, int); B. void f2 (int , int); C. void f3(int , int=5); D. int f4(int x ; int y); 33.以下叙述中,不正确的是 。C A.一个函数中可以有多条return语句 B.一个函数中可以没有return语句 C.一条return语句可返回多个值 D.一条return语句可不返回值 34.下列说法,正确的是: 。C A.C++中的函数必须有return语句 B.一个函数只能有一个return语句 C.通过函数返回值只能带回一个函数执行结果 D.声明为void返回值类型的函数不能有return语句 35.以下四组函数原型说明中,满足C++函数重载规则的是 。C A.float f(float x); void f(float y); B.float f(float x); void f2(float x,float y); C.float f(float x,int y); void f(float y); D.float f(float y); float f(float y) ; 36. 下面有关重载函数的描述中正确的是______。B A. 重载函数必须具有不同的返回值类型 B. 重载函数必须具有不同的形参列表C. 重载函数形参个数必须不同 D. 重载函数名可以不同 37.设有宏定义:# define f(x) (-x*2) 执行语句: cout< A. -14 B. 2 C. -5 D. 5 4 38.设有宏定义:# define f(x) (-(x)*2) 执行语句: cout< A. -14 B. 2 C. -5 D. 5 39. 设有以下语句序列: int x; cin>>x; float z,y[x]={1,2,3,4,5,6,7,8}; //A z=y[3]; //B 则以下说法中正确的是 。 A A. z的值为3 B. z的值为4 C. A行语句有错 D.B行语句有错 40. 若有定义 #define N 3 #define M 3.3 int b=2; 则下列语句正确的是 。 A A. int A[N*N]; B. int A[b*b]; C. int A[M/M][3]; D. int A[M+b]; 41. 在float b[8]={2.3,4.3,6.1,7.8};中数组元素b[2]的值是 。 B A. 4.3 B. 6.1 C. 7.8 D. 0 42. 在float b[8]={2.3,4.3,6.1,7.8};中数组元素b[4]的值是 。 D A. 4.3 B. 6.1 C. 7.8 D. 0 43. 若有定义int a[][3]={{4,2},{1,3,5},{0,3};则数组中最小元素所在的行号和列号分别是 。D A. 3、1 B. 3、0 C. 2、1 D.2、0 44.若有定义int a[][3]={{4,2},{1,3,5}};则数组中最大元素所在的行号和列号分别是 。B A. 1、1 B. 1、2 C. 2、2 D. 2、1 45.若有char p[]=\则 strlen(p+4)的值是 。A A. 0 B. 1 C. 2 D. 4 46. 设有说明语句:char s[ ]= \的值是 。B A. 2 B. 9 C. 11 D. 15 47.执行以下程序时,输入一行字符串为:Thank you very much!程序的输出结果为 。B include { char line[100]; cin>>line; cout< A. T B. Thank C. Thank you very much! D. Thank you 48.执行以下程序时,输入一行字符串为:Thank you very much!程序的输出结果为 。C include { char line[100]; cin.getline(line,100); cout< A. T B. Thank C. Thank you very much! D. Thank you 49.若有 char *p=\则以下选项中错误的是 。B A. char &a= *p; B. char *s= *p; C. char *q=p+2; D. p=p+2; 50.以下四组语句中,不符合C++语法规则的是 。B A. char str[ ]= \ B. char str[20] ; str = \ 5 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库C++期末复习题在线全文阅读。
相关推荐: