当前位置: 首页 > news >正文

华清远见25072班C++学习假期10.3作业

1、

第二章  引用内联重载

一.选择题

   1、适宜采用inline定义函数情况是(C

A. 函数体含有循环语句

B. 函数体含有递归语句

C. 函数代码少、频繁调用

D. 函数代码多、不常调用

   2、假定一个函数为A(int i=4, int j=0) {;}, 则执行“A (1);”语句后,i和j的值分别为(A

A. 1和0

B. 1和4

C. 4和0

D. 4和1

3、下列有关重载函数的说法中正确的是(C

A. 重载函数必须具有不同的返回值类型

B. 重载函数参数个数必须相同

C. 重载函数必须有不同的形参列表

D. 重载函数名可以不同

 4、两个同名函数构成重载关系,以下那个选项不要求不同。B

A. 参数个数

B. 返回类型

C. 参数类型

D. 函数头后有无const

 

二.填空题

1、C++语言中如果调用函数时,需要改变实参或者返回多个值,应该采取___引用____方式

2、执行下列代码

string    str("HelloC++");

cout<<str.substr(5,3);

程序的输出结果是__C++_

3、下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。

#include <iostream>

#define  pi   3.14

__using namespace std_______;

int main()

{ double rad;

cout<<"rad=";

cin>>rad;

double l=2.0*pi*rad;

double s=pi*rad*rad;

cout<<"\n The long is:"<<l<<endl;

cout<<"The area is:"<<s<<endl;}

4、程序实现大写字母转换成小写字母。

#include <iostream.h>

int main()

{ char a;

____int i=32___;

cin>>a;

if(__a>=A&&a<=Z_____)

a=a+i;

cout<<a<<endl;

}

5、执行下列代码

int i=230;

cout <<"i="<<hex <<i<<endl;

程序的输出结果为__i=e6_。

三、编程题

3.1   有以下重载函数定义:

        void  f();

        void  f(int x);

        void  f(int m, int  n);

        void  f(double  d1,  double  d2=3.14);

      则以下调用哪些是错误的,哪些可以并与那个函数匹配,编程验证

         f(‘A’);                                  void  f(int x);

         f( 5 ) ;                 ​​​​​​​        ​​​​​​​        void  f(int x);

         f( 5.5 );         ​​​​​​​        ​​​​​​​        ​​​​​​​      void  f(double  d1,  double  d2=3.14);

         f(10, 20);         ​​​​​​​        ​​​​​​​        ​​​​​​​   ​​​​​​​void  f(int m, int  n);

         f(10, 23.4)                         错误!无匹配函数

         f(10.8, 24.87)         ​​​​​​​        ​​​​​​​   void  f(double  d1,  double  d2=3.14);

#include <iostream>
using namespace std;// 重载函数定义
void f() { cout << "调用 f()" << endl; }
void f(int x) { cout << "调用 f(int x),x=" << x << endl; }
void f(int m, int n) { cout << "调用 f(int m, int n),m=" << m << ", n=" << n << endl; }
void f(double d1, double d2=3.14) { cout << "调用 f(double d1, double d2),d1=" << d1 << ", d2=" << d2 << endl; }int main() {f('A');       // 匹配 f(int x),x=65f(5);         // 匹配 f(int x),x=5f(5.5);       // 匹配 f(double, double),d1=5.5, d2=3.14f(10, 20);    // 匹配 f(int, int),m=10, n=20//f(10, 23.4); // 编译报错:无匹配函数f(10.8, 24.87); // 匹配 f(double, double),d1=10.8, d2=24.87return 0;
}

 3.2   创建一个函数plus(),它把两个数值加在一起,返回它们的和,提供处理int、doble和string类型的重载版本,测试它们是否能处理下面的调用

        int   n = plus(3,4);

        double  d = plus(3.2,4.2);

            string s = plus(“he”, “llo”);

            string s1 = “aaa” ;  string s2 = “bbb”;

            string s3 = plus(s1,s2);

#include <iostream>
#include <string>
int plus(int a, int b)
{return a + b;
}double plus(double a, double b)
{return a + b;
}
std::string plus(const std::string &a, const std::string &b)
{return a + b;
}
int main()
{int n = plus(3, 4);std::cout << "int plus: " << n << std::endl;std::cout << "==============================" <<std::endl;double d = plus(3.2, 4.2);std::cout << "double plus: " << d << std::endl;std::cout << "==============================" <<std::endl;std::string s = plus("he", "llo");std::cout << "string plus(字面量): " << s << std::endl;std::cout << "==============================" <<std::endl;std::string s1 = "aaa";std::string s2 = "bbb";std::string s3 = plus(s1, s2);std::cout << "string plus(对象): " << s3 << std::endl;return 0;
}

思考:

(1)给string版本的函数传送参数最有效的方式是什么?

  答:使用常量引用的方式,在前面加上一个const防止意外修改实参

(2)double  d = plus(3, 4.2)能否调用 ?

  答:能调用,C++会进行隐式类型的转换将int 3转换成double 3.0然后与double 4.2进行运算​​​​​​​​​​​​​​

2、牛客网

http://www.dtcms.com/a/438806.html

相关文章:

  • 网站建设范本n多国外免费空间
  • 【龙泽科技】智能网联汽车毫米波雷达传感器仿真教学软件
  • Vue 组件定义模板,集合v-for生成界面
  • 花生壳域名可以做网站域名吗新闻资讯网站php源码
  • 【C++】list的使用与模拟实现
  • 企业网站宽度给多少怎么从网站知道谁做的
  • 【深度学习新浪潮】国内主流AI视频生成模型(对标Sora2)技术解析与API代码实战
  • 计算字符串的编辑距离
  • 哪里可以做网站的学影视后期的正规学校
  • Python海象运算符使用指南
  • SDL2 _
  • NO.14数据结构红黑树|树高|转化4阶B树|插入操作|删除操作
  • 学网页设计要多长时间南京seo招聘
  • EPOLLONESHOT事件类型和ET模式有什么区别?
  • “多数派”的智慧:Redis Redlock 分布式锁
  • 国家城乡建设官方网站参与做网站的收获
  • 房地产公司网站建设报价方案建立网站是什么建立的
  • 深圳网站建设公司佰达国内saas软件公司排名
  • P10806 [CEOI 2024] 洒水器 题解
  • 温州十大网络公司排名广州网站建设专业乐云seo
  • 做礼品的网站中航长江建设工程有限公司网站
  • SQL ROUND() 函数详解
  • RK3588 SSH相关方法总结(每次遇到问题更新)
  • 国家基础设施建设网站杨园建设社区网站
  • 3. 是网站建设的重点亿唐网不做网站做品牌原因
  • C# TCP 开发笔记(TcpListener/TcpClient)
  • 成都网络优化公司排行榜网站的优化是什么
  • 山西网站建设多少钱怎么做旅游网站
  • JAVA第八学:继承和多态
  • 网站开发前端指什么太原本地网站搭建公司