一套编程题 选择题81-100

本文解析了多个C++编程习题,包括函数执行结果预测、局部变量类型、类及对象概念等,帮助读者理解C++核心知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

81.   下面程序的执行结果是(	)。
#include<iostream.h>
void main()
{
 		void swap();
 		extern int a,b;
 		a=3;
 		b=10;
 		swap();
 		cout<<"a="<<a<<",b="<<endl;
}
int a,b;
void swap()
{
 		int temp;
 		temp=a;
 		a=b;
 		b=temp;
}
A、a=3,b=10   B、a=10,b=3  C、a=temp,b=temp   D、语法错误,不能输出正确结果
答案:B
解析:函数swap是无参,所以修改是是main()函数下面的的a,b的值,而不是main()函数体内
	 a,b的值

82.   下列程序的输出结果是(	)。
#include<iostream.h>
void f()
{
 		static int i=15;
 		i++;
 		cout<<"i="<<i<<endl;
}
void main()
{
 		for(int k=0;k<2;k++)
  			f();
}
A、i=16     i=17   
B、i=16     i=15   
C、i=15     i=16   
D、i=15     i=17
答案:A
解析:static变量的生命周期

83.   在横线处填上适当的语句(	),使下面程序执行结果是13,18,23。
#include<iostream.h>
int add(int x,int y=8);
void main()
{
     	    ;
 		cout<<add(a)<<",";
 		cout<<add(a,add(a)<<",";
 		cout<<add(a,add(a,add(a))<<endl;
}
int add(int a,int B)
{
 		int s=a+b;
 		return s;
}
A、int a=3   B、int b=3   C、int a=5   D、int b=5
答案:C
解析:在参数中调用函数时,实参是函数的返回值

83.   在横线处填上适当的语句(	),使下面的程序的执行结果是19 24 30 37 45。
#i nclude<iostream.h>
int fun(int A)
{
 		static int x=10;
 		int y=1;
 		x+=a;
 		a++;
 		y++;
 		return(x+y+A);
}
void main()
{
 		int i=3;
 		while(i<8)
               ;
 		cout<<endl;
}
A、cout<<fun(i++)<<" "     
B、cout<<fun(i)<<" "    
C、cout<<fun(i++)<<" ,"    
D、cout<<fun(i)<<" ,"
答案:A
解析:static变量的生命周期

84.   在C++语言中,局部变量的隐含存储类型是(	)。
A、auto   B、static   C、extern   D、无存储类型
答案:D

85.   下面程序的输出结果为()
#include<iostream.h>
int fun(char *s);
int main()
{
 		cout<<fun("hello");
 		return 0;
}
int fun(char *s)
{
 		char *t=s;
 		while(*t!='\0')
  			t++;
 		return(t-s);
}
A、语法错,不能输出正确结果   B、0   C、6   D、5
答案:D
解析:传入一个带有’\0’的字符串,然后获取字符个数

86.   有关类的说法不正确的是(	)。
A、类是一种用户字定义的数据类型.
B、只有类中的成员函数才能存取类中的私有成员.
C、在类中,如果不做特别说明,所指的数据均为私有类型.
D、在类中,如果不做特别说明,所指的成员函数均为公有类型。
答案:D
解析:class声明的类的成员默认是private权限,struct声明的类默认是public权限

87.   类A是类B的友元,类B是类C的友元,则(	)是正确的.
A、类B是类A的友元        
B、类C是类A的友元
C、类A是类C的友元        
D、以上都不对
答案:D

88.   有下面类的说明,有错误的语句是(	)。
  	class X
  	{
A、 int a=2;
B、 X();
public:
C、 X(int val):
D、 ~X();
};
答案:A
解析:类定义中不能给成员变量赋值

88.  有关析构函数的说法不正确的是(	)。
A、 析构函数有切仅有一个
B、 析构函数和构造函数一样可以有形参
C、 析构函数的功能是用来释放一个对象
D、 析构函数无任何函数类型
答案:B
解析:析构函数不能有形参

89.   已知一个类X, (	)是定义指向类X成员函数的指针,假设类有3个公有成员: void f1(int), void f2(int)和int a.
A、X*P
B、 int X::*pc=&X::a
C、 void(X::*pA)()
D、X*p[10]
答案:C

90.   下列的各类函数中,(	)不是类的成员函数
A、构造函数
B、析构函数
C、友元函数
D、拷贝构造函数
答案:C

91.   下列定义中,X是一个类, (	)是定义指向对象数组的指针p.
A、x*p[4]
B、x(*p)[4]
C、(x*)p[4]
D、x*p[]
答案:B
解析:
数组指针的定义方法:
第一步:写一个该类型的数组
	第二步:把数组名前面加上*
	第三步:把*和数组名一起用小括号括起来

92.   已知p是一个指向类X数据成员m的指针,s是类X的一个对象。如果要给m赋值为3,(	)
是正确的.
A、s.p=3
B、s - >p=3
C、s.*p=3
D、*s.p=3
答案:C

93.   已知f1(int)是类X的公有成员函数,p是指向成员f1()的指针,采用它赋值, (	)是正
确的.
A、p=f1
B、p=X::f1
C、p=x::f1
D、p=f1()
答案:B
解析:需要指定类作用域

94.   已知类X中的一个成员函数说明如下:
Void Set(X &a);
其中,X&a的含义是(	).
A、指向类X的指针为a
B、将a的地址赋给变量Sst
C、a是类X的对象引用,用来做为Set()的形参
D、变量X是a按位相与作为函数Set()的参数
答案:C

95.   一个类的友元函数能够访问该类的(	).
A、私有成员
B、保护成员
C、公有成员
D、所有成员
答案:D

96.   有关类和对象的说法不正确的是(	).
A、对是类的一个实例
B、一各类只能有一个对象
C、任何一个对象只能属于一个具体的类
D、类与对象的关系和数据类型和变量的关系相似
答案:B

97.   下列静态数据成员的特性中,(	)是错误的.
A、说明静态数据成员时前边要加关键字static来修饰
B、静态数据成员在类体外进行初始化
C、引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符
D、静态数据成员不是所有对象所共有的
答案:D

98.   类模板的使用实际上是类模板实例化成一个具体的(		).
A、类
B、对象
C、函数
D、模板类
答案:A

99.  通常拷贝构造函数的参数表是(	).
A、某个对象名
B、某个对象的成员名
C、某个对象的引用名
D、某个对象的指针名
答案:C
解析:防止递归调用死循环

100.   关于常数据成员的说法不正确的是(	).
A、常数据成员的定义形式与一般常量的定义形式相同,只不过常数据成员的定义必须出现在类体中.
B、常数据成员必须进行初始化,并且不能被更新
C、常数据成员通过构造函数的成员初始化列表进行初始化
D、常数据成员可以在定义时直接初始化
答案:D

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值