河北科技大学 面向对象程序设计基础学习提纲

更新时间:2024-01-25 10:41:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《面向对象程序设计基础》学习提纲

第1章 程序设计与c++语言初步

1、c++语言程序结构 2、c++程序运行

3、面向对象程序特征 第2章 基本数据类型

1、 标识符、关键字:标识符的命名规则:以字母或下划线开始,不能包含非法字符

2、 常量和变量

整型常量(十、八、十六进制的正确写法) 实型常量(小数形式、指数形式) 字符常量(普通字符和转义字符) 字符串常量(结束标志、长度)

变量(合法变量名、数据类型、作用域、存储类型) 符号常量:#define PI 3.14

const double PI = 3.14; 3、 C++输入输出流(无格式输入输出,输入字符串) 4、 基本数据类型

(整型、实型、字符型、无值型(void)、布尔型) 5、 运算符与表达式(重点)

运算符的种类、优先级和结合性(编译器会对程序中所有表达式求值) 算术运算符及表达式:* 、 / 、 + 、- 、%(用于整数运算,可用来

判断是否整除)、

++、――(自加、自减,只能作用于变量,放在变量前面或后面的区

别)

关系运算符及表达式:>、<、>=、<=、= =、!=。运算结果为1(真)

或0(假)

逻辑运算符及表达式:(会使用&&和||书写逻辑表达式,判断时非0即

为真,0为假)

赋值运算符及表达式:赋值运算符=和+=,左边只能是变量。 4、 类型转换:如(int);经过强制类型转换后算术表达式的求值 例题:2.3.1(p37) 练习:2-1、2-3、2-8 上机习题:2-2 第3章 基本控制结构

1、 三种基本结构:顺序结构、选择结构、循环结构 2、 顺序结构(表达式语句、空语句、复合语句) 3、 if..else语句实现选择结构及其嵌套 4、 switch语句实现多分支选择,break语句跳出分支结构 5、 for、while、do..while循环结构(循环次数、循环条件、循环结束后变量的值)

第 1 页 共 17 页

6、 break语句和continue语句 7、 多重循环

例题:3.2.3 3.2.4 3.2.5 3.2.8 3.3.4 3.3.6 练习:3-2,3-4, 3-6 上机习题: 3-3 第4章 函数

1、 函数的有关概念:类型、参数、返回值 2、 定义函数:确定函数的类型、形参的类型及名称、返回值及一致性、定义位置等。

3、 函数调用:确定实参及类型、调用方式与方法、参数传递方式(传值调用、传址调用)。

4、 递归函数及调用:由递推公式定义递归函数 5、 变量的作用域及存储类型:全局、局部变量的定义及其作用域,局部变量的三种存储类型:自动存储、静态存储、寄存器存储,静态局部变量的初始值及在函数经过多次调用后的值。

6、递归程序设计

7、预处理命令:宏定义 8、库函数

例题:4.2.2 4.7.2 练习题:4-6,4-8 第5章 类与对象

1、类的定义;类成员的访问控制:公有public、保护protected和私有private。

2、成员函数的定义:在类外定义成员函数。

3、对象的概念:类和对象的关系;构造函数和析构函数; 习题:5-2,5-4 第6章 复合数据类型

1、 指针与指针变量的概念、定义、指针运算(不包括指针的关系运算)、初始化。

2、 一维数组、二维数组的定义及初始化(下标从0开始,二维数组按行排列、根据行列数定义二维数组等)

3、 指向变量的指针与指向数组的指针的使用(字符指针的各种初始化形式) 4、 利用字符指针处理字符串(输入、输出、复制、逆序排列、求长度) 5、字符串:string类的用法 4、 常用字符串处理函数(strlen、strcpy、strcmp、strcat) 6、 指针数组的使用(多个字符串按字典顺序排序) 6、对象指针:用指针访问数据成员和成员函数 7、指向函数的指针

8、结构类型、枚举类型与类型别名 例题:6.3.1 6.3.2 习题:6-3,6-6,6-9

