《C++程序设计》习题解答(8)

2019-08-30 20:09

int a[5],*p=a; A. *&a[5] B. a+2 C. *(p+5) D. *(a+2) (9)若有定义:int (*p)[4]; 则标示符p( )。

A. 是一个指向整型变量的指针 B. 是一个指针数组名

C. 是一个指针,它指向一个含有4个整型元素的一维数组 D. 定义不合法

(10)若有以下定义,则正确的叙述是( )。

Char*b[2]= {\

A. 数组b的两个元素中各存放了字符串\和\的首地址 B. 数组b的两个元素中各存放了含有四个字符的一维数组的首地址 C. b是一个指针,它指向含有2个数组元素的字符型一维数组 D. 数组b的两个元素值分别是\和\(11)关于引用的说明,下列说法错误的是( )。

A. 任何变量都可以被引用

B. 不允许把为一个变量建立的引用重新用作另一变量的别名 C. 引用和其所代表的变量使用同一片存储空间

D. 如果程序需要先指向一个对象,后又指向另一对象,此时应该采用引用 (12)下列程序的运行结果为( )。

#include void main() { int a[5]={2,4,6,8,10},*p1,**p2;

p1=a; p2=&p1;

cout<<*(p++)<<'\\t'<<**p2; } A. 4 4 B. 2 4 C. 2 2 D. 4 6 参考答案:

(1)C (2)D (3)D (4)C (5)D (6)C (7)D (8)D (9)C (10)A (11)D (12)C

3.编程题

(1)设有一个整型数组,有10个元素,请用3种不同的方法输出各元素。 (2)假设有一个字符串str1,其内容为“Hello!”,请利用指针将该字符串的内容复制到另一个字符串str2中。

(3)输入10个字符串,将它们排序,然后输出这10个已排好序的字符串。编写3个函数分别用于输入、排序和输出,并在main()函数中调用它们。

(4)编写程序,将输入字符串中的大写字母转换为小写字母,并显示输出。 (5)输入一个字符串,然后将它们逆序输出。例如:输入“abcd”,输出“dcba”。 参考答案:

(1)#include

void main() {

int a[]={1,3,5,6,7,8,9,2,4,1},i,*p;

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

(2)#include

#include void main() { char str1[]={'h','e','l','l','o','\\0'}; char *str2; str2=new char[strlen(str1)+1]; for(int i=0;*(str1+i)!='\\0';i++) { str2[i]=str1[i]; } str2[i]='\\0'; cout<

}

(3)#include \

#include \#define N 10

void in(char *p[N]) //输入函数 { int i; char ch[40]; for(i=0;i>ch; p[i]=new char[strlen(ch)+1]; strcpy(p[i],ch); }

}

void out(char *p[N]) //输出函数 { int i; for(i=0;i

}

void sort(char *p[N]) //排序函数 { int i,j,k; char *t=NULL; for(i=0;i0) k=j; j++; } if(i!=k) { t=p[k]; p[k]=p[i]; p[i]=t; } }

}

void main() { char *p[N]; cout<<\请输入需要排序的\个字符串:\ in(p); cout<<\输出排序前的\个字符串:\ out(p); sort(p); cout<<\输出排序后的\个字符串:\ out(p);

}

(4)#include

#include void main() { char a[20];int n=0,j,i=0;char c; cout<<\请输入字母,以‘@’结束\ c=getchar();

while(c!='@') { a[i]=c; i++;n++;

c=getchar(); } a[i]='\\0';

for(i=0;i

if(a[i]>= 'A'&&a[i]<= 'Z') a[i]=a[i]+32; for(i=0;i}

(5)#include

#include void main() { char a[20];int n=0,j,i=0;char c; cout<<\请输入字符串@结束\ c=getchar();

while(c!='@') { a[i]=c; i++;n++; c=getchar(); } a[i]='\\0'; i=0,j=n-1; while(i<=j) { int t; t=a[i]; a[i]=a[j]; a[j]=t; i++; j--; } for(i=0;i}

第七章 类与对象

1.填空题

(1)在C++中,类成员有3种访问权限,它们分别是___________、___________和___________。其中_________提供给用户的接口功能;_________用来描述对象的属性。

(2)类中有一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化,这种成员函数是___________。

(3)析构函数的作用是___________。

(4)类是对象的___________,而对象是类的具体___________。

(5)如果在类中没有明确定义析构函数,清除对象的工作仍由___________来完成,原因是___________。

(6)如果想将类的一般成员函数说明为类的常成员函数,则应该使用关键字___________说明成员函数。

(7)当一个类的对象成员函数被调用时,该成员函数的___________指向调用它的对象。 (8)被声明为const的数据成员只允许声明为___________的成员函数访问。

(9)一个类中若包含另一个类的对象,则这种情况称为类的___________,这个对象称为___________。

(10)若外界函数想直接访问类的私有数据成员,则必须把该函数声明为类的___________。

(11)一个类A若声明为另一个类B的友元类,则意味着类A中的所有成员函数都是类B的___________。

(12)将类中的数据成员声明为static的目的是___________。 (13)类的静态数据成员的初始化工作要放在___________。

(14)若有以下程序结构,该程序运行时调用了___________次构造函数,调用了___________次析构函数。

class Box {……}; void main() {

Box A,B,C; }

(15)下列程序的执行结果是___________。

#include class A { int a; double b; public: A(int x=100,double y=1.2){a=x;b=y;} void show(char *pt) { cout<


《C++程序设计》习题解答(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:江苏省县级以上集中式饮用水水源地保护区的划分 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: