面向对象 作业三答案

合集下载

面向对象程序设计作业(带答案)

面向对象程序设计作业(带答案)

人工智能学院面向对象程序设计作业Java语言基础年级专业 2019级软件工程专业学号姓名成绩一、选择题1.下列标识符中,正确的是(C)。

A.class B. 123_rr C. _lei D. test&122.下列( D )的选项可以正确表示八进制8。

A.0x8 B. 0x10 C.08 D. 0103. 以下哪个是十进制数17对应的十六进制正确表示?( D )A. 017B. x11C. 0x17D. 0X114.在Java中,不属于整数类型的是( A )。

A.double B. long C. int D. byte5.在Java中,关于标识符的说明,不正确的是(D )。

A.严格区分大小写;B.长度不限;C.不能用关键字和保留字作为标识符;D.可以包含空格6.给出下面代码的输出结果。

( D )public class ByteAdd {public static void main(String args[ ]){byte a=10;byte b=100;byte c;c=a+b;System.out.println(a+"+"+b+"="+c);} }A.输出零B.输出 10+100=110C. 编译时正确,运行时将产生错误;D.编译时将产生错误;二、程序阅读题1. 对于以下程序,运行“java Abs”,将得到什么打印结果?public class Abs{static int a=0x11;static int b=0011;static int c='\u0011';static int d=011;public static void main(String args[]){ System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(d);}}179179类和对象年级专业 2019级软件工程专业学号姓名成绩一、选择题1. 为了在当前程序中使用ch4中的类,可以使用的语句是( A )。

北语19秋《C#》作业3【满分答案】

北语19秋《C#》作业3【满分答案】

19秋《C#》作业3------------------------1.面向对象编程中的“继承”的概念是指()A.对象之间通过消息进行交互B.派生自同一个基类的不同类的对象具有一些共同特征C.对象的内部细节被隐藏D.派生类对象可以不受限制地访问所有的基类对象正确答案:false2.下列类型中, 哪些不属于引用类型()。

A.StringB.intC.ClassD.Delegate正确答案:false3.在C#中,关于接口下面说法错误的是:()A.接口是一组规范和标准B.接口可以约束类的行为C.接口中只能含有未实现的方法D.接口中的方法可以指定具体实现,也可以不指定具体实现正确答案:false4.静态构造函数只能对()数据成员进行初始化。

A.静态B.动态C.实例D.静态和实例正确答案:"[A]"5.当运行程序时,系统自动执行启动窗体的()事件。

A.ClickB.DoubleClickC.LoadD.Activated正确答案:"[C]"6.使用()关键字可以再次引发捕获到的异常?A.NewB.thisC.throwD.Exception正确答案:"[C]"7.下列关于C#面向对象应用的描述中,哪项是正确的?()。

A.派生类是基类的扩展,派生类可以添加新的成员,也可去掉已经继承的成员B.abstract方法的声明必须同时实现C.声明为sealed的类不能被继承D.接口像类一样,可以定义并实现方法正确答案:"[C]"8.C#数组主要有三种形式,它们是()。

A.一维数组、二维数组、三维数组B.整型数组、浮点型数组、字符型数组C.一维数组、多维数组、不规则数组D.一维数组、二维数组、多维数组正确答案:"[C]"9.下列关于数组访问的描述中,哪个选项是错误的(   )A.数组元素索引是从0开始的B.对数组元素的所有访问都要进行边界检查C.如果使用的索引小于0,或大于数组的大小,编译器将抛出一个IndexOutOfRangeException异常;D.数组元素的访问是从1开始,到Length结束;正确答案:false10.C#中TestClass为一自定义类,其中有以下属性定义public void Property{…}使用以下语句创建了该类的对象,并使变量obj引用该对象:TestClass obj = new TestClass();那么,可通过什么方式访问类TestClass的Property属性()A.Obj.PropertyB.MyClass.PropertyC.obj :: PropertyD.obj.Property ()正确答案:"[A]"------------------------1.z=x>y x:y的含义是获取x和y中的较大值并且赋给z。

学堂在线《面向对象程序设计C++》习题

学堂在线《面向对象程序设计C++》习题

