第八章 函数:(一)内容提要 本章介绍了C语言函数的定义、调用、声明及返回方法;讨论了C语言函数调用时的参数传递过程和函数返回值问题、函数的递归调用、变量作用域与存储类别;通过函数定义、调用的应用举例,重点讨论了C语言函数的使用方法和执行过程,分析了数组在函数中的使用方法。(二)学习目标1、理解C语言程序的执行总是从主函数main开始,最后在main函数结束整个程序的过程;2、学会C语言系统提供的库函数的使用方法;3、掌握C语言用户自定义函数的定义、声明、调用方法;4、理解并掌握C语言函数参数值的传递过程;5、学会使用C语言函数的嵌套调用方法设计程序;6、学会使用C语言函数的递归调用方法设计程序;6、理解C语言程序的模块化设计思想,学会设计简单的模块化程序。8.1导言:什么是函数:1、使用函数的意义2、什么是函数3、使用函数的好处[单选题]有下列程序,程序运行后的输出结果是( )。#include <stdio.h>int fun (int x,int y);int main(){int a=4,b=5,c=6; printf("%dn",fun(2*a,fun(b,c)));return 0; }int fun (int x,int y){if (x!=y) return ((x+y)/2); else return (x);}
8.2函数的定义和调用:1、函数的定义2、函数的调用
8.3函数的声明:1、什么是函数的声明2、使用函数声明的场合
8.4函数的返回:1、return 的格式2、return的返回值
8.5函数的递归调用(上):函数的递归调用
8.6函数的递归调用(下):函数的递归调用
8.7数组做函数参数:1、什么是递归调用2、递归调用的场合3、递归的执行过程
选项:[6, 3
, 8, 12]
[单选题]有下列程序,程序运行后的输出结果是( )。#include <stdio.h>int func(int a,int b);int main(){ int k=4,m=1,p; p=func(k,m); printf("%d ",p); p=func(k,m); printf("%dn",p); return 0;}int func(int a,int b){ int m=0,i=2; i+=m+1; m=i+a+b;return(m);
}
{
int m=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
选项:[8 16, 8 20, 8 17, 8 8
]
[判断题]
有如下函数调用语句:
fun(r1,r2+r3,(r4,r5));
该函数调用语句中,含有的实参个数是3个。
选项:[对, 错]
[判断题]函数可以嵌套定义,但不能嵌套调用。选项:[错, 对]
[判断题]mian函数可以自己调用自己。选项:[对, 错]
[单选题]在C语言函数中,以下说法正确的是( )。选项:[如果形参与实参的类型不一致以实参类型为准, 如果函数值的类型与return返回值类型不一致,以函数值类型为准, return后边的值不能为表达式, 定义函数时,形参的类型说明可以放在函数体内。]
[单选题]以下正确的函数定义是( )。选项:[fun(x,y) {int x,y; z=x+y; retun z;} , fun(int x,y) { int z; return int z; }, double fun(int x,int y){ double z;z=x+y;return z; }, double fun(int x,int y){ z=x+y; return z; } ]
[单选题]有下列程序,程序运行后的输出结果是( )。#include <stdio.h>int f(int a){int b=0,c=3; b++;c++; return(a+b+c);}int main( ){int a=2,i; for (i=0;i<3;i++)printf("%4d",f(a)); return 0;}
选项:[7 7 7, 7 8 9
, 7 10 13
, 7 9 11
]
[单选题]在C语言程序中,以下正确的描述是( )。选项:[函数的定义不可嵌套,但函数的调用可以嵌套, 函数的定义和调用均可以嵌套, 函数的定义可以嵌套,但函数的调用不可以嵌套, 函数的定义和函数的调用均不可以嵌套]
[单选题]在C语言函数中,下面说法正确的是( )。选项:[一个函数中只能有一个return语句。, 一个函数中可以有多个return语句,可能多个return语句全部执行, 一个函数中可以有多个return语句,但是最多执行其中一个return语句。, 一个return语句可以返回多个值。]
温馨提示支付 ¥1.00 元后可查看付费内容,请先翻页预览!