您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页第二章 C++基础知识练习题及答案

第二章 C++基础知识练习题及答案

来源:爱go旅游网
第二章 C++基础知识练习题

1结果,.请先阅读下面的然后再上机运行程序,2个程序,写出程序运行的验证自己分析的结果是否正确。 程序包含头文件命令#include 1:

//使用名字空间using namespace std; std

//int main() {

cout<<\"This \"<<\"is \"; cout<<\"a \"<<\"C++ \";

cout<< \"program.\"<程序2:

包含头文件命令#include

//使用名字空间using namespace std; std

//int main()

//定义三个变量{ int a,b,c; a、 b 输出提示信息到屏幕 cout<<\"Please input to a and b:\"<//等待用户从键盘输入数据 cin>>a>>b;

// cout<< \"a+b=\" ;

c=a+b;

cout<如果有错误,请修改程序,再进行编译,直到没.输入以下程序,进行编译,观察编译结果,有错误,然后进行连接和运行,并分析运行结果。

包含头文件命令#include

//使用名字空间using namespace std; std

//int main()

//定义两个变量{ int a,b; a 和 b cout<<\"Please input to a and b: \"<//输出提示信息到屏幕等待用户从键盘输入数据 cin>>a>>b;

//输出结果信息至屏幕 cout<< \"Max=\"<< max(a,b)<//主函数返回 return 0; 0至操作系统

//}

//3求两个数中的大者的函数int max(int x, int y) { return (x> y) ?x:y;

} 的最大数,并在主函数中调用此函数。.编写一个函数,用来求2个或3个正整数中 (1) 用不带默认参数的函数实现。 (2) 用带默认参数的函数实现。

对比两种方法,分析使用带默认参数的函数的优点和应用场合。总结如何选择默认参数的值。请分析本题中默认参数的值应该在什么范围选取。

4大的顺序排序,并在主函数中调用此函数。要.编写一个函数,用来实现对3个数按由小到求函数的形参用以下两种形式实现: (1)使用指针形参 (2)使用引用形参

5升序排序,数据类型可以是整型、单精度型、.编写程序,用同一个函数名实现n个数据的字符串型。用重载函数实现。

6代第一个字符串。.编写程序,将两个字符串连接起来,结果取

第2章 C++基础知识补充习题

一、选择题 1、下列关于C++A C++语言起源于C++语言的发展说法错误的是C语言 ( )B 。

在1983C 语言最初被称为“带类的 在年1980C++被命名年C++ 被命名C ”

D 2变而成的一种程序设计语言。、C++语言是以 语言为基础逐渐发展而演( )

Basic A Pascal B C C 3是(、下列关于 D Simula67 )。

C++与C语言关系的描述中错误的 A B C++C++是是CC语言的超集语言进行了扩充

语言C C++

和C语言都是面向对象的程序设计4D C++包含C语言的全部语法特征

(、下列 )。

C++标点符号中表示行注释开始的是// A # B ; 5、每个 D }

C 函数A 预处理命令C++程序都必须有且仅有一个( D 语句

B 主函数 ) 。

C 6一项使得、C++对CC语言做了很多改进,下列描述中哪语言发生了质变,即从面向过程变成面向对象( )。

允许函数重载,并允许设置默认参数A 增加了一些新的运算符

B 引进类和对象的概念C 规定函数说明必须用原型 7

D (、对定义重载函数的下列要求中,错误的是 )。

要求参数中至少有一个类型不同A 要求参数的个数不同

B 要求函数的返回值不同C 要求参数个数相同时,参数类型不同

D 8的描述中,错误的是(、在函数的返回值类型与返回值表达式的类型 )。

在函数调用时是不能改变的A 函数返回值的类型是在定义函数时确定,

类型B

函数返回值的类型就是返回值表达式的同时,函数表达式类型应转换成返回值类型C 函数返回值表达式类型与返回值类型不 类型D

函数返回值类型确定了返回值表达式的9、下列不正确的选项是(计,又支持面向对象程序设计的混合型语言A C++语言是一种既支持面向过程程序设 )。

范围作用的一类单词B 标点符号是在程序中起分割内容和界定

些输入输出流对象C iostream是一个标准的头文件,定义了一

10、下列表示引用的方法中,正确的是(D 类与类之间不可以进行通信和联络已知:int k=1000;

)。 int &z=1000; A int &x=k; B char &y; 二、填空题

D float &t=&k; C 1设计,又可以进行面向、C++既可以用来进行面向 程序设计。 程序 2另一种是、常量分成两种,一种是 常量。

常量,3变量直接操作完全一样。、 就是某一变量的别名,对其操作与对

4种函数调用方式:、按函数在语句中的地位分类,可以有以下 , 3 5 。

, 是、函数与引用联合使用主要有两种方式:一 ;二是 。 6成:、 头 文 件 由 ,三 部 分 内 容 组, 三、程序阅读题 。

1、分析下面的执行结果#include

