C语言函数有什么作用啊

C语言函数有什么作用啊,第1张

函数是C源码程序中最基本的功能单位,是一个可以从程序其它地方调用执行的语句块

  C语言是一种结构化程序设计语言,结构化程序设计思想是“分解”大问题,依次解决小问题,通过小问题解决实现大问题的解决,描述“小问题”解决方法的工具即是函数

  函数的定义格式如下:

 type name ( argument1, argument2, ) statement  说明:

  type

是函数返回的数据的类型

  name

是函数被调用时使用的名

  argument

是函数调用需要传入的参量(可以声明任意多个参量)。每个参量(argument)由一个数据类型后面跟一个标识名称组成,就像变量声明中一样(例如,int

x)。参量仅在函数范围内有效,可以和函数中的其它变量一样使用,

它们使得函数在被调用时可以传入参数,不同的参数用逗号(comma)隔开

  statement

是函数的内容。它可以是一句指令,也可以是一组指令组成的语句块。如果是一组指令,则语句块必须用花括号{}括起来,这也是我们最常见到情况。其实为了使程序的格式更加统一清晰,建议在仅有一条指令的时候也使用花括号,这是一个良好的编程习惯。

简述C语言函数的重要性

1用C语言中的函数作为参照,有助于区分面向过程与面向对象两种重要的编程思想,C语言中的基本单位是函数,Java,C++,C#中的基本单位是类。

2简述为什么需要函数

1>避免了重复性 *** 作

在很多地方,虽然针对的数据不一样,但是 *** 作都是一样的

2>有助于程序的模块化

所谓的模块化思想就是自上而下,逐步求精,将大问题分解成小问题进行解决

3简述编译器是如何识别函数的

当编译器遇到一个字符串,并且字符串后面跟着一个括号的时候,编译器通常会将这个字符串当做函数来进行处理

4简述逗号表达式是如何执行的

在逗号表达式中先执行第一个式子,表达式整体的数值是最后一个式子的数值

5简述什么叫做函数

逻辑上:能够完成特定功能的独立的代码块

物理上:能够接受数据[也可以不接受数据]

能够对接受的数据进行处理[不处理的话就没有什么意义了]

能够将数据处理的结果返回[亦可以不返回任何值]

综上:函数是个工具,它是为了解决大量类似问题而设计的,函数可以当做一个黑匣子,其内部的原理不用知道

6简述如何定义函数以及函数定义的本质

函数的返回值函数的名字(形式参数)

{

函数的执行体;

Return10;

}

函数定义的本质:详细描述函数之所以能够实现某个特定功能的具体方法

函数中的变量叫做形式参数,数组的变量叫做元素

7简述return和break的具体用法

return表达式;

return是用来终止被调函数,同时向调用函数的地方返回一个数值;如果表达式为空,则只用来终止被调函数,不向调用函数的地方返回任何数值

return与函数是匹配的,用来终止所在的函数

break是用来终止距离它最近的且包裹它的循环(forwhile)和switch语句的

功效:return>break>continue

8简述函数返回值的类型

函数返回值的类型,也称为函数的类型,即函数的返回值以函数名前的数值类型为准

9如何在软件开发中合理的设计函数来解决实际问题

要求函数的功能尽量独立,单一,同时还要考虑安全因素

10简述函数的分类以及注意事项

1>有参函数和无参函数

2>有返回值和无返回值

3>系统函数和用户自定义函数

4>主函数和普通函数

5>值传递函数和地址传递函数

一个程序必须有且只能有一个主函数

Main函数既是程序的入口,也是程序的出口

主函数可以调用普通函数,但是普通函数不能调用主函数

普通函数之间可以相互调用

11简述C语言当中bool的数据类型

c语言当中bool类型是一个数据类型,分为真与假两种结果,true与false是c语言当中中的两个关键字

12简述函数voidf(void)中两个void的含义

第一个void表示函数没有返回值,第二个void表示函数不接受形式参数,也就是不接受任何数据

13简述函数前置声明的作用

如果函数的调用写在了函数定义的前面,则必须加函数前置声明

函数前置声明的作用是:

1>告诉编译器即将可能出现的若干个字母代表的是一个函数,同时传达出函数的返回值以及形式参数等具体信息

2>函数的前置声明是一个语句,所以必须在函数声明的末尾加一个分号

3>对库函数即系统函数的声明是通过#include<库函数所在的文件的名字h>来实现的,printf()函数之所以不用声明是因为前置声明已经放在了头文件里面了

14简述形式参数与实际参数的关系

