作业━━第 3 章(1)━━函数的定义和调用.doc

上传人:枫** 文档编号:550859581 上传时间:2023-06-21 格式:DOC 页数:7 大小:85.50KB
返回 下载 相关 举报
作业━━第 3 章(1)━━函数的定义和调用.doc_第1页
第1页 / 共7页
作业━━第 3 章(1)━━函数的定义和调用.doc_第2页
第2页 / 共7页
作业━━第 3 章(1)━━函数的定义和调用.doc_第3页
第3页 / 共7页
作业━━第 3 章(1)━━函数的定义和调用.doc_第4页
第4页 / 共7页
作业━━第 3 章(1)━━函数的定义和调用.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《作业━━第 3 章(1)━━函数的定义和调用.doc》由会员分享,可在线阅读,更多相关《作业━━第 3 章(1)━━函数的定义和调用.doc(7页珍藏版)》请在金锄头文库上搜索。

1、函数的定义和调用【学习要点】1掌握函数的定义、调用、返回、函数的原型声明。2掌握函数的参数传递值传递。3掌握函数的参数传递引用传递。4掌握全局变量及其作用域。5掌握局部变量及其作用域。6掌握C+程序的内存布局。7掌握标识符的作用域(块作用域、文件作用域、函数原型作用域、函数作用域)。8掌握变量的存储类型和生存期。9掌握函数的调用机制。-【例题分析】1 C+中函数返回值的类型是由_决定的。Areturn语句中的表达式类型B调用该函数的主调函数类型C定义函数时所指定的函数类型D传递给函数的实参类型【答案】C【解析】定义函数时所指定的返回值类型也称为函数类型。2以下描述中正确的是_。A在一个C+的函

2、数中,可以定义和调用其他函数B在一个C+的函数中,可以调用但不能定义其他函数C在一个C+的函数中,不可以调用但能定义其他函数D在一个C+的函数中,不可以调用也不能定义其他函数【答案】B【解析】C+函数之间是并列平等的关系,在程序中的定义位置任意,一个函数可以调用其它函数,也可以被其他函数所调用,但主函数只能调用其他函数,而不能被调用。3在程序执行过程中,某函数 fun() 中声明的static变量 k 有这样的特性:_。Ak存在于fun() 被调用期间,且仅能被fun()所用Bk存在于整个程序执行过程中,且仅能被fun()所用Ck存在于fun() 被调用期间,且可被所有函数所用Dk存在于整个程

3、序执行过程中,且可被所有函数所用【答案】B【解析】static局部变量的生存期:在程序运行中第一次进入其作用域时在静态区分配,离开其作用域时并不释放,只是不能引用,若程序运行中再次进入该static局部变量的作用域,由于该变量已经存在,所以不再分配空间,可直接引用。static局部变量直到程序运行结束才被释放。4 下面程序的运行结果是_。# include iostream.hvoid main() extern int a ; cout ”a=” a endl ;int a=16 ; 【答案】输出:a=16【解析】在变量声明时,用关键字extern修饰,称为外部变量。当全局变量的引用在定义之

4、前,对此需作外部变量声明。需提醒的是:外部变量的定义性声明和外部变量的引用性声明不同,外部变量的定义(开辟存储单元)只能出现一次,而对外部变量的引用性声明根据需要可出现多次,需用extern进行修饰。5下面程序的运行结果是_。#includeint fac ( int a ) int b=0 ;static int c=3 ;b+ ; c+ ;return a+b+c ;void main() int a=3, j ;for ( j=0 ; j3 ; j+ ) cout fac( j ) t ;cout endl ;【答案】输出:5 7 96下面程序的运行结果是_。#includefun (

5、int , int ) ;void main() int k=4 , m=1 , p ;p = fun( k , m ) ; cout p t;p = fun( k , m ) ; cout p endl ;fun ( int x , int y ) static int m=0 , i=2 ;i += m+1 ;m = i+x+y ;return m ;【答案】输出:8 177下面程序的运行结果是_,其中函数abc( int x,int y )的功能是_。#includeint abc ( int , int ) ;void main() int a = 24 , b = 16 ;cout

6、abc( a , b ) endl ;int abc ( int x, int y ) int w ;while ( y ) w = x % y ;x = y ;y = w ; return x ;【答案】输出:6【答案】函数abc( int x,int y ) 的功能:用展转法求整数x和y的最大公约数。8编写程序:设计一个函数abc(),求两个整数的最大公约数。【答案】编写程序如下:#includeint abc ( int x , int y ) for ( int i=(xy ? x : y) ; ; i- ) if ( x%i = 0 & y%i = 0 ) return i ;voi

7、d main () int a , b ; cout a b ; cout “整数 ” a “ 和 ” b “ 的最大公约数是:” abc( a , b ) endl ;-【思考题】选择题1变量的有效范围与其定义的位置有关,_ ,其作用域在整个源文件中都有效。A在第一个函数中定义的变量B在定义第一个函数之前所定义的变量C在主函数中定义的变量D在函数中定义的静态变量【答案】?2在一个源文件中定义的全局变量,其作用域是_。A文件的全部范围 B本程序的全部范围C本函数的全部范围D从定义该变量的位置开始至本文件的结尾处结束【答案】?-填空题1 若有函数声明:int count( int &a , in

8、t n ); 则调用时实参和形参之间的传递方式是:第一个参数按_传递;第二个参数按_传递。【答案】?【答案】?2执行以下程序的输出是_。#includefun ( int x ) static int a=3 ; a=x ; return a ; void main() int k=2, m=1, n ; n=fun(k) ; n=fun(m+n) ; coutnendl ; 【答案】?3执行以下程序的输出是_。#includeint fun ( int i ) ;void main() int i=1 ;switch( i ) default: i+ ; break ;case 0: i+

9、; fun( i ) ;case 1: i+ ; fun( i ) ;case 2: i+ ; fun( i ) ;cout i endl ;int fun( int i ) static k=10 ;i+ ; k+ ;cout k t ;return k;【答案】?-写出下列程序的输出结果1下面程序的运行结果是_。# include int max1( int a , int b , int c ) int t = ab ? a : b ; return ct ? c : t ; float max2 ( float a , float b , float c ) float t = ab

10、? a : b ; return ct ? c : t ; int max3 ( float a , float b , float c ) float t = ab ? a : b ; return ct ? c : t ; void main ( ) float x = 3.4 , y = 5.6 , z=1.9 ;char c1=A , c2 = b , c3 = C ;int a= 20 , b = 30 , c = 24 ;cout max1( x , y , z ) t ; cout max2 ( x , y , z ) t ;cout max3 ( x , y , z ) n ;

11、cout max1( c1 , c2 , c3 ) t ; cout max2 ( c1 , c2 , c3 ) t ;cout max3 ( c1 , c2 , c3 ) n ;cout max1( a , b , c ) t ; cout max2 ( a , b , c ) t ;cout max3 ( a , b , c ) n ;cout max1( a+x , y+c1/c2 , c+z ) t ; cout max2 ( a+x , y+c1/c2 , c+z ) t ;cout max3 ( a+x , y+c1/c2 , c+z ) n ;【答案】第1行输出:?第2行输出:?第3行输出:?第4行输出:?2下面程序的运行结果是_。# include void swap1 ( int a , in

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号