C语言基础第二章作业答案,第二章 C++基础知识练习题及答案

《第二章 C++基础知识练习题及答案》由会员分享,可在线阅读,更多相关《第二章 C++基础知识练习题及答案(4页珍藏版)》请在人人文库网上搜索。

1、第二章 C+基础知识练习题1请先阅读下面的2个程序,写出程序运行的结果,然后再上机运行程序,验证自己分析的结果是否正确。程序1:#include /包含头文件命令using namespace std;/使用名字空间stdint main()cout/包含头文件命令using namespace std;/使用名字空间stdint main()int a,b,c; /定义三个变量a、b、ccoutab;/等待用户从键盘输入数据c=a+b;cout/包含头文件命令using namespace std;/使用名字空间stdint main()int a,b; /定义两个变量a和b coutab;。

2、/等待用户从键盘输入数据cout y)?x:y; /求两个数中的大者的函数3编写一个函数,用来求2个或3个正整数中的最大数,并在主函数中调用此函数。(1) 用不带默认参数的函数实现。(2) 用带默认参数的函数实现。对比两种方法,分析使用带默认参数的函数的优点和应用场合。总结如何选择默认参数的值。请分析本题中默认参数的值应该在什么范围选取。4编写一个函数,用来实现对3个数按由小到大的顺序排序,并在主函数中调用此函数。要求函数的形参用以下两种形式实现:(1)使用指针形参(2)使用引用形参5编写程序,用同一个函数名实现n个数据的升序排序,数据类型可以是整型、单精度型、字符串型。用重载函数实现。6编写。

3、程序,将两个字符串连接起来,结果取代第一个字符串。第2章 C+基础知识补充习题一、选择题1、下列关于C+语言的发展说法错误的是( )。A C+语言起源于C语言 B C+语言最初被称为“带类的C”C 在1980年C+被命名 D 在1983年C+被命名2、C+语言是以 语言为基础逐渐发展而演变而成的一种程序设计语言。( )A Pascal B C C Basic D Simula673、下列关于C+与C语言关系的描述中错误的是( )。A C+是C语言的超集 B C+是C语言进行了扩充C C+和C语言都是面向对象的程序设计语言 D C+包含C语言的全部语法特征4、下列C+标点符号中表示行注释开始的是。

4、( )。A # B ; C / D 5、每个C+程序都必须有且仅有一个( )。A 预处理命令 B 主函数 C 函数 D 语句6、C+对C语言做了很多改进,下列描述中哪一项使得C语言发生了质变,即从面向过程变成面向对象( )。A 增加了一些新的运算符 B 允许函数重载,并允许设置默认参数 C 规定函数说明必须用原型 D 引进类和对象的概念7、对定义重载函数的下列要求中,错误的是( )。A 要求参数的个数不同 B 要求参数中至少有一个类型不同C 要求参数个数相同时,参数类型不同 D 要求函数的返回值不同8、在函数的返回值类型与返回值表达式的类型的描述中,错误的是( )。A 函数返回值的类型是在定义。

5、函数时确定,在函数调用时是不能改变的B 函数返回值的类型就是返回值表达式的类型C 函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成返回值类型D 函数返回值类型确定了返回值表达式的类型9、下列不正确的选项是( )。A C+语言是一种既支持面向过程程序设计,又支持面向对象程序设计的混合型语言B 标点符号是在程序中起分割内容和界定范围作用的一类单词C iostream是一个标准的头文件,定义了一些输入输出流对象D 类与类之间不可以进行通信和联络10、下列表示引用的方法中,正确的是( )。已知:int k=1000;A int &x=k; B char &y; C int &z=1000。

6、; D float &t=&k;二、填空题1、C+既可以用来进行面向 程序设计,又可以进行面向 程序设计。2、常量分成两种,一种是 常量,另一种是 常量。3、 就是某一变量的别名,对其操作与对变量直接操作完全一样。4、按函数在语句中的地位分类,可以有以下3种函数调用方式: , , 。5、函数与引用联合使用主要有两种方式:一是 ;二是 。6、头文件由三部分内容组成: , , 。三、程序阅读题1、分析下面的执行结果#includeusing namespace std;int main() int a,b,sum; / 定义a,b,sum三个整型变量 a=43; / 把整数常量赋给变量a b=37。

7、; sum=a+b; / a与b相加的和赋给变量sum cout using namespace std;int main() int a; int &b=a; /变量引用 b=10; coutusing namespace std;void mian()int n=10;int* pn=&n;int* &rn=pn;(*pn)+;coutusing namespace std;void fun(int &a,int &b) int p;p=a; a=b; b=p;void exchange(int &a,int &b,int &c)if(ausing namespace std;int ma。

8、in()int *ir;int i;ir=&i;i=17;coutusing namespace std;int fun(char *s);int main()cout#includeclass 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 shapeint 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* pS2; pS0=pc; pS1=pr;for(int i=0;iarea()endl;。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值