第 2 页 共 17 页

第7章 继承机制

1、继承和派生的概念

2、单一继承:三种继承方式的区别 3、派生类构造函数的定义方法 4、派生类析构函数的注意问题 5、多重继承的声明形式

6、多重继承的二义性及其解决方法 第8章 多态性

1、多态的概念 2、函数重载

3、运算符重载:重载为成员函数;重载为友元函数 4、虚函数的声明及其用法 5、虚析构函数的作用

6、纯虚函数和抽象类的概念 第10章 输入输出流

1、输入输出流类库

2、文件流的概念:文件的打开和关闭;文件的读写 例题:10.5.1, 10.7.1

复习题一及参考答案:

一、单选题(每小题1分,共6分)

1、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为 。

A. main B. MAIN C. name D. function 2、设x和y均为bool量,则x&&y为真的条件是 。

A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假 3、下面的哪个保留字不能作为函数的返回类型? 。 A. void B. int C. new D. long

4、假定a为一个整型数组名,则元素a[4]的字节地址为 。 A. a+4 B. a+8 C. a+16 D. a+32

5、假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为 。

A. 3 B. 4 C. 6 D. 9

6、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为: 。

A. AB operator+(AB & a , AB & b) B. AB operator+(AB & a) C. operator+(AB a) D. AB & operator+( )

二、填空题(每小题2分,共24分)

第 3 页 共 17 页

1、C++语言中的每条基本语句以 作为结束符,每条复合语句以

作为结束符。

2、执行“cout <

3、float 和 double 类型的大小分别为 和 。 4、关系表达式x+y>5的相反表达式为 。

5、假定一个一维数组的定义为“char * a[8] ;”,则该数组所含元素的个数为 ,所占存储空间的字节数为 。

6、变量分为全局和局部两种, 变量没有赋初值时,其值是不确定的。

7、假定a是一个二维数组,则a[i][j]的指针访问方式为 。 8、假定一个结构类型定义为

“struct D { int a ; union { int b ; double c ; } ; D * d[2] ; } ;” , 则该类型的大小为 字节。

9、对一个类中的数据成员的初始化可以通过构造函数中的 实现,也可以通过构造函数中的 实现。

10、假定AB为一个类,则执行“AB a[10];”语句时,系统自动调用该类的构造函数的次数为 。

11、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为 。

三、给出下列程序运行后的输出结果(每小题6分,共36分) 1、# include void SB(char ch) { switch(ch){

case 'A': case 'a':

cout <<\ case 'B': case 'b':

cout <<\ case 'C': case 'c':

cout <<\ default:

cout <<\ } }

