第5章函数.docx
- 文档编号:25690282
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:15
- 大小:18.40KB
第5章函数.docx
《第5章函数.docx》由会员分享,可在线阅读,更多相关《第5章函数.docx(15页珍藏版)》请在冰豆网上搜索。
第5章函数
第5章 函数
练习题5
5.1判断题
√1.函数的调用可以嵌套,函数的定义不能嵌套。
×2.C++语言中,函数可以用原型说明,也可用简单说明。
×3.定义函数时,存储类可以缺省,数据类型也可以省略。
×4.函数可以没有参数,但是不能没有返回值。
×5.函数定义时必须给出函数体,函数体内至少有一条语句。
√6.没有参数的两个函数是不能重载的。
√7.函数调用方式有传值调用和引用调用两种,传值调用中又分传值和传址两种。
√8.函数的存储类有外部的和静态的两种,它们的作用域分别是程序级的和文件级的。
×9.没有返回值的函数不能设置为内联函数。
×10.函数可以设置默认的参数值,默认参数值必须设置在函数定义时的形参上。
5.2单选题
1.当一个函数没有返回值时,该函数类型应说明为(A)。
A.voidB.int
C.无D.任意
2.下列关于设置函数默认的参数值的描述中,错误的是(C)。
A.可对函数的部分参数或全部参数设置默认值
B.在有函数说明时,默认值应设置在函数说明时,而不是定义时
C.设置函数默认参数值时,只可用常量不可用含有变量的表达式
D.设置函数参数默认值应从右向左设置
3.下列关于被调用函数中return语句的描述中,错误的是(D)。
A.一个函数中可以有多条return语句
B.return语句具有返回程序控制权的作用
C.函数通过return语句返回值时仅有一个
D.一个函数中有且仅有一条return语句
4.函数返回值的类型是由(B)决定的。
A.调用该函数的调用函数的类型
B.定义该函数时所指定的类型
C.return语句中表达式的类型
D.接收函数返回值的变量或对象的类型
5.下列设置函数参数默认值的说明语句中,错误的是(C)。
A.intfun(intx,inty=10);B.intfun(intx=5,int=10);
C.intfun(intx=5,inty);D.intfun(intx,inty=a+b);
(其中,a和b是已定义过具有有效值的变量)
6.下列选择重载函数的不同实现的判断条件中,错误的是(D)。
A.参数类型不同B.参数个数不同
C.参数顺序不同D.函数返回值不同
7.已知:
intfun(int&a),m=10;下列调用fum()函数的语句中,正确的是(C)。
A.fun(&m);B.fun(m*2);
C.fun(m);D.fun(m++);
8.在函数的引用调用中,函数的实参和形参分别应是(C)。
A.变量值和变量B.地址值和指针
C.变量名和引用D.地址值和引用
9.在函数的传址调用中,函数的实参和形参分别应是(B)。
A.变量值和变量B.地址值和指针
C.变量名和引用D.地址值和引用
10.说明一个内联函数时,应加关键字是(A)。
A.inlineB.static
C.voidD.extern
5.3填空题
1.如果将调用一个函数的过程分为3个步骤,第1步是转去执行被调用函数,第2步是执行被调用函数的语句,第3步是返回操作。
2.函数的存储类分两种,它们分别是外部函数和内部函数,其中内部函数的存储类说明不可省略,该说明符是static。
3.使用关键字inline说明的函数称为内联函数,具有相同函数名但具有不同实现的函数称为重载函数。
4.在调用一个函数过程中可以直接或间接地调用该函数,则该函数称为被调用函数。
这种调用称为嵌套调用。
5.在引用调用中,函数实参用变量名,形参用引用名。
5.4分析下列程序的输出结果
1.
#include
intfun(intn)
{
intp
(1),s(0);
for(inti
(1);i { p*=i; s+=p; } returns; } voidmain() { ints=fun(4); cout< } 答: 9 2. #include voidfun(); voidmain() { for(inti(0);i<4;i++) fun(); } voidfun() { inta(0); a++; staticintb; b++; cout<<"a="< } 答: a=1,b=1 a=1,b=2 a=1,b=3 a=1,b=4 3. #include intfac(int); voidmain() { ints(0); for(inti (1);i<=5;i++) s+=fac(i); cout<<"5! +4! +3! +2! +1! ="< } intfac(intn) { staticintb=1; b*=n; returnb; } 答: 5! +4! +3! +2! +1! =153 4. #include intfun(char*,char*); voidmain() { char*p1,*p2; p1="abcfgy"; p2="abcdhu"; intn=fun(p1,p2); cout< } intfun(char*s1,char*s2) { while(*s1&&*s2&&*s1++==*s2++) ; s1--; s2--; return*s1-*s2; } 答: 2 5. #include voidfun(int,int,int*); voidmain() { inta,b,c; fun(5,6,&a); fun(7,a,&b); fun(a,b,&c); cout< } voidfun(inti,intj,int*k) { j+=i; *k=j-i; } 答: 6,6,6 6. #include intadd(int,int=5); voidmain() { inta(8); cout<<"sum1="< cout<<"sum2="< cout<<"sum3="< } intadd(inti,intj) { returni+j; } 答: sum1=13 sum2=21 sum3=29 7. #include voidswap(int&,int&); voidmain() { inta(8),b(5); cout<<"a="< swap(a,b);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 函数