跪求 C++练习题 谢谢!!!

如题所述

模拟试题一
一、选择题
1、C++对C语言作了很多改进,下列描述中( D )使得C语言发生了质变,从面向过程变成了面向对象。
A、增加了一些新的运算符;
B、允许函数重载,并允许设置缺省参数;
C、规定函数说明必须用原型;
D、引进了类和对象的概念;
2、下列描述中,( )是错误的。
A、内联函数主要解决程序的运行效率问题;
B、内联函数的定义必须出现在内联函数第一次被调用之前;
C、内联函数中可以包括各种语句;
D、对内联函数不可以进行异常接口声明;
3、在C++中,关于下列设置缺省参数值的描述中,( )是正确的。
A、不允许设置缺省参数值;
B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;
C、只能在函数的定义性声明中指定参数的缺省值;
D、设置缺省参数值时,必须全部都设置;
4、( )不是构造函数的特征。
A、构造函数的函数名与类名相同;
B、构造函数可以重载;
C、构造函数可以设置缺省参数;
D、构造函数必须指定类型说明。
5、( )是析构函数的特征。
A、析构函数可以有一个或多个参数;
B、析构函数名与类名必须完全相同;
C、析构函数的定义只能在类体内;
D、一个类中只能定义一个析构函数;
6、关于成员函数特征的下列描述中,( )是错误的。
A、成员函数一定是内联函数;
B、成员函数可以重载;
C、成员函数可以设置缺省参数值;
D、成员函数可以是静态的;
7、下列静态数据成员的特性中,( )是错误的。
A、说明静态数据成员时前边要加修饰符static;
B、静态数据成员要在类体外进行初始化;
C、静态数据成员不是所有对象所共用的;
D、引用静态数据成员时,要在其名称前加<类名>和作用域运算符;
8、友元的作用是( )。
A、提高程序的运用效率;
B、加强类的封装性;
C、实现数据的隐藏性;
D、增加成员函数的种类;
9、关于new运算符的下列描述中,( )是错误的。
A、它可以用来动态创建对象和对象数组;
B、使用它创建的对象或对象数组可以使用运算符delete删除;
C、使用它创建对象时要调用构造函数;
D、使用它创建对象数组时必须指定初始值;
10、关于delete运算符的下列描述中,( )是错误的。
A、它必须用于new返回的指针;
B、使用它删除对象时要调用析构函数;
C、对一个指针可以使用多次该运算符;
D、指针名前只有一对方括号符号,不管所删除数组的维数。
11、const int *p说明不能修改( )。
A、p指针;
B、p指针指向的变量;
C、p指针指向的数据类型;
D、上述A、B、C三者;
12、已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,( )是正确的;
A、void print() const;
B、const void print();
C、void const print();
D、void print(const);
13、派生类的对象对它的基类成员中( )是可以访问的。
A、公有继承的公有成员;
B、公有继承的私有成员;
C、公有继承的保护成员;
D、私有继承的公有成员;
14、设置虚基类的目的是( )。
A、简化程序;
B、消除二义性;
C、提高运行效率;
D、减少目标代码;
15、下列描述中,正确的是( )
A、虚函数是一个static 类型的成员函数;
B、虚函数是一个非成员函数;
C、抽象类是指具有纯虚函数的类;
D、抽象类可以说明其对象;
二、判断下列描述的正确性,正确填T,错误填F。
1、C++中标识符内的大小写字母是没有区别的。( )
2、C++是一种以编译方式实现的高级语言。( )
3、计算函数参数顺序引起的二义性是由不同的编译系统决定的。( )
4、返回值类型、参数个数和类型都相同的函数也可以重载。( )
5、使用关键字class定义的类中缺省的访问权限是私有(private)的。( )
6、类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。( )
7、多继承情况下,派生类的构造函数的执行顺序取决于成员初始化列表中的顺序。( )
8、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。( )
9、在私有继承中,基类中所有成员对派生类都是不可见的。( )
10、在保护继承中,对于垂直访问等同于公有继承,对于水平访问等同于私有继承。( )
11、构造函数可以声明为虚函数。( )
12、构造函数可以声明为纯虚函数。( )
三、分析下列程序的输出结果。
1、#include <iostream.h>
class A
{
public:
A() {cout<<"A's con."<<endl;}
~A(){cout<<"A's des."<<endl; }
};
class B
{
public:
B() {cout<<"B's con."<<endl;}
~B(){cout<<"B's des."<<endl; }
};
class C:public A,public B
{
public:
C():member(),B(),A() {cout<<"C's con."<<endl;}
~C(){cout<<"C's des."<<endl; }
private:
A member;
};
void main()
{
C obj;
}
2、#include <iostream.h>
class R
{
public:
R(int r1,int r2) {R1=r1;R2=r2;}
void print();
void print() const;
private:
int R1,R2;
};
void R::print()
{
cout<<R1<<":"<<R2<<endl;
}
void R::print() const
{
cout<<R1<<";"<<R2<<endl;
}
void main()
{
R a(5,4);
a.print();
const R b(20,52);
b.print();
}
3、#include <iostream.h>
class A
{
public:
virtual void act1();
void act2() {act1();}
};
void A::act1()
{
cout<<"A::act1() called. "<<endl;
}
class B : public A
{
public:
void act1();
};
void B::act1()
{
cout<<"B::act1() called. "<<endl;
}
void main()
{
B b;
b.act2();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-01
1、C语言程序的基本单位是____
A) 程序行 B) 语句 C) 函数 D) 字符、C、
2、C语言程序的三种基本结构是____
A、顺序结构,选择结构,循环结构
B、递归结构,循环结构,转移结构
C、嵌套结构,递归结构,顺序结构
D、循环结构,转移结构,顺序结构、A、1
3、C语言规定,程序中各函数之间
A) 既允许直接递归调用也允许间接递归调用
B) 不允许直接递归调用也不允许间接递归调用 C) 允许直接递归调用不允许间接递归调用
D) 不允许直接递归调用允许间接递归调用、
A、1
4、C语言中可处理的文件类型是( )
A) 文本文件和数据文件
B)文本文件和二进制文件
C) 数据文件和二进制文件
D)数据代码文件、B、1
5、C语言可执行程序的开始执行点是( )
A) 程序中第一条可执行语句
B) 程序中第一个函数
C) 程序中的main函数
D) 包含文件中的第一个函数、C、1追问