using namespace std; int main() {

整型变量int

a,b,sum; // 定义a,b,sum三个

a=43; b=37; // 把整数常量赋给变量a 量sum

sum=a+b;

// a与b相加的和赋给变

cout<<\"The sum is\"<} return 0; 2、分析以下程序的执行结果#include

int main() using namespace std; {

int a; int &b=a;

b=10; //变量引用 cout<<\"a=\"<return 0; 3、下列程序的执行结果为}

#include

void mian() using namespace std; {

int n=10; int* pn=&n;

int* &rn=pn; (*pn)++;

cout<<\"n=\"<(*rn)++;

cout<<”n=”<

void fun(int &a,int &b) using namespace std; { }

int p;

p=a; a=b; b=p; void exchange(int &a,int &b,int &c) {

if(aif(aint a,b,c;

a=12; b=639;

cout<<\"a=\"<c=78;

exchange(a,b,c); } return 0; 5、下面的程序输出结果为

#include

int main() using namespace std; {

int *ir; int i; ir=&i; i=17;

cout<<\"int i=\"<#include

int fun(char *s); using namespace std; int main() {

cout<return 0; int fun(char *s) { while(*t!='\\0') char *t=s;

t++;

}

return(t-s);

第2章 C++基础知识补充习题答案

一、选择题

1(、下列关于 C )。

C++语言的发展说法错误的是

C++A 语言最初被称为“带类的 C++语言起源于C语言C” B 在1983C 在年1980C++被命名年C++

被命名

D 2变而成的一种程序设计语言。、C++语言是以 语言为基础逐渐发展而演( B )

Basic A 3 Pascal B C C 是(、下列关于 C )。

C++D 与Simula67

C语言关系的描述中错误的

A B C++C++是是CC语言的超集语言进行了扩充

语言C C++

和C语言都是面向对象的程序设计

4D C++包含C语言的全部语法特征(、下列 C )。C++

标点符号中表示行注释开始的是

// A # B 5、每个 ; C 函数A 预处理命令C++ 程序都必须有且仅有一个(D }

D 语句

B 主函数 B ) 。C

6一项使得、C++对CC语言发生了质变,语言做了很多改进,下列描述中哪

即从面向过程变成

面向对象( D )。

允许函数重载,并允许设置默认参数A 增加了一些新的运算符

B 引进类和对象的概念C 规定函数说明必须用原型

D 7(、对定义重载函数的下列要求中,错误的是

D )。

A 要求参数的个数不同 B 要求函数的返回值不同C 要求参数中至少有一个类型不同 要求参数个数相同时,

参数类型不同

D 8的描述中,错误的是(、在函数的返回值类型与返回值表达式的类型 B )。

定,在函数调用时是不能改变的A 函数返回值的类型是在定义函数时确类型B

函数返回值的类型就是返回值表达式的同时,函数表达式类型应转换成返回值类型C 函数返回值表达式类型与返回值类型不

类型D

函数返回值类型确定了返回值表达式的9、下列不正确的选项是( D )计,又支持面向对象程序设计的混合型语言A C++语言是一种既支持面向过程程序设。

围作用的一类单词B 关键字是在程序中起分割内容和界定范

些输入输出流对象C iostream是一个标准的头文件,

定义了一10、D 已知:下列表示引用的方法中, 类与类之间不可以进行通信和联络int k=1000; 正确的是( A )。

C A int &x=k; B 二、填空题 int &z=1000;

D float &t=&k; char &y; 1计,又可以进行面向、C++既可以用来进行面向 过程 程序设计。 对象 程序设

2一种是、常量分成两种,一种是 符号 常量。 直接 常量,另3对变量直接操作完全一样。、 引用 就是某一变量的别名,对其操作与

4种函数调用方式:、按函数在语句中的地位分类,可以有以下 函数语句 , 3 5 函数表达式 , 函数参数 函数的参数是引用、函数与引用联合使用主要有两种方式:一是 。 ;二是 函数的返回值 是引用 。 6的文件头注释、头文件由三部分内容组成: , 预处理块 ,头文件开头处 函数和类结构声明 。 三、程序阅读题

(略) 第5章 多态性与虚函数 @@@@@@@@@@@@@@@@@@@@@@

@@@@@ 1.为求图形面积的函数。

下列shape类是一个表示形状的抽象类,请从shape类派生三角形area( )类(triangle)、矩形类(rectangle),并用一个函数printArea() 分别输出以上三者的面积。

class shape {public: virtual double area()const=0;

};

~~~~~~~~

2.下列shape类是一个表示形状的抽象类,area( )为求图形面积的函数,要求:

(1)请从shape类派生三角形类(triangle)、矩形类(rectangle),并给出具体的求面积函数。 (2)写一个通用的用以求不同形状的图形面积总和的函数total() 。 class shape {public:

virtual double area()const=0; };

答案1:

#include

#include

class shape{ public: virtual float area()=0; };

class triangle:public shape{ int x,y,z;

public: triangle(int xx,int yy,int zz)

{ x=xx;y=yy;z=zz; }

float area(){

return

float(sqrt((x+y+z)*(x+y-z)*(x+z-y)*(y+z-x)/16)); }};

class rectangle:public shape{

int x1,y1,x2,y2;

public:

rectangle(int xx1,int yy1)

{x1=xx1;y1=yy1;}

float area(){

return float(x1*y1); }};

void main(){

triangle *pc=new triangle(3,4,5);

rectangle* pr=new rectangle(2,6);

shape* pS[2]; pS[0]=pc; pS[1]=pr;

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

{ cout<area()<

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务