学堂在线《面向对象程序设计C++》习题(作业部分)作业一多选题(2分)C++源程序不能直接运行,需要经过如下哪些步骤,才能得到可以运行的程序?A.编译器B.链接器C.汇编器D.编辑器正确答案:AB判断题(1分)C++源程序必须使用两个以上的文件来存放,才能编译链接成可执行程序。

正确答案:×多选题(2分)关于main()函数的参数,以下说法正确的是A.不使用参数也是允许的B.若带参数,则第一个参数是整数类型C.若带参数,则第二个参数是字符串数组D.参数名称只能使用argc和argv正确答案:ABC多选题(2分)为防止头文件重复包含,以下书写错误的是A.错误B.错误C.错误D.错误正确答案:ABCD作业二多选题(2分)下列哪些语句可以完成对数组的初始化A.char name[10] = "THU OOP";B.char course[4] {'O', 'O', 'P'};C.int year[5] {2016, 2017, 2018};D.int score[] = {60, 80, 90};正确答案:ABCD多选题(2分)下列哪些写法不正确A.int* ptr = new int;B.int* ptr = new int(3);C.int * ptr = new int[3];D.int* ptr = new int{3};E.int* ptr = new[] int;F.int ** ptr = new int[4][5];正确答案:EF多选题(2分)下列关于for循环语句的写法,正确的是:A.第1句B.第2句C.第3句D.第4句正确答案:ABCD判断题(1分)函数重载时,函数名必须一样,函数参数必须不同,至于函数返回值类型,则没有限定。

正确答案:√单选题(1分)以下关于函数参数缺省值的说法,正确的是:A.当有多个函数参数时,任意一个都可以设置缺省值B.若只有一个参数,则不能设置缺省值C.只有整数参数才能设置缺省值D.仅允许从函数参数列表的最后一个开始依次设置缺省值(一个或多个)正确答案:D判断题(1分)函数返回类型,既可以放在函数名前面(左边),也可以使用追踪返回类型的语法放到函数名的后面(右边)正确答案:√多选题(2分)关于类成员的访问权限,以下说法正确的是:A.访问权限可以成组设置B.相同权限的成员,可以共用一个权限设置C.同一权限说明不能出现多次D.private必须在public之前出现正确答案:AB单选题(1分)下列关于私有成员的说法,正确的是A.即使是类的成员函数,也不能访问私有成员B.对象通过成员操作符,是可以访问自己隐藏的私有成员的C.私有数据只能被私有成员函数访问,不能被公有成员函数访问D.私有数据成员不能与公有数据成员同名正确答案:D多选题(2分)关于类的成员函数定义,以下说法正确的是:A.既可以放在类中定义,也可以放在类外定义B.在类外定义时,函数名前要加”类名::“进行限定C.只有私有成员函数才能在类中进行定义D.私有成员函数只能在定中进行定义正确答案:AB判断题(1分)所谓this指针,只是一种概念,是为了帮助我们理解类的运作方式而引入的,实际上在成员函数的参数列表中并没有这种变量被传入。

面向对象技术与C++(3)答案

面向对象技术与C++(3)答案

《面向对象技术与C++》试卷答案(3)第一题填充题(10分,每1个空格1分)1.当使用带参数的流操纵算子时,程序中必须包含(iomanip)头文件。

2.复合对象中的成员对象是在建立复合对象之(前)建立的。

3.运算符new分配的动态内存要用运算符(delete) 回收。

如果在一个类的构造函数中使用new分配动态内存,则回收操作应在类的(析构)函数中完成。

4.struct成员的默认访问模式是(public),而class成员的默认访问模式是 (private)。

5.关键字(const) 指定了不可修改的对象或变量。

关键字(const) 指定一个类的成员不会修改类中的数据成员。

6.重载赋值运算符operator= 时,应将其声明为类的(成员)函数。

7.C++中的输入/输出是以字节(流) 的形式实现的。