我无语了
…………
是c++ 不过也谢谢你

追答

一、编程题。根据程序要求,写出函数的完整定义。
  1.写一个函数,找出给定字符串中大写字母字符(即’A’-‘Z’这26个字母)的个数(如字符串”China Computer Wrold”中大写字母字符的个数为3个)。
  函数的原型: int CalcCapital (char *str);
  函数参数: str为所要处理的字符串;
  函数返回值:所给字符串中数字字符的个数
  2.写一个函数,用递归函数完成以下运算:
  sum(n) = 1 – 1/2 + 1/3 – 1/4 + … -(1/n)*(-1)n (其中n>0)
  函数原型: float sum(int n);
  函数参数:n为正整数。
  函数返回值:相应于给定的n,右边表达式运算结果。
  提示:你可以使用递归表达式: sum(n) = sum(n-1) -(1/n)*(-1)n
  3. 给定新数值,在一个按节点所存放数值从大到小排序的链表中,找适当位置插一个新节点,仍保持有序的链表,写一个函数,完成此操作。
  函数的原型: Node * InsNode(Node * head, int newValue);
  其中,链表节点的定义如下:
  struct Nodee{
  int Value; //存放数值
  Node * next; //指向链表中的下一个节点
  };
  函数参数:函数的第一个参数head指向链表头一节点的指针,如果链表为空,则head的值为NULL。第二个参数newValue为所给定的插入新节点的新数值。
  函数返回值:当成功地插入新的节点时,函数返回指向新链表头一节点的指针,否则,若不能申请到内存空间,则返回NULL。
  4.写一个函数,找出给定数组中具有最小值的元素。
  函数的原型:
  char MinCode(char charAry[]);
  函数参数:charAry所要处理的字符数组名;
  函数返回值:返回具有最小ASCII码的字符。

