收藏 分享(赏)

第4章-函数.doc

上传人:jw66tk88 文档编号:9505520 上传时间:2019-08-11 格式:DOC 页数:14 大小:104.50KB
下载 相关 举报
第4章-函数.doc_第1页
第1页 / 共14页
第4章-函数.doc_第2页
第2页 / 共14页
第4章-函数.doc_第3页
第3页 / 共14页
第4章-函数.doc_第4页
第4页 / 共14页
第4章-函数.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、一、判断题1. 所有函数都具有函数值。答案:F2. 函数可以不含有虚参。 答案:T3. 虚参只能是变量。答案:T4. 在一个函数内部可以再定义其它函数。答案:F5. 各个函数在程序中定义的顺序是一定的,它们的顺序影响程序运行时的执行顺序和程序运行结果。答案:F6. 主函数可以调用除自己以外的任何函数,子函数可以调用除主函数外的任何函数,包括它自己。答案:T7. 虚参的值与实参的值完全相同。答案:F8. 函数的虚参视同局部变量,其作用域仅限于定义该变量的函数体内。答案:T9. 主函数中定义的变量可以在其他函数中使用,主函数可以使用其他函数中定义的变量。答案:F10.不同的函数中不能使用相同的变量

2、名。答案:F11.同一个源程序文件中,全局变量与局部变量不能同名答案:F12.静态局部变量在函数调用结束后,它的值并不消失。答案:T13.用 extern 声明外部变量时不能给变量赋初值。答案:T14.在复合语句中定义的变量可在该复合语句所在的函数的其它地方使用。答案:F15.模板函数的真正代码是在运行执行函数时产生。答案:F16.template是正确的函数模板定义。答案:F17.函数的某个参数含有默认值时,其后面的参数都必须含有默认值。答案:T 18.在调用一个子函数前,可以不声明此函数。答案:F19. void f(int a,char b,float c=1)与 void f(int

3、m,char n)互为重载函数。答案:F20.内联函数可以减少函数的调用,提高程序的运行速度。答案:T二、选择题1. 下列叙述错误的是( )A. 一个函数中可以有多条 return 语句B. 调用函数必须在一条独立的语句中完成C. 函数中通过 return 语句传递函数值D. 主函数 main 也可以带有形参答案:B2. 在 C+语言中,对函数参数默认值描述正确的是( ) 。A函数参数的默认值只能设定一个B. 一个函数的参数若有多个,则参数默认值的设定可以不连续C. 函数参数必须设定默认值D. 在设定了参数的默认值后,该参数后面定义的所有参数都必须设定默认值答案:D3. 不能作为函数重载判断依

