电大形成性考核册c第三次作业及答案

  • 格式:doc
  • 大小:29.32 KB
  • 文档页数:7

下载文档原格式

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

计算机应用专业“C++语言程序设计”课程作业

第三次作业

一、填空题

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地址大未知字节。

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

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

8.假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为(char

*)a+i*sizeof(a[0])。

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

*)a+(i*N+j)*sizeof(a[0][0])。

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

*)a+i*N*sizeof(a[0][0])。

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

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

13.假定a为一个整型数组名,则元素a[4]的字节地址为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指向这个动态数组,则使用的语句为r=new Worker[n];。

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

*(p->b)。

二、给出下列程序运行后的输出结果

以下结果中空格以'ˉ'表示

1.#include

void main(){

;}7,9,11,13,3,8,15,17{int a[8]=

int *p = a;

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

cout<

if((i +1)%4 = =0)cout<

ˉˉˉˉ7ˉˉˉˉ9ˉˉˉ11ˉˉˉ13

ˉˉˉˉ3ˉˉˉˉ8ˉˉˉ15ˉˉˉ17

2.#include

void main(){

int a[5]={3,6,15,7,20};

int *p = a;

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

cout<

cout<

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

cout<

cout<

ˉˉˉˉ3ˉˉˉˉ6ˉˉˉ15ˉˉˉˉ7ˉˉˉ20 ˉˉˉ20ˉˉˉˉ7ˉˉˉ15ˉˉˉˉ6ˉˉˉˉ3 3.#include

void main(){

int a[8] ={4,8,12,16,20,24,28,32};

int *p = a;

do{

cout<< *p << ' ';

p + =3;

}while(p

cout<

4 16 28

4.#include

void main(){

int x =20,y =40, * p;

p =&x;cout<< * p<< ' ';

* p= x +10;

p =&y;cout<< * p<

* p = y +20;cout<< x << ' ' << y <

20 40

30 60

5.#include

{)int * a,int n(int LA.

int s = 0;

for(int i =0;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<

75 45 165

6.#include

void LC(int a,int b){

int x = a;

a = b;

b = x;

cout<< a << ' ' << b <

void main(){

int x =15,y =36;

LC(x,y);cout<< x << ' ' << y <

36 15

15 36

7.#include

void LF(int & x, int y){

x = x + y;

y = x + y;

cout<<”x =”<< x <<”,y =”<< y <

void main(){

int x =5,y =8;

cout<<”x =”<< x <<”,y =”<< y <

cout<<”x =”<< x <<”,y =”<< y <

x=5,y=8