跪求C++练习题 谢谢!!!
一、选择题 1、C++对C语言作了很多改进,下列描述中( D )使得C语言发生了质变,从面向过程变成了面向对象。A、增加了一些新的运算符;B、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型;D、引进了类和对象的概念;2、下列描述中,( )是错误的。A、内联函数主要解决程序的运...

几道c++基础练习题,需要详细的分析,谢谢
第四题:弄清楚(a,c)的运算规则就ok了,(编译后执行结果一致)。第五题:if ( b = = 0 ) m = 1; n = 2;c\/c++语言规定一个语句的结束符为分号“;”和“}”,这句有两个分号故是两条语句。第六题:这个题得明白变量赋值和指针赋值的区别,a=b=10和*p=a=10是不相同的,*p=a...

C++练习题,选择填空判断题,求老师看我做的对不对
一 4. B(main定义在哪都可以)7. D(不需要解释~~~2333)二 2. X(可以不执行)3.X(有种事情叫"递归")5.对(为什么不可以?)三 6.(虽然没错,但是提醒一下,除了基本类型以外,其他类型最好const引用)那我要去学校了~~~

C++期末练习题~~~
第 9 ,10 题 其他题答案统一,且有正确的解释 9 B 类成员默认访问属性为 private,构造函数的可以为private成员,类定义中 成员变量是不可以被初始化的 10 c 构造函数是可以被重载的

求解c++练习题 感谢
1 --x==y 返回真此时x为8 执行表达式--x 再执行--x后x为7 x<9成立 b=7 c=8 2 感觉B D都对 B选项只执行t=2*s D选项只执行t=t+s 3 fun里的变量d会覆盖全局变量d 结果为5+3 main里为1+3

几个关于VC++编程问题 达人请进
建议:这两个题都是特别简单的初学时最常见的练习题,如果是想学c++的话,那么最好先自己练习找思路。程序编写出来后在对照其他人的程序进行比较,看谁的思路好、全面,解决问题的方法简单明了。这样才会有进步,基础也才可以打牢。第一题:include <iostream> using namespace std;int main(){ int ...

两道C++入门练习
第二题没有C D的比赛?2.include <stdio.h> void main(){ int match[4][4] ={ {-1,2,1,2},\/\/A对A、B、C、D的进球数(A对本身没有比赛,值-1){1,-1,3,4},{4,1,-1,1},{2,2,1,-1},};int score[4] = {0};\/\/各队进球数 int win[4] = {0};\/\/胜利数 int...

c++练习题
1.if (a > b && a > c)max = a;else if (b > a && b > c)max = b;else max = c;2.while ( cin >> amount){ amt = amount \/ 10;switch (amt){ case 0: pay = amount * PRICE; cout << pay << endl; break;case 1: pay = amount * PRICE * 0.9; cout << ...

急求C\/C++中关于switch语句的习题,简单易懂的就好!
switch语句练习题 1.若运行时输入:3 5\/,则以下程序的运行结果是___main( ){float x,y;char o;double r;scanf("%f %f %c",&x,&y,&o);switch(o){case '+':r=x+y;break;case '-':r=x-y;break;case '*':r=x*y;break;case '\/':r=x\/y;break;} printf("%f",r);} 2....

C++中多继承的练习题,请问这两题答案是? 讲解一下,谢谢
3选B,一个类多次成为一个派生类的直接基类显然是不可能的,也没有这个必要。一个类可以多次成为派生类的间接基类,但是要用虚继承,如果不是虚继承,是不可以多次成为派生类的间接基类的,不然当访问基类数据的时候,派生类根本不知道你要访问的是哪一个基类的成员,但是虚继承能保证数据的唯一性,...

相似回答