C++习题第03章 C++的控制语句.docx
- 文档编号:9167008
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:18
- 大小:20.24KB
C++习题第03章 C++的控制语句.docx
《C++习题第03章 C++的控制语句.docx》由会员分享,可在线阅读,更多相关《C++习题第03章 C++的控制语句.docx(18页珍藏版)》请在冰豆网上搜索。
C++习题第03章C++的控制语句
第03章C++的控制语句
习题
1.选择题
(1)下列for循环的次数为()。
for(inti=0,x=0;!
x&&i<=5;i++);
A)5;B)6;C)2;D)无限次
(2)下列while循环的次数为()。
A)0;B)1;C)5;D)无限次
(3)下列关于switch语句描述正确的是()。
A)switch语句中default子句可能没有,也可有一个
B)switch语句的每个语句序列中必须有break语句
C)switch语句中的default子句只能放在最后
D)switch语句中的case语句后面的表达式可以是整型表达式
(4)下列关于break语句描述错误的是()。
A)break语句可用于循环体内,它将退出该重循环
B)break语句可用于switch语句中,它将退出switch语句
C)break语句可用于if体内,它将退出if语句
D)break语句在一个循环体内可出现多次
(5)与下面程序段等价的是()。
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;}
2.判断题
(1)在for循环表达式中,必须包含3个循环表达式。
()
(2)while循环的循环体很可能一次也不执行。
()
(3)在if结构中,若包含两条或很多条语句,则必须用大括号括起来。
()
(4)在switch语句中,case子句的排列次序将会影响执行结果。
()
(5)一个switch语句必须包含一个default语句。
()
3.读程序写结果
(1)
#include
#include
voidmain()
{inti,j,k;
for(i=1;i<=5;i++)
{for(j=1;j<=(20-3*i);j++)
cout<<"";
for(k=1;k<=i;k++)
cout< cout< } } (2) voidmain() {inti,j,k; for(i=1;i<=5;i++) {for(j=1;j<=(13-2*i);j++) cout<<""; for(k=1;k<=i;k++) cout< (2)< for(k=i-1;k>0;k--) cout< (2)< cout< } (3) #include voidmain() {inti=1,j=0; Switch(i) {case1: Switch(j) {case0: cout<<”j的值为0;“< case1: cout<<”j的值为1;“< } Case2: cout<<”i的值为2;“endl; } } 4.编程题 (1)编写程序,计算1~100所有3的倍数的数的和。 (2)编写程序,用户输入一些整数,该程序分别计算出所有奇数和所有偶数之和,并输出它们。 (3)编写程序,求解输入两个正整数的最大公约数和最小公倍数。 (4)编写程序计算10个正整数的平均值、方差以及标准方差。 (5)输入4个字母,并反向显示这些字母。 (6)输出所有的“水仙花数”。 “水仙花数”是指一个3位数,其各位数字的立方体和等于该数本身。 例如,153为一个水仙花数,因为153=13+53+3 (7)求50∑n! (即1! +2! +……+50)。 n-1 8)编写程序求一元二元方程ax2+bx+c=0的解。 该方程的解分为以下几种情况: ①b2-4ac=0,有两个相等的实根: ②b2-4ac>0,有两个不等的实根; ③b2-4ac<,无实根; ④a=0,不是二次方程。 (9)编写程序,用循环语句打印如下图案。 @ @#@ @###@ @#####@ @###@ @#@ @ (10)编写程序,输入年月日信息,并输出这一天为这一年的第几天,注意闰年问题。 (11)编写程序,由用户输入x值,计算函数并输出y。 函数如下所示。 X(x<0) Y=x2(0 4x3-x2(x>10) (12)鸡兔同笼问题。 若鸡兔共有100只脚,利用循环计算鸡兔各几只。 习题参考答案 第1章C++语言概述 1.填空题 (1)函数说明,函数体 (2)声明区,主程序区,函数定义区 (3)多态性 (4)namespace,using (5)std (6)cin,>> (7)// (8)对数据的操作 2.判断题 (1)对 (2)错(3)错(4)错(5)错 3.改错题 (1)没有函数体,应改为 voidmain(){}; (2)语句没有分号,应改为 usingnamespacemyspace; (3)cout和操作符<<共同完成输出的功能,应改为 cout<<"Inputyourname: "; (4)应改为 #include 4.简答题(略) 5.编程题(略) 第2章基本数据类型、运算符与表达式 1.选择题 (1)B (2)D(3)B(4)D(5)B 2.简答题 (1)(a)、(c)(e)、(f)、(g)、(h)、(i) (2)(a)、(g)、(i)、(j) (3) (a)5.5 (b)0 (c)20 (d)0,0 (e)1 (f)1,2 (g)3 (h)-40 (i)2 (j)3 (k)s1>='0'&&s1<='9' (l)N! =0 3.读程序写结果 (1)0,15 (2)(1、1、1),(-1、-1、-1) (3) (a)a*a+2*a*b+b*b (b)4.0/3.0*3.1415926*R*R*R (c)5.0/9.0*(F-32) (d)b>=a&&b<=c (4) 36 41 43 (5) x=1 4.编程题(略) 第3章C++的控制语句 1.选择题 (1)B (2)A(3)A(4)C(5)A 2.判断题 (1)错 (2)对(3)对(4)错(5)错 3.读程序写结果 (1) 1 22 333 4444 55555 (2) 1 121 12321 1234321 123454321 (3) j的值为0; i的值为2; 4.编程题(略) 第4章函数 1.填空题 (1)void (2)静态全局变量,static (3)函数重载 (4)inline (5)递归函数 (6)宏定义命令,文件包含命令,条件编译命令 2.判断题 (1)错 (2)错(3)错(4)错(5)错 (6)对(7)错(8)错(9)对(10)对 3.读程序写结果 (1) x=7,y=4 x=9,y=5 (2) 34.56 101 (3) 16 22 28 (4) 1215182124 (5) 2,1,4,1,3,2,1, 4.简答题(略) 5.编程题(略) 第5章构造数据类型 1.选择题 (1)C (2)D(3)A(4)B(5)C 2.判断题 (1)错 (2)对(3)对(4)错(5)错 3.读程序写结果 (1) 153 (2) 42 256810 (3) 65535,21 (4) 4 19 (5) 6904 (6) 4 3 2 1 0 4.编程题(略) 第6章类和对象 1.填空题 (1)类,对象,类 (2)数据成员,成员函数 (3)不能 (4)private,protected,public,private (5)成员函数 (6)friend (7)类名,作用域运算符 (8)对象名.成员名,指针变量名->成员名,(*指针变量名).成员名 (9)构造,析构,构造,析构 (10)常量数据,引用数据 (11)全局,数据类型,所属的类 (12)常成员,只读 (13)成员,友元 (14)类数据成员,类成员函数 (15)this (16)浅拷贝 2.选择题 (1)C (2)C(3)B(4)C(5)B (6)C(7)D(8)B(9)C(10)D (11)A(12)C(13)D(14)D(15)B 3.改错题 (1)man1.salary=1000.00;不能在类外访问类的私有成员 (2)floatr=0;和floatc=0;类本身是抽象的,不能在类的定义体中给其数据成员赋值 }后缺少分号“;” (3)成员函数voidsetdata(floatx1,floaty1,floatr);没有实现 (4)构造函数名point()应与类名同名,为Point 没有头文件包含#include 4.读程序写结果题 (1) x=0,y=0 x=100,y=200 (2) x=100,y=200 x=1000,y=2000 t=3.14 (3) Sta: : fun2()=10 s.fun2()=11 r.a=20 (4) Constructor1called! x=0 Constructor2called! x=100 Destructorcalled! Destructorcalled! (5) 57 5.简答题(略) 6.编程题(略) 第7章继承和派生 1.填空题 (1)继承 (2)基类,派生类 (3)private,protected,public,private (4)不可访问,保护,公有 (5)私有 (6)单 (一),多(重) (7)赋值兼容规则 (8)静态,动态 (9)抽象类 2.选择题 (1)B (2)A(3)B(4)C(5)B (6)A(7)D(8)B(9)B(10)B (11)D(12)B 3.改错题 (1)本题的错误主要是数据成员的访问权限问题: 基类的私有成员在派生类中不可访问,如fb()函数中的a3=30;语句;类的私有和保护成员在类外不能访问,如main函数中的x.a2=20;.a3=30;,y.a2=200;,y.a3=300;,y.b2=2000;和y.b3=3000;语句。 (2)本题的错误主要是成员函数的访问权限问题: 由于派生类Derived是基类Base的保护派生类,所以基类中的私有成员变成派生类的不可访问成员,而基类的保护和公有成员则变成派生类的保护成员。 对于类的不可访问和保护成员在类外是不能访问的,故main函数中的语句obj.funl();,obj.fun2();和obj.fun3();是错误的。 4.读程序写结果题 (1) d=110 b=190 d=110 d=110 (2) d=110 b=190 d=110 b=90 (3) 基类B1的构造函数被调用 基类B3的构造函数被调用 基类B2的构造函数被调用 派生类D的构造函数被调用 派生类D的析构函数被调用 基类B2的析构函数被调用 基类B3的析构函数被调用 基类B1的析构函数被调用 (4) A B C D D (5) A B D D (6) A A B D D (7) A B C D D (8) 5 25 5.简答题(略) 6.编程题(略) 第8章运算符重载 1.填空题 (1)函数重载 (2)重载为类的成员函数,重载为类的友元函数 (3)Operator (4)1,2 (5)友元 2.选择题 (1)B (2)D(3)A(4)D(5)B (6)C(7)C(8)C 3.简答题(略) 4.编程题(略) 第9章模板 1.填空题 (1)类模板,函数模板 (2)类,对象 (3)数据类型 (4)fun(5) 2.选择题 (1)C (2)B(3)C(4)B(5)D 3.简答题(略) 4.编程题(略) 第10章文件 1.填空题 (1)FILE,stdio.h (2)stdio.h,fopen,fclose (3)顺序,随机 (4)cin,>>,cout,<< (5)ios (6)fstream,open,close (7)文件指针的当前位置,文件开头,文件尾 2.选择题 (1)B (2)B(3)A(4)D(5)B (6)D(7)C(8)B(9)A(10)B 3.简答题(略) 4.编程题(略) 第11章string类与标准模板库STL 1.填空题 (1)字符数组,string类 (2)string (3)容器,迭代器,算法 (4)顺序,关联 (5)指针 (6)函数模板 2.简答题(略) 3.编程题(略) 第12章异常处理 1.填空题 (1)throw,try,catch (2)多 (3)数据类型 (4)catch(…) (5)相反 2.判断题 (1)错 (2)对(3)错(4)错(5)错 3.简答题(略) 4.编程题(略)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+习题第03章 C+的控制语句 C+ 习题 03 控制 语句
![提示](https://static.bdocx.com/images/bang_tan.gif)