要求:个数相同位置一一对应数据类型必须相互兼容

形式参数与实际参数永远是不同的局部变量,所以形式参数的改变并不会影响实际参数,如果想改变实际参数的数值,必须发送实际参数的地址

15简述素数的判断中两个函数的功能

第一个函数的作用是:判断数字m是否是素数,是返回true,不是返回false

第二个函数的作用是:将1到n之间所有的素数在显示器上输出

16C语言中的函数如何进一步掌握

1>进一步学习数据结构加深理解

2>学习一门面向对象语言进行函数的对比

函数原型申明就是在main函数前面需要申明一下,否则main函数调用这个函数时会找不到,原型申明可以不定义具体的函数体,然后可以把函数体的具体部分放在main函数后面再来单独定义,这样程序整体上更整洁,要不然自定义函数都在main函数的前面就定义了,那代码一多还得找主函数。

函数调用是指:简单来讲,假如小明是班长,小红是本班的生活委员,小明要想收班费,但每个人都有不同的职责,而班长是用来组织和统筹工作的,而作为生活委员的小红的职责之一就是收取和管理班费,所以这样的话,小明只需让小红去做就行,也就是说只需发出指令给小红就可以了,而小红就是执行这项活动的承担者;在这里小红就相当于被调用函数,小明是调用函数。

函数调用总共有三种方式:

1 函数表达式:

  1函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。

2 函数语句:

  函数调用的一般形式加上分号即构成函数语句。例如: printf ("%d",a);scanf ("%d",&b);都是以函数语句的方式调用函数。

3 函数实参:

  函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如: printf("%d",max(x,y)); 即是把max调用的返回值又作为printf函数的实参来使用的。在函数调用中还应该注意的一个问题是求值顺序的问题。所谓求值顺序是指对实参表中各量是自左至右使用呢,还是自右至左使用。对此,各系统的规定不一定相同。

注意的是:1假如在你的那句调用语句开始,例如:

#include<stdioh>

int max(int x,int y){

if(x>y||x=y)

return x;

else

return y;

}

void main(){

int a,b;

scanf("%d%d",&a,&b) ;

printf("%d",max(a,b));

printf("程序结束\n");

}

在这个函数中,我们是在main()函数中用函数实参进行调用的,这样的话。main()函数是一个程序的入口, 在执行 printf("%d",max(a,b)); 这条语句的max(a,b)时候,开始转到max(int,int)函数中执行,执行完后在回到printf("%d",max(a,b)); 进行输出a,b中的最大值,然后再接着执行main()函数的剩下语句 printf("程序结束\n");推出程序。但我们调用的时候,main()函数(即调用函数)需要给被调用函数提供必要的具体数据,即x,y的值。所以表达式max(a,b)即把a的值赋给x,b的值赋值给y;如此执行下去。

即若输入 3 4

程序结果为: 4 程序结束

2还是上面的那个例子,若int max(int x,int y)在main()函数的下面,要调用的话,就需要在main()函数之前进行声明,声明格式为: 函数返回值类型 函数名 (形参类型1 形参名1,形参类型2 形参名2);其中分号不可少,形参名可以省去,但是形参类型和返回值类型均不可省!!!如下所示:

#include<stdioh>

int max(int x,int y); //函数声明1

或者int max(int ,int ); //函数声明2

void main(){

或者 int max(int x,int y); //函数声明3

或者int max(int ,int ); //函数声明4

int a,b;

scanf("%d%d",&a,&b) ;

printf("%d",max(a,b));

printf("程序结束\n");

}

int max(int x,int y){

if(x>y||x=y)

return x;

else

return y;

}

函数声明的作用是让调用函数认识被调用函数,这样才可以想被调用函数发送指令!

至于为什么用调用这个名字,个人觉得这个是因为很贴切吧,便于理解!!!

你明白了吗?不明白可以追问哦!希望采纳哦!

virtual 关键字是将函数声明为虚函数,定义他为虚函数是为了允许用基类的指针来调用子类的这个函数

override关键字是将函数声明为重载的函数

这段代码的结果是"other vshow"

SomeClass someObj = (SomeClass)otherObj;//这一句是将子类的指针强转为基类指针

someObjvshow();//虽然说用基类指针调用了vshow函数,但却执行了子类的vshow函数,这就virtual 关键字的作用,这就是虚函数的多态;

在代码工程不大时,可以不用函数声明, 只要确保 定义的函数 在调用函数(main等)之前即可; 代码工程规模大时,需要组织好,将函数声明放在头文件中,其他源文件包含该头文件 即可调用对应的函数

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12162903.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存