void main() {

char a1='b',a2='C',a3='f'; SB(a1);SB(a2);SB(a3);SB('A'); cout <

第 4 页 共 17 页

2、# include # include

void main() {

char *a[5]={\ char *p1,*p2; p1=p2=a[0];

for (int i=0; i<5; i++) {

if (strcmp(a[i],p1)>0) p1=a[i]; if (strcmp(a[i],p2)<0) p2=a[i]; }

cout <

3、# include int a=5;

void main() {

int a=10,b=20;

cout <

for (int i=1; i<6; i++) { a+=i; b+=a; }

cout <

cout <

4、# include int LB(int *a,int n) { int s=1;

for (int i=0; i

void main() {

int a[]={1,2,3,4,5,6,7,8}; int b=LB(a,5)+LB(&a[3],3); cout <<\}

第 5 页 共 17 页

5、# include # include struct Worker{

char name[15]; // 姓名 int age; // 年龄 float pay; // 工资 };

void main() { Worker x;

char *t=\ int d=38; float f=493; strcpy(x.name,t); x.age=d; x.pay=f;

cout <

6、# include class A { int a; public:

A(int aa=0) { a=aa; }

~A() { cout <<\};

class B:public A { int b; public:

B(int aa=0,int bb=0):A(aa) { b=bb; }

~B() { cout <<\};

void main() {

B x(5),y(6,7); // 后定义的变量将先被释放 }

四、写出下列每个函数的功能(每小题6分,共24分) 1、# include int SA(int a,int b) { if (a>b) return 1;

else if (a==b) return 0; else return -1; }

第 6 页 共 17 页

2、float FI(int n) {

// n为大于等于1的整数 float x,y=0; do {

cin >>x; n--; y+=x*x; } while (n>0); return y; }

3、template

void WE(Type a[],Type b[],int n) { for (int i=0; i

4、struct StrNode {

char name[15]; // 字符串域 StrNode * next; // 指针域 };

void QB(StrNode * & f ,int n) { if (n==0) { f=NULL; return; } f=new StrNode; cin >>f->name; StrNode * p=f; while (--n) {

p=p->next=new StrNode; cin >>p->name; }

p->next=NULL; }

五、编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文件“a:xxk1.dat”中。(10分)

一、单选题(每小题1分,共6分)

评分标准:选对者得1分,否则不得分。

1、A 2、A 3、C 4、C 5、B 6、B 二、填空题(每小题2分,共24分)

评分标准:每题与参考答案相同者得2分,否则不得分。 1、 : } 2、 C

第 7 页 共 17 页

3、 4 8 4、 x+y<=5 5、 8 32

6、 局部 7、 *(a[i]+j) 或 *(*(a+i)+j) 8、 20 9、 初始化表 函数体 10、 10 11、 AB::bb

三、给出下列程序运行后的输出结果(每小题6分,共36分)

评分标准:每题与参考答案的数据和显示格式完全相同者得6分,否则酌情给分。

1、 good! pass! bad! well! 2、 worker cadre 3、 10 20 15 35 5 10 20

4、 b=240

5、 liouting 38 493 6、 Destructor B! 7 Destructor A! 6 Destructor B! 0 Destructor A! 5

四、写出下列每个函数的功能(每小题6分,共24分)

评分标准:每题与参考答案的叙述含义相同者得6分,否则酌情给分。 1、比较两个整数a和b的大小,若a>b则返回1,若a= =b则返回0,若a

2、求出从键盘上输入的n个常数的平方和并返回。

3、模板函数,把数组a的每个元素按逆序放入数组b中。

4、建立一个具有n个结点的链表,每个结点的字符串值由键盘输入,链表的表头指针由引用变量f带回。

五、编写程序,把从键盘上输入的一批整数(以-1作为终止输入的标志)保存到文本文件“a:xxk1.dat”中。(10分)

评分标准:见参考程序中的注释。

# include // 使用此命令得1分 # include # include

void main() {

ofstream fout(\定义输出文件流并打开文件得2分 if (!fout){

cerr <<\文件没有打开!\ exit(1);

第 8 页 共 17 页

} // 可有可无 int x; cin >>x;

while (x!=-1) {

fout <>x;

} // 能够从键盘向文件正确输出数据得6分 fout.close(); // 关闭输出文件流得1分 }

复习题二及参考答案 一、 填空题

1.C++源程序文件的缺省扩展名为________。

2.程序的三种基本控制结构是:顺序结构、 结构、___________结构。

3.在C++程序中,当函数调用在前、函数定义在后时,则应在主调函数中,在调用前增加对被调函数的___________说明。

4.在调用具有数组参数的函数时,须以 作为实在参数。

5.函数递归调用指的是,在函数定义的函数体中又出现直接或间接地调用 。

6.C++依据调用中实在参数在 上或 上的不同来确定调用的是重载函数的哪一个。

7. 在函数外定义的变量称为 变量。 8. 字符串常量是用 括起来的字符序列,在字符串的末尾有一个结束标志 。 9. 当撤消一个含有基类和类对象成员的派生类对象时,将首先完成____________的析构函数定义体的执行,接着完成________________的析构函数定义体的执行,最后完成____________的析构函数定义体的执行。

10. 设px是指向一个类动态对象的指针变量,则执行”delete px;”语句时,将自动调用该类的____________。(2分)

11.假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为________。(2分)

12.假定a为一个整型数组名,则元素a[4]的字节地址为_______。(2分) 13.假定一个结构类型的定义为 “struct D{int a; union {int b; double c;};D* d[2];};”,则该类型的大小为________字节。(2分)

14.假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为____________________________。(2分) 二、 写出下列表达式的值及运算过程

1.设x=2.5,y=4.7,a=7,b=2: 计算表达式x+a%3+(int)y/(int)x的值 2.设x=2.5,y=4.7,a=7,b=2:计算表达式!(a>b)|| x>y的值

第 9 页 共 17 页

3.设a=1,b=-2,c=1:计算表达式

x=(d=b*b-4*a*c, (d==0)?-b/(2*a):-b/(2*a)+ sqrt(d)/(2*a)) 的

4.设有变量说明int a=4,b=2,x=3,y=0:计算表达式(--a<++b)&&(x

5. int a=1,&b=a,*p=&a,y :计算表达式 y=(a+=b,b+=*p,*p+a) 的值 6. 设:int a[5]={10,20,30,40,50}; int *p=&a[0]; 计算表达式++*p+*(a+3)的值。

三、读程序, 并将运行结果写在对应输出语句的后面 1.#include void main()

{ int a[6]={0,1,2,3,4,5}; int i=0;

for(i=0;i<6;i++)

{

if(i%2==0) a[i]=a[i]+1; else a[i]=a[i]+2; cout<< a[i]; } }

2.#include void f(int &a,int &b) {

int t=a; a=b; b=t; }

void main() {

int x=10,y=15; f(x,y);

cout<

3.#include void main() { int i=10; switch (i)

{ case 9:i++; case 10:++i; case 11:i++; default:i=i+1;

第 10 页 共 17 页

}

cout<

4. #include #include struct Worker {

char name[15]; //姓名 int age; //年龄 float pay; //工资 };

void main() { Worker x;

char *t=\

int d=45; float f=1235; strcpy(x.name,t); x.age=d; x.pay=f;

cout<

四、编程题

1.设计一程序,它输入10个整数到一个数组中,调整这10个整数在数组中的排列位置,使得其中最大的一个数成为数组的首元素,最小的一个数成为数组的末元素。

2.用递归方法设计函数int arraymin(int d[],int size);其中d 为数组,size为数组元素个数;arraymin返回d中的最小元素。

3.定义描述圆柱体的结构体类型Cylinder,该结构体类型的数据成员为圆柱体底半径r与高h。编写函数Volume()计算出圆柱体的体积。在主函数中定义圆柱结构体变量,输入圆柱体的半径与高,调用Volume()函数计算出圆柱体体积,并输出圆柱体的体积。

参考答案

一、填空题

1. cpp 2. 条件分支 循环 3. 原形 4. 单独的数组名 5.自身 6. 数量 类型 7. 全局 8. 双引号 ‘\\0’

9. 派生类 类成员所属类 基类 10. 析构函数

11. 25 12. a+16 13. 20 14. Worker* r=new Worker[n]; 二、写出下列表达式的值及运算过程

1.5.5 2. 0 3. 1 4.0 5. 8 6. 51 三、读程序, 并将运行结果写在对应输出语句的后面

1.1 3 3 5 5 7 2.15 10

第 11 页 共 17 页

3.13

4.weirong 45 1235 四、编程题

1.#include void main()

{ int data[10],m;

for(m=0;m<10;m++) cin>>data[m]; int j=0,k=0;

for(int i=1;i<10;i++)

if(data[i]>data[j]) j=i;

else if(data[i]0){

int d=data[0]; data[0]=data[j];

data[j]=d; if(k==0) k=j; }

if(k<9){

int d=data[9];

data[9]=data[k]; data[k]=d; }

cout<

for(m=0;m<10;m++) cout<

2.int arraymin(int d[],int size) {

int min;

if(size==1)return d[0]; else if(d[0]>d[size-1])

d[0]=d[size-1]; min=arraymin(d,size-1); return min ;

}

复习题三

一、单项选择题

1. C++源程序文件的默认扩展名为( )。

A. cpp B. exe C. obj D. lik

2. 由C++源程序文件编译而成的目标文件的默认扩展名为( 第 12 页 共 17 页

)。

A. cpp B. exe C. obj D. lik

3. 由C++目标文件连接而成的可执行文件的默认扩展名为( )。 A. cpp B. exe C. obj D. lik

4. C++程序从上机到得到结果的几个操作步骤依次是( )。

A. 编译、编辑、连接、运行 B. 编辑、编译、连接、运行 C. 编译、运行、编辑、连接 D. 编辑、运行、编辑、连接 5. 以下标识符中不全是保留字的是( )。

A. case for int B. default then while C. bool class long D. goto return char 6. 能作为C++程序的基本单位是( )。

A. 字符 B. 语句 C. 函数 D. 源程序文件 7. 程序中主函数的名字为( )。

A. main B. MAIN C. Main D. 任意标识符 8. C++程序的基本模块为( )。

A. 表达式 B. 标识符 C. 语句 D. 函数 9. 可用作C++语言用户标识符的一组标识符是( )。

A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof

10. 存储以下数据,占用存储字节最多的是( )。 A. 0 B. ?0? C. “0” D. 0.0

11. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( )

符号作为分隔符。

A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车

12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( )。 A. 12 B. 144 C. 156 D. 288

13. 假设在程序中 a、b、c 均被定义成整型,所赋的值都大于1,则下列能

正确表示代数式的表达式是( )。

A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c

14. 设”int a=15,b=26;”,则”cout<<(a,b);”的输出结果是( )。

A. 15 B. 26,15 C. 15,26 D. 26

15. 设x是一个bool型的逻辑量,y的值为10,则表达式 x && y的值为( )。

A. 1 B. 0 C. 与x值相同 D. 与x值相反 16. x>0 && x<=10的相反表达式为( )。

A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 &&

x>10

17. x>0 || y==5的相反表达式为( )。

A. x<=0 || y!=5 B. x<=0 && y!=5 C. x>0 || y!=5 D. x>0 &&

第 13 页 共 17 页

y==5

18.设x和y均为bool量,则x && y为真的条件是( )。

A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假

19.设x和y均为bool量,则x || y为假的条件是( )。

A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假

20. 字符串”a+b=12\\n”的长度为( )。 A. 6 B. 7 C. 8 D. 9

21. 假定下列x和y均为int型变量,则不正确的赋值为( )。 A. x+=y++ B. x++=y++ C. x=++y D. ++x=++y 22. 下列的符号常量定义中,错误的定义是( )。 A. const M=10; B. const int M=20; C. const char ch; D. const bool mark=true;

23. 循环语句“for(int i=0; i

A. 1 B. n-1 C. n D. n+1

24. 在下面循环语句中循环体执行的次数为( )。 for(int i=0; in/2) break;

A. n/2 B. n/2+1 C. n/2-1 D. n-1

25. 在下面循环语句中内层循环体S语句的执行总次数为( )。 for(int i=0; i

for(int j=i; j

A. n2 B. (n+1)/2 C. n(n-1)/2 D. n(n+1)/2 26. 在下面循环语句中循环体执行的次数为( )。 int i=0,s=0; while(s<20) {i++; s+=i;} A. 4 B. 5 C. 6 D. 7

27. 在下面循环语句中循环体执行的次数为( )。 int i=0; do i++; while(i*i<10);

A. 4 B. 3 C. 5 D. 2

28. 当处理特定问题时的循环次数已知时,通常采用( )来解决。 A. for循环 B. while循环 C. do循环 D. switch语句 29. 循环体至少被执行一次的语句为( )。

A. for循环 B. while循环 C. do循环 D. 任一种循环 30. switch语句能够改写为( )语句。

A. for B. if C. do D. while 31. do语句能够改写为( )语句。

A. 复合 B. if C. switch D. while

第 14 页 共 17 页

32. 在下面的一维数组定义中,哪一个有语法错误。( ) A. int a[]={1,2,3}; B. int a[10]={0}; C. int a[]; D. int a[5];

33. 在下面的字符数组定义中,哪一个有语法错误。( )。 A. char a[20]=”abcdefg”; B. char a[]=”x+y=55.”; C. char a[15]; D. char a[10]=’5’; 34. 在下面的二维数组定义中,正确的是( )。 A. int a[5][]; B. int a[][5]; C. int a[][3]={{1,3,5},{2}}; D. int a[](10);

35. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素

a[1][2]的值为( )。

A. 2 B. 4 C. 6 D. 8

36. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素

a[2][1]的值为( )。

A. 0 B. 4 C. 8 D. 6

37. 若定义了函数 double *function(), 则函数function的返回值为( )。 A. 实数型 B.实数的地址 C.指向函数的指针 D.函数的地址 38. 以下说法中正确的是( )。

A. C++程序总是从第一个定义的函数开始执行 B. C++程序总是从main函数开始执行

C. C++函数必须有返回值,否则不能使用函数

D. C++程序中有调用关系的所有函数必须放在同一个程序文件中 39. 以下叙述中不正确的是( )。

A. 在一个函数中,可以有多条return语句

B. 函数的定义不能嵌套,但函数的调用可以嵌套 C. 函数必须有返回值

D. 不同的函数中可以使用相同名字的变量 40. 函数重载是指( )。

A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B. 两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同

C. 两个以上的函数名字不同,但形参的个数或类型相同

D. 两个以上的函数取相同的函数名,并且函数的返回类型相同 41. 以下关于函数模板叙述正确的是( )。 A. 函数模板也是一个具体类型的函数

B. 函数模板的类型参数与函数的参数是同一个概念

C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数 D. 用函数模板定义的函数没有类型 42. 下列( )的调用方式是引用调用。

第 15 页 共 17 页

A. 形参和实参都是变量 B.形参是指针,实参是地址值 C. 形参是引用,实参是变量 D.形参是变量,实参是地址值 43. 为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( )。

A. 内联函数 B.重载函数 C.递归函数 D.函数模板 44. 函数原型语句正确的是( )。

A. int Function(void a); B.void Function (int); C. int Function(a); D.void int(double a); 45. C++中函数返回值的类型是由( )决定的。

A. return语句中表达式的类型 B.该函数定义时的类型 C.调用函数时的调用语句 D.系统根据结果 46. 以下函数的返回结果是( )。 int function(char *x) {

char *p=x; while(*p++); return(p-x-1); }

A. 求字符串的长度 B.将字符串x连接到字符串p后面 C. 将字符串x复制到字符串p中 D.将字符串x反向存放

47. 函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为( )个。

A. 1 B. 2 C. 4 D. 5 48. 设有如下函数定义

int f(char *s) { char *p=s;

while(*p!=?\\0?) p++; return(p-s); }

在主函数中用cout<

A. double fun(int x,int y) B. double fun(int x;int y) C. double fun(int,int); D. double fun(int x,y); 50. 以下正确的说法是( )。

A. 用户调用标准库函数前,必须重新定义

B. 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 C. 系统不允许用户重新定义标准库函数

D. 用户调用标准库函数前,不必使用预编译命令将该函数所在文件包

括到用户源文件中

第 16 页 共 17 页

3. #define PI 3.1416

struct cylinder {

double r,h;

};

double volume(double r,double h) {

return PI*r*r*h; }

#include void main(){

cylinder x;

cout<<\请输入圆的半径和高:\cin>>x.r>>x.h;

cout<

}

第 17 页 共 17 页

本文来源:https://www.bwwdw.com/article/jwcw.html

Top