第二题指出下列程序段中的错误,说明错误原因(10分,每1小题5分)1.class Rational { //表示有理数的类声明public:void Rational (int,int); //第1个参数为分子,第2个参数为分母// 其他成员函数的原型说明private:void Rational ( ); //默认的数为0,其分子表示为0,分母表示为1int a = 0 , b = 1;}1) void Rational(); 构造函数的访问属性应为public2) 两个构造函数都不能指定返回类型3)int a = 0 , b = 1; 不能直接赋初值4)最后少了一个分号(;)2.class myClass {public:myClass(char a, int b) { v = a ; si = b ; }void f1(int i = 10) const { v = v + i ; }static int f2() { return v + si; }private:char v;static int si;} ;1) static函数f2()不能访问非static成员v2) 构造函数中不能对static数据赋值3) const成员函数f1不能修改数据成员v4) static数据si需要在类声明的外面进行初始化第三题选择题 (10分,每1个空格1分)1.在VC++中,目标文件的扩展名为(B)[A] .cpp[B] .obj[C] .h[D] .exe2.通常情况下,模板函数的类型参数个数不能为(A)个。

C++面向对像程序设计教程(第三版)第3单元课后程序答案

C++面向对像程序设计教程(第三版)第3单元课后程序答案
using namespace std;
class aClass
{
public:
aClass()
{
total++;
}
~aClass()
{
total--;
}
int gettotal()
{
return total;
}
private:
static int total;
};
int aClass::total=0;
{val=n;
cout<<"Con."<<endl;
}
Test (const Test&t)
{val=t.val;
cout<<"Copy con."<<endl;
}
};
int main()
{
Test t1(6);
Test t2=t1;
Test t3;
t3=t1;
return 0;
}
#include<iostream.h>
M::f1(Q);
return 0;
}
M p(5,7),q;
q.copy(&p);
fun(p,&q);
p.print();
q.print();
return 0;
}
#include<iostream.h>
class M
{
int A;
static int B;
public:
M(int a)
{
A=t<<"Constructing"<<endl;

奥鹏北语14秋《面向对象程序设计》作业3满分答案

奥鹏北语14秋《面向对象程序设计》作业3满分答案
A. chars1[]=”abcdef”
B. chars2[4]=”abcd”
C. chars3[2][3]={“abc”,”xyz”}
D. chars4[4][]={‘a’,’x’,’s’,’t’}
?
正确答案:A
8.题面见图片
A.
B.
C.
D.
?
正确答案:B
9.以下正确的描述是()。
A.函数的定义可以嵌套,函数的调用不可以嵌套
A. int*p=newa[10]
B. int*p=newfloat[10]
C. int*p=newint[10]
D. int*p=newint[10]={1,2,3,4,5}
?
正确答案:C
17.当#include后面的文件名用尖括号括起来时,寻找被包含文件的方式是( )。
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在目录搜索,再按系统设定的标准方式搜索目录
C.仅仅搜索源程序所在目录
D.搜索当前逻辑盘上的所有目录
?
正确答案:A
18.题面见图片
A.
B.
C.
D.
?
正确答案:A
19.题面见图片
A.
B.
C.
D.
?
正确答案:A
20.下面的标识符中,( )是文件级作用域。
A.函数形参
B.语句标号
C.外部静态类标识符
B.先在源程序所在目录搜索,再按系统设定的标准方式搜索目录
C.仅仅搜索源程序所在目录
D.搜索当前逻辑盘上的所有目录
?
正确答案:B
14.假定变量m定义为“int m=7;”,则定义变量p的正确语句为()。
A. intp=&m

面向对象设计及UML语言作业答案

面向对象设计及UML语言作业答案

类图作业3
3、画出相应的UML 类图。 神舟六号飞船是神舟 飞船系列的一种,它 由轨道舱、返回舱、 推进舱和逃逸救生塔 等组成。航天员可以 在返回舱内驾驶飞船, 轨道舱则是航天员工 作和休息的场所。在 紧急情况下,可以利 用逃逸救生塔逃生。 在飞船两侧有多个太 阳能电池翼,可以为 飞船提供电能。
神舟飞船
U s e r Ap p s
Linux Server
A c c o u nt i n g C o m p on e n t
User Service
Manager Service
实现的,它有两个接口UserService和ManagerService。 构件UserApps是在一个Windows2000的机器上运行的, 它通过接口UserService来访问AccountingComponent。 这两台机器运行在一个TCP/IP局域网上。
Windows20ห้องสมุดไป่ตู้0
<<TCP/IP>>
神舟六号飞船
太阳能电池翼 1..n
+提 供 电 能 ( )
轨道舱
+工 作 () +休 息 ()
返回舱
+驾 驶 飞 船 ()
逃逸救生塔
+逃 生 ()
推进舱
航天员
包图作业
1、画出UML包图。 要求如下:主要存在两 个包,分别为财务子系统 和数据库子系统。数据库 子系统包中又包括数据库 操作,数据库接口以及 oracle接口和sybase接口包 四个包。财务子系统依赖 于数据库操作,数据库操 作依赖于数据库接口。 oracle接口和sybase接口都 是数据库接口。
画出电话机的状态图。

北语22秋《面向对象程序设计》作业3-辅导资料答案

北语22秋《面向对象程序设计》作业3-辅导资料答案
北语22秋《面向对象程序设计》作业3
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.题面见图片{图}
【A.】A
【B.】B
【C.】C
【D.】D
正确选项:A
2.题面见图片{图}
【A.】A
【B.】B
【C.】C
【D.】D
正确选项:D
3.假定指针变量p定义为“int *p=new int[30];”,要释放p所指向的动态内存,应使用语句( )。
【D.】定义该变量的函数中的定义处以上的任何语句都可以访问
正确选项:C
11.题面见图片{图}
【A.】A
【B.】B
【C.】C
【D.】D
正确选项:A
12.程序中主函数的名字为( )。
【A.】main
【B.】MAIN
【C.】Main
【D.】任意标识符
正确选项:A
switch语句能够改写为( )语句。
【A.】for
【A.】*(pb+1)=24
【B.】*(b+1)=24
【C.】*++b=24
【D.】*++pb=24
正确选项:C
6.题面见图片{图}
【A.】A
【B.】B
【C.】C
【D.】D
正确选项:A
7.在下面的二维数组定义中,正确的是( )。
【A.】inta[5][]
【B.】inta[][5]
【C.】inta[][3]={{1,3,5},{2}}
【D.】inta[](10)
正确选项:C
8.题面见图片{图}
【A.】A
【B.】B
正确选项:B

面向对象的程序设计第3阶段XXX练习题答案。共三个阶段,这是其中一个阶段,答案在最后。

面向对象的程序设计第3阶段XXX练习题答案。共三个阶段,这是其中一个阶段,答案在最后。

面向对象的程序设计第3阶段XXX练习题答案。

共三个阶段,这是其中一个阶段,答案在最后。

XXX网络教育第三阶段练题答案考试科目:《面向对象的程序设计》第1章至第10章(总分100分)研究中心(教学点)批次:______ 层次:______ 专业:______学号:______ 身份证号:______ 姓名:______ 得分:______一、单选题(共8题,总分值8分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。

)1.关于函数模板,描述错误的是()。

(1分)A。

函数模板必须由程序员实例化为可执行的函数模板。

B。

函数模板的实例化由编辑器实现。

C。

一个类定义中,只要有一个函数模板,则这个类是类模板。

D。

类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化。

2.关于read()函数的下列描述中,()是正确的。

(1分)A。

该函数只能从键盘输入中获取字符串。

B。

该函数只能用于文本文件的操作。

C。

该函数只能按规定读取指定数目的字符。

D。

从输入流中读取一行字符。

3.s类中提供的控制格式标志字中,()是转换为十六进制形式的标志常量。

(1分)A。

hexB。

octC。

decD。

right4.进行文件输入操作时应包含()文件。

(1分)A。

ifstream.hB。

fstream.hC。

ofstream.hD。

iostream.h5.关于异常的描述中,错误的是()。

(1分)A。

异常既可以被硬件引发,又可以被软件引发。

B。

运行异常可以预料,但不能避免,它是由系统运行环境造成的。

C。

异常是指从发生问题的代码区域传递到处理问题的代码区域的一个对象。

D。

在程序运行中,一旦发生异常,程序立即中断运行。

6.假设有函数模板定义如下:template<typename T>Max(T a。

T b。

T &c)c = a + b;}下列选项正确的是()。

(1分)A。

float x。

y。

float z。

Max(x。

《C++面向对象程序设计》答案-第三章--谭浩强-清华大学出版社

《C++面向对象程序设计》答案-第三章--谭浩强-清华大学出版社

2:#include 〈iostream〉using namespace std;class Date{public:Date(int,int,int);Date(int,int);Date(int);Date();void display();private:int month;int day;int year;};Date::Date(int m,int d,int y):month(m),day(d),year(y){}Date::Date(int m,int d):month(m),day(d){year=2005;}Date::Date(int m):month(m){day=1;year=2005;}Date::Date(){month=1;day=1;year=2005;}void Date::display(){cout<〈month〈〈"/”〈<day〈<”/”<<year〈<endl;}int main(){Date d1(10,13,2005);Date d2(12,30);Date d3(10);Date d4;d1.display();d2。

display();d3.display();d4。

display();return 0;}3:#include 〈iostream>using namespace std;class Date{public:Date(int=1,int=1,int=2005);void display();private:int month;int day;int year;};Date::Date(int m,int d,int y):month(m),day(d),year(y){}void Date::display(){cout〈〈month<<”/”<<day<〈"/"<〈year〈〈endl;}int main(){Date d1(10,13,2005);Date d2(12,30);Date d3(10);Date d4;d1.display();d2.display();d3。

北理工《面向对象程序设计》在线作业

北理工《面向对象程序设计》在线作业
B形式上针对引用的操作实际上作用于它所引用的对象
C一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D不需要单独为引用分配存储空间
我的得分:2分
我的答案:C
解析:
暂无内容
17
2分
下列语句中,正确的是()。
Aconst int buffer=256;
Bconst int temp;
Cint &ref;
我的答案:B
解析:
暂无内容
29
2分
执行下列程序后的输出结果是()。#include<iostream.h>intfun1(intx){return++x;}intfun2(int&x){return++x;}intmain(){inta=0,b=0,c=0;c=fun1(a)+fun2(b);cout<<a<<b<<c<<endl;return0;}
我的答案:D
解析:
暂无内容
5
2分
若有语句int*p=newint[5];int*pi;则以下语句中,执行时会造成delete[]p语句的执行出错的是______。
A(*p)++;
Bp++;
Cpi = p;;
Dpi=p+3;
我的得分:2分
我的答案:A
解析:
暂无内容
6
2分
有如下类定义:classMyClass{public:intgetRef()const{return&a;}intgetValue()const{returna;}voidset(intn)const{a=n;}friendvoidshow(MyClassobj)const{cout<<a;}};下列函数中,定义正确的是()。

面向对象程序设计作业参考答案

面向对象程序设计作业参考答案

面向对象程序设计作业参考答案习题一5、分析下面程序运行的结果。

#using namespace std;int main(){cout<<”This”<<”is”;cout<<”a”<<”C++”;cout<<”program.”<<endl;< p="">return 0;}输出结果:ThisisaC++program.6、分析下面程序运行的结果。

#includeusing namespace std;int main(){int a,b,c;a = 10;b = 23;c = a + b;cout<<'a + b =";cout<<c;< p="">cout<<endl;< p="">return 0;}输出结果:a + b = 338、在你所用的C++系统上,输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,在进行编译,直到没有错误,然后进行连接和运行,分析运行结果。

修改后的程序如下:#includeusing namespace std;int main(){int a, b;a =b = 0;int c = a + b;cout<<”a + b =”<return 0;}9、输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,在进行编译,直到没有错误,然后进行连接和运行,分析运行结果。

修改后的程序如下:#includeusing namespace std;int add(int x,int y);int main(){int a = 0, b = 0;int c = add(a,b);cout<<" a + b ="<<c<<endl;< p="">return 0;}int add(int x,int y){int z = x + y;return z;}习题二1、请检查下面的程序,找出其中的错误(先不要上机,在纸面上作人工检查),并改正之。

面向对象的程序设计第三次作业-答案

面向对象的程序设计第三次作业-答案

第三次作业-答案一、读懂如下程序, 请写出此程序执行所显示的输出结果。

#include<iostream.h>/****************************** stack.h *******************************/ const int STACK_SIZE = 50;class Stack {public:void Init() { top = 0;}void Push(char newElem);char Pop();int Depth() { return top;}bool Empty() { return top == 0 ;}void Print() const ;private:char elem[STACK_SIZE];int top;};/********************************** stack.cpp *****************************/ #include <iostream.h>#include "stack.h"void Stack::Push(char newElem){if(top == STACK_SIZE){cout<<"\nStack is overfilled!"<<endl;return;}elem[top] = newElem;top++;}char Stack::Pop(){if(!top){cout<<"\nStack is empty!!"<<endl;return ('!');}int ret = elem[top-1];top--;return ret;}void Stack::Print() const{if(!top) cout << "Stack is empty! ";else cout << "stack: ";for(int i = top-1; i >=0; i--) cout << elem[i] << " ";cout << endl;}/******************************* main.cpp *********************************/ #include <iostream.h>#include "stack.h"void main(){Stack s;char ch='A';int i;s.Init();if(s.Empty()) cout << "Stack is empty! " << endl;cout << "\npushing 8 elements:";for(i = 0; i < 8; i++){cout <<ch<<" ";s.Push(ch++);}cout<< endl;s.Print();cout << "Poping elements: ";for(i = 0; i < 5; i++) cout << s.Pop() <<" ";cout<<endl;cout << "Stack length = " << s.Depth() << endl;cout << "\nPushing 1 elements: "<< ch<<endl;s.Push(ch);s.Print();cout << "\nPoping elements: "<< endl;for(i = 0; i < 5; i++) cout<<s.Pop()<< " ";cout << "Stack length = "<<s.Depth()<<endl;s.Print();}参考答案:程序的输出应该是:Stack is empty!pushing 8 elements:A B C D E F G Hstack: H G F E D C B APoping elements: H G F E DStack length = 3Pushing 1 elements: Istack: I C B APoping elements:I C B AStack is empty!!Stack length = 0Stack is empty!三、阅读下面的程序,写出程序运行的结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象程序设计技术作业三一、填空题1、假定p所指对象的值为28,p+1所指对象的值为62,则*p++的值为28 。

2、假定p所指对象的值为28,p+1所指对象的值为62,则*++p的值为62 。

3、假定p所指对象的值为25,p+1所指对象的值为50,则执行”(*p)++;”语句后,p所指对象的值为26 。

4、假定p所指对象的值为25,p+1所指对象的值为50,则执行”*(p++);”语句后,p所指对象的值为50 。

5、假定a是一个指针数组,则a+I所指对象的地址比a地址大4*I 字节。

6、假定a是一个一维数组,则a [i]的指针访问方式为*(a+i)。

7、假定a是一个二维数组,则a[i][j]的指针访问方式为*(*(a+i)+j) 。

8、假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为a+4*j 。

9、假定一个二维数组为a[M][N],则a[i][j]对应的存储地址(以字节为单位)为a+4*i*N+4*j 。

10、假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为a+4i*N 。

11、假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大 4 字节。

12、假定a为一个字符数组名,则元素a[8]的字节地址为a+8 。

13、假定a为一个整型数组名,则元素a[4]的字节地址为a+16 。

14、假定一个结构类型的定义为”struct A{int a, b;short c;A * d;};”,则该类型的大小为14 字节。

15、假定一个结构类型的定义为”struct B{int a[8];char*b;};”,则该类型的大小为36 字节。

16、假定一个结构类型的定义为”struct D{int a;union{int b;double c;};D*d[3];};”,则该类型的大小为24 字节。

17、假定要动态分配一个类型为Worker的具有n个元素的数组,并由r 指向这个动态数组,则使用的语句为Worker *r=new Worker[n] 。

18、假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为*(x.a) 。

19、假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为*((*p).b)或*(p->b) 。

二、写出下列程序运行后的输出结果1.# include <iomanip.h>void main(){int a[8]={7,9,11,13,3,8,15,17};int *p=a;for(int i=0;i<8;i++){cout<<setw(5)<<*p++;if ((i+1)%4==0) cout<<endl;}}输出结果:2.# include <iomanip.h>void main(){int a[5]={3,6,15,7,20};int *p=a;for(int i=0;i<5;i++)cout<<setw(5)<<*p++;cout<<endl;for(i=0;i<5;i++)cout<<setw(5)<<*--p;cout<<endl;}输出结果:3.# include <iomanip.h>void main(){int a[8]={4,8,12,16,20,24,28,32};int *p=a;do{cout<<*p<<' ';p+=3;}while(p<a+8);cout<<endl;}输出结果:4.# include <iomanip.h>void main(){int x=20,y=40,*p;p=&x;cout<<*p<<' ';*p=x+10;p=&y;cout<<*p<<endl;*p=y+20;cout<<x<<' '<<y<<endl; }输出结果:5.# include <iomanip.h>int LA(int *a,int n){int s=0;for(int i=0;i<n;i++)s+=a[i];return s;void main(){int a[]={5,10,15,20,25,30};int b=LA(a,5);int c=LA(a+3,2);cout<<b<<' '<<c<<' '<<b+2*c<<endl; }输出结果:6.# include <iomanip.h>void LC(int a,int b){int x=a;a=b;b=x;cout<<a<<' '<<b<<endl;}void main(){int x=15,y=36;LC(x,y);cout<<x<<' '<<y<<' '<<endl;}输出结果:7.# include <iomanip.h>void LF(int &x,int y){x=x+y;y=x+y;cout<<"x="<<x<<",y="<<y<<endl; }void main(){int x=5,y=8;cout<<"x="<<x<<",y="<<y<<endl;LF(x,y);cout<<"x="<<x<<",y="<<y<<endl; }输出结果:8.# include <iomanip.h>void LG(int * &a,int &m){a=new int[m];int *p=a;for(int i=0;i<m;i++)*p++=2*i+1;}void main(){int *p,n=5;LG(p,n);for(int i=0;i<n;i++)cout<<p[i]<<' ';cout<<endl;delete []p;}输出结果:9.# include <iomanip.h>void LH(int * a,int n){int *p=a+n-1;while(a<p){int x=*a;*a=*p;*p=x;a++;p--;}}void main(){int *d=new int[5];int i;for(i=0;i<5;i++){d[i]=2*i+3;cout<<setw(5)<<d[i]<<' ';}cout<<endl;LH(d,5);for(i=0;i<5;i++){cout<<setw(5)<<d[i]<<' ';}cout<<endl;delete []d;}输出结果:10.# include <iomanip.h>void LH(int * a,int n){int *p=a+n-1;while(a<p){int x=*a;*a=*p;*p=x;a++;p--;}}void main(){int *d=new int[5];int i;for(i=0;i<5;i++){d[i]=2*i+3;cout<<setw(5)<<d[i]<<' ';}cout<<endl;LH(d,5);for(i=0;i<5;i++){cout<<setw(5)<<d[i]<<' ';}cout<<endl;delete []d;}输出结果:11.# include <iostream.h># include <string.h>struct Worker{char name[15];//姓名int age;//年龄float pay;//工资};void main(){Worker x;char *t="liouting";int d=46;float f=725;strcpy(,t);x.age=d;x.pay=f;cout<<<<' '<<x.age<<' '<<x.pay<<endl; }输出结果:三、写出下列每个函数的功能1.# include <iostream.h>void LI(int n){int *a=new int[n],*p=a+n;for(int i=0;i<n;i++) cin>>a[i];for(i=n-1;i>=0;i--) cout<<*(--p)<<' ';cout<<'\n';delete []a; }2.# include <iostream.h>void LK(int a[],int n,int *&b,int &m){float s=0;int i;for(i=0;i<n;i++)s+=a[i];s/=n;m=0;for(i=0;i<n;i++)if(a[i]>=s) m++;b=new int[m];int *p=b;for(i=0;i<n;i++)if(a[i]>=s) *p++=a[i];}void main(){int x[]={1,2,3,4,5,6,7,8,9,0},*y,z;LK(x,10,y,z);for(int i=0;i<10;i++) cout<<x[i]<<' ';cout<<endl;cout<<z<<' '<<endl;for(i=0;i<z;i++) cout<<y[i]<<' ';cout<<endl;}3.# include <iostream.h>//struct Worker{//char name[15];//姓名//int age;//年龄//float pay;//工资//};istream &operator>>(istream &istr,Worker &x){cout<<"请输入一个职工记录:姓名、年龄、工资"<<endl;istr>>>>x.age>>x.pay;return istr;}void main(){Worker a;cin>>a;cout<<<<a.age<<a.pay<<endl;}4.//# include <iostream.h>//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;}void main(){StrNode *x;QB(x,5);//for(int i=0;i<5;i++){while (x){cout<<x->name<<' ';x=x->next;}}5.//struct StrNode{ char name[15];StrNode *next;}; void QC(StrNode * f){while (f){cout<<f->name<<' ';f=f->next;}}void main(){StrNode * f;int n=5;f=new StrNode;cin>>f->name;StrNode * p=f;while(--n){p=p->next=new StrNode;cin>>p->name;}p->next=NULL;QC(f); }。

相关文档
最新文档