沈阳师范大学C++ pta第4章 函数

本文详细探讨了C++中的函数重载、内联函数、默认参数和引用等概念,通过多个实例和题目解析深入理解函数的使用。涵盖判断题、单选题和函数题目,如面积计算器、最大值函数重载、两数相加、引用交换整数等应用场景,旨在提升读者对C++函数的实际操作能力。
摘要由CSDN通过智能技术生成

沈阳师范大学C++ pta第4章 函数


判断题
1.重载函数可以带有默认值参数,但是要注意二义性。 — — — T
2.两个以上的函数,具有相同的函数名,且形参的个数或形参的类型不同,或返回的数据类型不同,则称之为函数的重载。 — — — F
3.在类的成员函数中,const关键字可以用作对重载函数的区分。 — — — T
4.int Sum (int a,int b=5,int c); 这个函数原型的声明没有什么不合适的地方。 — — — F
5.在C++语言中引入内联函数(inline function)的主要目的是降低空间复杂度,即缩短目标代码长度。— — — F
6.带有默认值的函数F的函数原型为F(int x=5, int x=9, int y, float m=10.0),则该函数在编译时会报错。— — — T
7.主程序调用内联函数(inline)时,不发生控制转移,无需保存和恢复环境变量等,因此,节省了系统开销。内联函数的声明以及最终的生效,是由程序员决定的。— — — F
8.函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。— — — T
9.

#include
using namespace std;
int add(int x=4,int y=7)
{
return x+y;
}
int main()
{
cout<<add(3,6)<<endl;
cout<<add(3)<<endl;
cout<<add()<<endl;
}

则运行上述程序后,输出的结果为:
9
10
11
— — — T


单选题
下列关于函数重载的说法中,错误的是____。

A.重载函数的参数个数不同
B.重载函数的函数名必须相同
C.重载函数参数类型不同
D.重载函数的返回值类型不同

如果默认参数的函数声明为“ void fun(int a,int b=1,char c=‘a’,float d=3.2);”,则下面调用写法正确的是( )。

A.fun(2, ,‘c’,3.14)
B.fun(int a=1);
C.fun(2,3);
D.fun();

在( )情况下适宜采用inline定义内联函数。

A.函数代码多、不常调用
B.函数体含有递归语句
C.函数体含有循环语句
D.函数代码少、频繁调用

下面说法正确的是?

A.多个重载函数的参数个数必须不同
B.调用一个第二个和第三个参数都有缺省值的函数时,可以不写第二个实参而写第三个实参
C.两个函数,参数表相同,返回值类型不同,它们是重载关系
D.使用内联函数的目是提高程序运行速度

在C++中,关于下列设置缺省参数值的描述中,()是正确的。

A.设置缺省参数值时,必须全部都设置;
B.只能在函数的定义性声明中指定参数的缺省值;
C.不允许设置缺省参数值;
D.在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;

当一个函数功能不太复杂,但要求被频繁调用时,选用____。

A.内联函数
B.嵌套函数
C.递归函数
D.重载函数

关于函数的返回值的说法,正确的是:

A.函数的返回值个数不确定
B.函数可以有一个返回值
C.函数必须有返回值
D.函数可以有多个返回值

重载函数在调用时选择的依据中,错误的是( )

A.参数的类型
B.函数的名字
C.函数的参数
D.函数的类型

以下有关函数的叙述中正确的是( )。

A.函数执行中形参的改变会改变实参
B.函数必须返回一个值
C.两个同名函数,参数表相同而返回值不同不算重载
D.函数体中必须有return语句

如有函数定义:void func(int x = 0, int y = 0){ …. },则下列函数调用中会出现问题的是____。

A.func(1,2);
B.func(1,2, 3);
C.func(1);
D.func();

决定C++语言中函数的返回值类型的是()

A.return语句中的表达式类型
B.调用该函数时系统随机产生的类型
C.调用该函数时的主调用函数类型
D.在定义该函数时所指定的数据类型

下面程序的运行结果是

#include using namespace std;

void fun(int * a, int * b) {
int x = *a;
*a = *b;
*b = x;
cout << *a << *b << " "; } int main() {
int x = 1, y = 2;
fun(&x, &y);
cout << x << y << endl;
return 0; }

A.21 21
B.12 21
C.21 12
D.12 12

以下正确的函数定义是:

A.void fun(int x) {
if(x<0) return;
else cout << “OK” << endl;
}

B. int fun(int x, int y); {
return x+y;
}
C. void fun(int x, int y) { return x+y; }

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SimonWhiteWing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值