精华内容
下载资源
问答
  • C语言函数问题是困扰很多学者的问题的,c程序中也有一定的函数的。那么下面一起来看看学习啦小编为大家精心推荐的c程序中函数,希望能够对您有所帮助。C语言读书笔记:函数先来看看函数的一般形式,尝试写一个...

    C语言的函数问题是困扰很多学者的问题的,c程序中也有一定的函数的。那么下面一起来看看学习啦小编为大家精心推荐的c程序中的函数,希望能够对您有所帮助。

    ea43aa39f44788feddd6dca66b3cb9bc.png

    C语言读书笔记:函数

    先来看看函数的一般形式,尝试写一个加法的函数:

    思路是这样的:首先得有头文件,头文件之后就得写主函数,主函数的内部应该就是加法的过程,我们将所有加法的语句都拿出来组成一个函数。代码如下:

    #include

    int add(int a, int b);

    int main()

    {

    int result = add(3,5);

    printf("sum is %d\n", result);

    return 0;

    }

    int add(int a, int b)

    {

    int sum;

    sum = a+b;

    return sum;

    }

    这是一个最简单的函数,描述了一个加法函数的定义和调用的过程。

    int add(int a, int b) 成为函数的首部。

    有了首部之后,就得考虑一件事情,将首部复制之后,加上一个分号,粘贴在主函数之前,作为函数的原型声明。试想,我们在主函数里边是不是要先定义变量result才能使用result?那么函数的道理也是一样的,当程序运行到主函数中语句“int result = add(3,5);”的时候,如果向上没有寻找到add()的定义,那么编译器一定就会报错。所以要不然添加函数的原型声明,要不然就将函数的定义直接写在主函数之前。

    函数首部int add(int a, int b)中的第一个int,即add之前的这个int称为函数的类型。表明这个函数将要返回一个整数类型的值。这个类型可以是C语言中任何被允许的数据类型,包括void,意为无返回值类型,即这个函数不需要返回任何的值。

    函数首部int add(int a, int b)中的add称为函数的名字,简称函数名。

    函数首部int add(int a, int b)中int a和int b称为函数的形式参数。这里形式参数理论上可以有无穷多个,当然,现实情况下3-5个就已经算是很多了;形式参数中,即使a和b都是int类型的,也要分别定义才行;形式参数可以在函数中直接使用,无须再次定义;形式参数是用来告诉调用者,你应该给我传递来什么样子的数据,我好利用你给我的数据在函数中进行计算。

    int add(int a, int b){}中的{}就是函数体的内容了。函数需要进行的所有的操作都要放在这对大括号中。想必大家也看到了函数体中最后有一条语句是return,这条语句起到的作用就是返回函数计算的结果,在这个程序中就是将加法的结果返回给主函数。需要注意的是,函数的类型和返回值的类型必须严格一致!

    函数的定义到此为止,接下来讲讲函数的调用方式。只要定义好函数,通过函数名(实际参数1,实际参数2,实际参数n)这种方式就可以调用函数了。例如主函数中的“int result = add(3,5);”,就是调用了add函数。这里,3和5称为实际参数,即你究竟想让函数帮你计算哪两个数的加法结果,你就在这个括号里边写哪几个数字。必须要严格遵守的规定:实际参数和形式参数必须一一对应,数量应该相同,类型也保持一致。

    理解了这几点之后,一个基本的函数就已经可以写出来了。接下来来个题目尝试一下:

    输入精度e,使用公式求π的近似值,精确到最后一项的绝对值小于e。公式:π=1-1/3+1/5-1/7+...

    代码:

    //首先得有头文件

    #include

    #include //后边要使用到fabs绝对值函数

    //然后就是主函数了

    int main(void)

    {

    double pi, e; //定义所需变量

    double f_pi(double e); //原型声明。函数名只要符合命名规则即可 //因为要求小于e,所以也将这个e传递过去

    printf("enter e: "); //输入的提示

    scanf("%lf", &e); // double类型的e对应%lf,记住不要缺少&

    printf("pi=%lf\n", f_pi(e) ); // 函数返回的是个double类型的值,直接输出

    return 0;

    }

    double f_pi(double e) //函数首部,形参和实参一定要对应,可以重名

    {

    int denominator, flag;

    double item, sum;

    //请注意“先定义,然后赋初值再使用”的好习惯!!!

    flag = 1; //负责变换正负符号的变量

    denominator = 1; //分母初值为1,第一项的1为1/1

    item=1.0; //存放每一项的值

    sum=0;

    while(fabs(item)>=e) //满足条件就循环

    {

    item=flag*1.0/denominator; //计算每一项的值。flag控制符号

    //1.0必须写出小数位,否则整项就变成一个整型值

    sum+=item; //累加

    flag = -flag; //符号正负切换

    denominator = denominator + 2;//分母递增

    }

    return sum; //sum的类型和函数的类型必须一致

    }

    函数的定义和调用其实并不难理解,相信很多人困扰在参数的传递上,接下来总结一下函数参数传递的几种方式:

    正常的参数调用,例如int、float、double等一一对应的传递。

    无参数,也无返回值。例如下列代码就只是为了输出一些语句。这种做法在语法上是被允许的,但是并不推荐这么写。

    void printf()

    {

    printf("hello world!");

    }

    3. 参数是数组的名字。我们知道数组的名字是个地址,那么如果实参是数组名的话,我们可以将形参设置成指针,指向实参传递过来的数组的首地址。

    4. 参数是指针。如果实参是指针,那么形参肯定也得是指针。保持类型一致即可,然后在函数内部再对指针进行操作。

    5. 参数是结构体。如果实参是结构体,一般来说我们使用结构体指针来做形参比较合适。

    还是在此分割一下吧,说了这么多,可能很多人在问问什么函数定义这么麻烦,还要定义函数,直接都写在main函数中多方便?

    非也!

    C语言是一个过程化的语言,C语言中的主函数其实是用来主导程序的进程和数据的流动方向的。如果将主函数写的过于复杂,我们阅读程序的结构就会非常的费力。

    C语言中的函数回调

    什么是回调函数?

    简而言之,回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。

    为什么要使用回调函数?

    因为可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值为int)的被调用函数。

    展开全文
  • 1.以下说法中正确的是( C)(3分)A、 B、 C、 D、A、C语言程序总是从第一个的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义CC语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须...

    1.以下说法中正确的是( C)

    (3分)

    A、 B、 C、 D、

    A、C语言程序总是从第一个的函数开始执行

    B、在C语言程序中,要调用的函数必须在main()函数中定义

    C、C语言程序总是从main()函数开始执行

    D、C语言程序中的main()函数必须放在程序的开始部分

    2.启动turbo c 的命令是( A)

    (3分)

    A、 B、 C、 D、

    A、TC

    B、C

    C、TURBOC

    D、TURBO_C

    3.一个C程序的执行是从(A )(3分)

    A、 B、 C、 D、

    A、本程序的main函数开始,到main函数结束

    B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

    C、本程序的main函数开始,到本程序文件的最后一个函数结束

    D、本程序文件的第一个函数开始,到本程序main函数结束

    4.以下叙述正确的是( C)

    (3分)

    A、 B、 C、 D、

    A、在C程序中,main函数必须位于程序的最前面

    B、 C程序的每行中只能写一条语句

    C、C语言本身没有输入输出语句

    D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误

    5.一个C语言程序是由(A)

    (3分)

    A、 B、 C、 D、

    A、一个主程序和若干子程序组成

    B、函数组成

    C、若干过程组成

    D、若干子程序组成

    6.下列各选项中,合法的c语言关键字是( D).(3分)

    A、 B、 C、 D、

    A、integex

    B、sin

    C、string

    D、void

    7.TURBO C中,int类型变量所占字节数是( D)(3分)

    A、 B、 C、 D、

    A、1

    B、2

    C、3

    D、4

    8.下列不合法的十六进制数是(B )(3分)

    A、 B、 C、 D、

    A、oxff

    B、0Xcde

    C、Oxll

    D、Ox23

    9.C语言中定义了一个变量,该变量代表内存中的一个(C )(3分)

    A、 B、 C、 D、

    A、区域

    B、单元

    C、地址

    D、容量

    10.在C语言中,数字029是一个(A)(3分)

    A、 B、 C、 D、

    A、八进制数

    B、十六进制数

    C、十进制数

    D、非法数

    11.函数体用_______开始,用______结束.(3分)

    答:main return

    12.C源程序的基本单位是______________(3分)

    答:语句

    13.一个C源程序中至少应包括一个_____________(3分)

    答:main函数

    14.在一个C源程序中,注释部分两侧的分界符分别为________和________(3分)

    答:/* */

    15.结构化程序所规定的3种基本控制结构是——、——、——(3分)

    答:顺序结构 选择顺序 循环顺序

    16.在c语言中,整数可用——进制、——进制和——进制3种数制表示.(3分)

    答:二 八 十六

    17.一个c语言程序的开发过程包括:编辑、——、连接和运行4个步骤.(3分)

    答:编译

    18.在C语言中,输入操作是由库函数——完成的,输出操作是由库函数 —— 完成的.(3分)

    答:scanf printf

    19.C程序执行过程生成的3种文件及扩展名为——,——,——(3分)

    答:c exe obj

    20.C语言中的标识符只能由3种字符组成,它们是——、——和——

    (3分)

    答:_ 英语字母 阿拉伯数字

    21.编写一个C程序,输出以下信息:

    ");

    return 0;

    }

    22.编写一个程序,输入a,b,c三个值,输出其中最大者.(3分)

    #include

    int main(void)

    {

    int a,b,c;

    scanf("%i%i%i,&a,&b,&c");

    a=(a>b?a;b);

    a=c>a?c:a;

    printf("%i ",a);

    return 0;

    }

    23.

    显示“How are you!”的c语言程序.(3分)

    #include

    int main(void)

    {

    printf("How are you!");

    return 0;

    }

    作业帮用户

    2017-10-15

    举报

    6c0a0adef10d1043fa4f41a7897345ed.png

    展开全文
  • 示例#includeint main(){int a[5],i,*p;p=a;for(i=0;i<5;i++)*p++=i;...源文件:就是用户编写的代码文件1、必不可少的入口:main函数【每个c程序必须有且只有一个main函数程序总是从main函数开...

    示例

    #include

    int main()

    {

    int a[5],i,*p;

    p=a;

    for(i=0;i<5;i++)

    *p++=i;

    p=a;

    for(i=0;i<5;i++)

    printf(a[%d]=%d\n,i,*p++);

    }

    >

    程序由一个或多个源文件组成!!!

    源文件:就是用户编写的代码文件

    1、必不可少的入口:main函数

    【每个c程序都必须有且只有一个main函数,程序总是从main函数开始执行】

    2、预处理(如:头文件)

    关于头文件和库函数【理解】(在编译前完成)

    使用预编译指令#include将“ 头文件 ”包含到用户源文件中(头文件也是源文件,只不过是由开发编译器的人编写的,也可以自己编写)

    头文件中包含对类似于printf等函数的声明定义

    #include和#include“stdio.h”stdio.h“的区别:

    使用<>包含头文件,编译器会从存放c便宜系统的子目录中寻找(这称为标准方式)

    使用”  “包含头文件,编译器会先在用户的当前目录(存放源程序文件的子目录)寻找,找不到则按标准方式查找

    可以使用”  “包含文件路径进行引用,如  :#include"D:\c\源文件\file.h"

    3、c 函数(包括main函数)

    *(考点)c语言以函数作为程序的基本单元

    函数由语句构成,语句是程序中可以执行的最基本单元

    函数结构

    1、函数首部(函数第一行)

    函数类型   函数名(参数类型   参数名)【可能无参数,函数也可能无类型,即void(无返回值)】

    函数体  :{  } 包含的块语句

    {  }内可能包含两部分:声明部分、执行部分,也可以是空函数

    4、声明

    变量声明、函数声明

    5、返回值(要与函数类型对应,如果不对应,以函数类型为准)

    6、注释:   // 注释为单行注释

    /*  ……  */ 注释为多行注释

    ___________________________________________________________________________________________________________________________________

    粗略概括:具体以后更新

    展开全文
  • C语言中函数相当于其它高级语言的子程序C语言不仅提供了极为丰富的库函数(如Turbo C,MS C 都提供了三百多个库函数),还允许用户建立自己定义的函数。用户可把自己的算法编成一个个相对独立的...

    概述

    在第一章中已经介绍过,C源程序是由函数组成的。 虽然在前面各章的程序中都只有一个主函数main(), 但实用程序往往由多个函数组成。函数是C源程序的基本模块, 通过对函数模块的调用实现特定的功能。C语言中的函数相当于其它高级语言的子程序。 C语言不仅提供了极为丰富的库函数(如Turbo C,MS C 都提供了三百多个库函数),还允许用户建立自己定义的函数。用户可把自己的算法编成一个个相对独立的函数模块,然后用调用的方法来使用函数。

    可以说C程序的全部工作都是由各式各样的函数完成的, 所以也把C语言称为函数式语言。 由于采用了函数模块式的结构, C语言易于实现结构化程序设计。使程序的层次结构清晰,便于程序的编写、阅读、调试。

    在C语言中可从不同的角度对函数分类。

    1. 从函数定义的角度看,函数可分为库函数和用户定义函数两种。

    (1)库函数

    由C系统提供,用户无须定义, 也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。在前面各章的例题中反复用到printf 、 scanf 、 getchar 、putchar、gets、puts、strcat等函数均属此类。

    (2)用户定义函数

    由用户按需要写的函数。对于用户自定义函数, 不仅要在程序中定义函数本身, 而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。

    2. C语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可把函数分为有返回值函数和无返回值函数两种。

    (1)有返回值函数

    此类函数被调用执行完后将向调用者返回一个执行结果, 称为函数返回值。如数学函数即属于此类函数。 由用户定义的这种要返回函数值的函数,必须在函数定义和函数说明中明确返回值的类型。

    (2)无返回值函数

    此类函数用于完成某项特定的处理任务, 执行完成后不向调用者返回函数值。这类函数类似于其它语言的过程。 由于函数无须返回值,用户在定义此类函数时可指定它的返回为“空类型”, 空类型的说明符为“void”。

    3. 从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种。

    (1)无参函数

    函数定义、函数说明及函数调用中均不带参数。 主调函数和被调函数之间不进行参数传送。 此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。

    (2)有参函数

    也称为带参函数。在函数定义及函数说明时都有参数, 称为形式参数(简称为形参)。在函数调用时也必须给出参数, 称为实际参数(简称为实参)。 进行函数调用时,主调函数将把实参的值传送给形参,供被调函数使用。

    4. C语言提供了极为丰富的库函数, 这些库函数又可从功能角度作以下分类。

    (1)字符类型分类函数

    用于对字符按ASCII码分类:字母,数字,控制字符,分隔符,大小写字母等。

    (2)转换函数

    用于字符或字符串的转换;在字符量和各类数字量 (整型, 实型等)之间进行转换;在大、小写之间进行转换。

    (3)目录路径函数

    用于文件目录和路径操作。

    (4)诊断函数

    用于内部错误检测。

    (5)图形函数

    用于屏幕管理和各种图形功能。

    (6)输入输出函数

    用于完成输入输出功能。

    (7)接口函数

    用于与DOS,BIOS和硬件的接口。

    (8)字符串函数

    用于字符串操作和处理。

    (9)内存管理函数

    用于内存管理。

    (10)数学函数

    用于数学函数计算。

    (11)日期和时间函数

    用于日期,时间转换操作。

    (12)进程控制函数

    用于进程管理和控制。

    (13)其它函数

    用于其它各种功能。

    以上各类函数不仅数量多,而且有的还需要硬件知识才会使用,因此要想全部掌握则需要一个较长的学习过程。 应首先掌握一些最基本、 最常用的函数,再逐步深入。由于篇幅关系,本书只介绍了很少一部分库函数, 其余部分读者可根据需要查阅有关手册。

    还应该指出的是,在C语言中,所有的函数定义,包括主函数main在内,都是平行的。也就是说,在一个函数的函数体内, 不能再定义另一个函数, 即不能嵌套定义。但是函数之间允许相互调用,也允许嵌套调用。习惯上把调用者称为主调函数。 函数还可以自己调用自己,称为递归调用。main 函数是主函数,它可以调用其它函数,而不允许被其它函数调用。 因此,C程序的执行总是从main函数开始, 完成对其它函数的调用后再返回到main函数,最后由main函数结束整个程序。一个C源程序必须有,也只能有一个主函数main。

    展开全文
  • 五、C语言的标识符和关键字一个完整的PIC单片机C语言程序,通常由包含文件(即头文件1,变量定义、变量说明、函数定义、函数体和注释等六部分等组成。1.C语言的标识符所谓标识符,实际上是一些由程序编写者自定义的...
  • 相关题目与解析C语言的程序,可以没有主程序。()C语言程序可以包含多个主函数。...C语言程序包含主程序、函数、头文件及其所连接的程序库。()以下叙述正确的是()。A.c语言规定必须用main作为主函数名...
  • c语言中的中断函数注意事项单片机_C语言函数_中断函数(中断服务程序)开始写中断函数之前,我们来一起回顾一下,单片机的中断系统。中断的意思(学习过微机原理与接口技术的同学,没学过单片机,也应该知道),我们...
  • 然后通过“imagecreatefrompng()”函数,并根据路径创建一个PNG图片源;最后使用函数“imagejpeg()”将PNG图片源转为JPG即可。PHP如何将PNG转换成JPG?_后端开发PHP将PNG转换成JPG的方法:首先获取要转为JPG的PNG...
  • C语言程序设计基础讲座之函数

    千次阅读 2005-03-25 11:28:00
    概述 第一章中已经介绍过,...C语言中函数相当于其它高级语言的子程序C语言不仅提供了极为丰富的库函数(如Turbo C,MS C 都提供了三百多个库函数),还允许用户建立自己定义的函数。用户可把自己的算法编成一个个
  • 7、 一个C程序的执行是从【A 】A.本程序的main函数开始,到main函数结束B.本程序的第一个函数开始,到本...在C程序中,main函数必须位于程序的最前面B.C程序的每行只能写一条语句C.C语言本身没有输入输出语句 D....
  • 试算平衡的方法包括发生额试算平衡法和余额平衡法 C. 试算【单选题】关于现代医学模式的内涵,你认为错误的观点是A. 确立了社会、语言般由心理因素医学体系应有的重要地位 B. 生物医学模式强调生物学作用,忽视...
  • 注意,这种情况下主调函数中调用该函数,该函数调用表达式不能被用作表达式给其他变量赋值。void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。扩展资料使用void类型指针要...
  • 在C语言中简单函数

    千次阅读 2018-08-11 16:13:52
    在C语言中函数是怎样的? 维基百科函数的定义:子程序 一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。 函数在面向过程的语言已经出现。是结构...
  • 函数是C语言程序基本的组成单位,每个程序有且只能有一个主函数(main()),其他的函数都是子函数。按照不同的额分类标准,函数可以分成不同的类: 函数从是否有返回值,可以将函数分为又返回值和无返回值函数两种...
  • 当一个程序由多个源文件组成的时候,根据函数是否能被其他源文件调用的时候,将函数分为内部函数和外部函数,本文就会围着这外部函数的特点进行讲解,希望每一个在学C语言的小伙伴都能弄懂函数的知识点。外部函数在...
  • 要求编写一个程序,统计所有C语言程序中,下列系统函数的被调用次数。 printf open close read write fork signal 统计结果输出到myresult.txt文件按,格式如下: printf 49 open 13 close 13 read 24 write 16....
  • C语言程序设计2函数与变量第9章 函数与变量 9.1 函数定义 9.2 函数定义与使用 9.3 变量的作用域 9.4 变量的存储类型 9.5 内部函数和外部函数 9.1 函数定义 C源程序是由函数组成的。虽然前面的示例程序中都只有一个...
  • C语言程序设计(武春岭)电子课件C语言程序设计(武春岭)电子课件,语言程序设计,武春岭,电子,课件程序设计基础 C语言 第5章模块化程序设计 函数 项目引导 高校学生成绩管理系统项目 总共有6个功能 退出系统功能不...
  • 一个c程序就可以是一个函数,里面再包含n个函数。【延展】C语言中函数函数体的区别是什么?第一、 简单来说函数就是c语言的模块,一块块的,有较强的独立性,但是可以相互调用。一个c程序就可以是一个函数,里面再...
  • C语言程序设计》课程考试题库第一章C语言概述一、单项选择题1、c语言规定,必须用()作为主函数名F un cti onB.i ncludeC.mai n D.stdio答案:C2、()是C程序的基本构成单位。A.函数B. 函数和过程C.超文本过程D....
  • C中函数、变量都遵循先定义和声明后引用的原则。 标准函数C语言的强大功能,依赖丰富的函数库。 定义 类型 函数名(形参列表){ ...
  • Ubuntu系统编译C语言程序用gcc命令编译主程序main1.c 并运行VC++6.0编译主程序main1.c 并运行ubuntu系统下用Makefile的方式编程主程序 用gcc命令编译主程序main1.c 并运行 要求:程序sub1.c 包含一个...
  • A)一些可执行语言B)main函数 C)函数D)包含文件的第一个函数2.(A )是构成C语言程序的基本单位。A、函数B、过程C程序D、子例程3.C语言程序C开始执行。A) 程序第一条可执行语句 B) 程序第一个函数C)...
  • C语言中函数

    多人点赞 2021-06-05 18:56:25
    C语言中的函数函数是什么库函数为什么有...第一,函数就是 C 语言的子程序,一块一块的,有较强的独立性,可以相互调用,换句话说,C 语言中,一个函数里面可以调用 很多 个函数。C语言是面向过程的语言。 第二,函数中
  • 程序设计与C语言摘要:1,本例用到的sin函数称为数学函数,它是为了用户使用方便,由一批厂家开发编写的函数,并不是C语言的一部分.使用数学函数时,往往要用到函数执行时所需的一些...关键词:C来源:牛档搜索...
  • 第一章 C语言概述一.知识点1.C语言的特点:①语言简洁、紧凑,使用方便、灵活; ②运算符丰富;③数据结构丰富;...2.C程序的组成:⑴C程序是由函数构成的;⑵一个函数包括函数的首部(即函数的第一行)和函数...
  • 1 2 3 函数的参数 4 函数的嵌套调用和递归 5 变量的存储类别 6 函数 一个C语言程序通常由一个主函数和若干个子函数组成各子函数之间的关系是平行的因此不能嵌套定义但能相互调用一个C语言程序无论包含了多少个...
  • 在程序前添加代码:addpath(genpath(pwd));将当前文件夹下的所有文件夹都包括进调用函数的目录 ....就是:addpath, genpath两个函数添加 myfiles 和它的目录到搜索路径:addpath(genpath('c:/matlab/myfiles'))...
  • C语言函数

    2020-09-20 21:47:45
    c语言函数 1、函数介绍 函数是一组一起执行一个任务的语句。每个C程序都至少有一个函数。即主函数main()。...一个c语言程序启动之后第一个执行的必须是main函数,程序的其他函数都是它的

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 433,743
精华内容 173,497
关键字:

在c程序中必须包含子函数吗