4、据的是( )AconstB返回类型C参数个数D参数类型答案:D4. 下列函数参数默认值定义错误的是( )AFun(int x,int y=0)BFun(int x=100)C. Fun(int x=0,int y)DFun(int x=f( ) (假定函数 f( )已经定义)答案:C5. 在函数定义前加上关键字”inline”,表示该函数被定义为( )A重载函数B内联函数C成员函数D普通函数答案:B6. 函数定义为 Fun(int else return n*fun(n*2); D. int fun(int n)if (n1) return 1;else return n*fun(n-1);

5、答案:B8. 必须用一对大括号括起来的程序段是( ) 。Aswitch 语句中的 case 标号语句B. if 语句的分支C. 循环语句的循环体D. 函数的函数体答案:D9. 在函数的返回值类型与返回值表达式类型的描述中,错误的是( ) 。A函数返回值的类型是在定义函数时确定的,在函数调用时不能改变B. 函数返回值得类型就是返回值表达式的类型C. 函数返回至的类型与返回值表达式类型不同时,函数表达式类型应该转换成返回值类型D. 函数返回值的类型决定了返回值表达式的类型答案:B10.C+语言中规定函数的返回值类型是由( ) 。Areturn 语句中的表达式类型所决定B. 调用该函数时的主调用函数

6、类型所决定C. 调用该函数时系统临时决定D. 在定义该函数时指定的数据类型所决定答案:D11.在函数的定义格式中,下面各组成部分中, ( )是可以省略的。A函数名B. 函数数据类型说明C. 函数体D. 函数参数答案:D12.函数调用 func(exp1,exp2),(exp3,exp4,exp5)中所含的实参的个数为( ) 。A1B. 2C. 4D. 5 答案:B13.下面叙述中错误的是( ) 。A调用函数必须在一条独立的语句中完成B. 一个函数中可以有多条 return 语句C. 函数中通过 return 语句传递函数值D. 主函数名 main 也可以带有形参答案:A14.非数组、指针或引用

7、型变量做实参时,它和对应形参之间的数据传递方式是( ) 。A地址传递B. 单向值传递C. 双向值传递D. 由用户指定传递方式答案:B15.若用数组名作为函数调用的实参则传递给形参的是( ) 。A. 数组的首地址B数组第 1 个元素的值C数组中全部元素的值D数组元素的个数答案:A16.以下正确的函数原型声明语句是( ) 。A. int fun(int a,b) ;B. float fun(int a;int b);C. double fun();D. int fun(char a);答案:C17.若使用一维数组名作函数实参,则下面正确的说法是( ) 。A必须在主调函数中说明数组的大小B实参数组类

8、型与形参数组类型可以不同C必须在被调函数中说明数组的大小D实参数组名与形参数组名必须一致答案:A18.已有定义“int a=5,” ,则下面叙述中,错误的说法是( ) 。A. ra 是变量的引用B. ra 的值为 5C. ra 是 a 的地址值D执行“ra =10;”后变量 a 的值也变为 10答案:C19.下面判断是否构成重载函数的条件中,错误的判断条件是( ) 。A. 参数类型不同B. 参数个数不同C. 参数顺序不同D. 函数返回值不同答案:D20.假设 a,b 是全局变量,下面设置函数参数默认值的函数原型中,错误的是( ) 。A. int fun( int x,int y=10) ;B.

9、 int fun( int x=5,int y=10 );C. int fun( int x=5,int y );D. int fun( int x,int y=a+b );答案:C21.C+语言规定,函数返回值的类型是由( )。A. return 语句中的表达式类型所决定B. 调用该函数时的主调函数类型所决定C. 调用函数时系统临时决定D. 在定义该函数时所指定的函数类型所决定答案:D22.以下程序有语法性错误,有关错误原因的正确说法是( )。int main()int a=5,k;void prt_char();k=prt_char(a); A. 语句 void prt_char();有错

10、,它是函数调用语句,不能用 void 说明。B. 变量名不能使用大写字母。C. 函数说明和函数调用语句之间有矛盾。D. 函数名不能使用下划线。答案:C23.下面对函数不正确的描述是( )。A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。B. 允许函数递归调用。C. 函数形参的作用范围只是局限于所定义的函数内。D. 其它函数必须位于主函数之前。答案:D三、程序填空题1. 题目描述:已知三角形的三边,求三角形面积,将其编写成一个函数。代码:double area(int a,int b,int c)double s,area;s = (a+b+c)/2.0;area = sq

11、rt( (1) );(2) ;答案:(1)s*(s-a)*(s-b)*(s-c)(2)return area2. 题目描述:以下函数 count()的功能是统计子串 substr 在主串 str 中出现的次数。代码:int count(char str,char substr)int i,j,k,num=0;for(i=0; (1) ;i+)for( (2) ,k=0;substrk=strj;k+,j+)if(substr (3) =0) num+; break; return num;答案:(1) stri!=0(iusing namespace std;int main()int com

12、pare(char s,char t);char a20,b20;int k;gets(a);gets(b);k=compare( (1) );cout#includeusing namespace std;int main()int invert(int a);int prime(int a);int i;for(i=3; i0)s=10*s+ (2) ;a/=10;(3) ; /返回倒序的数int prime(int a)int i;for(i=2; iusing namespace std;int main()void avg(int m3,float n);int d43=88,66,

13、93,84,75,68,97,98,89,90,71,82;float a3;avg( (1) ); /调用 avg 函数求平均分coutn;print(n);cout0)cout0)coutx;i=find(a,10,x);if(i=-1)coutx;i=FindData(a,10,x);if(i=0)couts;cout0):“;cinn;right(s,rs,n);coutlen) n=len;for(j=len-n,k=0;sj!=0;j+,k+)dk=sj;dk=0;5. 题目标题:计算某日期是某年的第几天时间限制:MS内存限制:KB题目描述:设计日期函数 int Date(int

14、year, int month, int day),计算该日期是该年的第几天。输入描述: 输出描述: 样例输入:1992 3 23样例输出:The date is the 83 day of this year.参考答案:#include“iostream.h“void main( )int Date(int year,int month,int day);int y,m,d;coutymd;cout2) n+;return n;6. 题目标题:将一个字符串中的字符逆序存放时间限制:MS内存限制:KB题目描述:设计一个函数,将一个字符串中的字符逆序存放。例如,将“abc123”变换成“321cba”。输入描述: 输出描述: 样例输入:样例输出:abcdefghhgfedcba参考答案:#include “iostream.h“#include “string.h“void main( )char s100=“abcdefgh“,*p,*q,temp;cout0):“;cinn;coutbase;Convert(n,base,s);coutsendl;void Convert(int n,int base,char *s)int r;char *p=s;while(n!=0)r=n%base;*p=r+0;p+;n/=base;*p=0;strrev(s);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报