函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码。函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码。函数还可以接收数据,并根据数据的不同做出不同的操作,最后再把处理结果反馈给我们。

  ====比较字符串的大小:strcmp() 函数====

  #include<stdio.h>

  #include<string.h>

  int main() {

    char str1[] = "haozhijian";

    char str2[] = "huangqinjie";

    int result,i;

    // 比较两个字符串大小

    for( i = 0; (result = strl1[i] - strl2[i]) == 0; i++){

      if(strl[i] == ‘\0’ || strl2[i] == '\0'){  break;}

    }

    printf(strl1 - strl2 = %d\n", result);

    return 0 ;   

  }

  形参与实参

  形参:在函数定义中出现的参数可以看作是一个占位符,他没有数据,只能等到函数被调用时接收传递进来的数据,所以称为形式参数,简称形参。

  实参:函数被调用时给出的参数包含了实实在在的数据,会被函数内部的代码使用,所以称为实际参数,简称实参。

  形参和实参的区别和联系:

  1. 形参变量只有在函数被调用时才分配内存,调用结束后,立即释放内存,所以形参只有在函数内部有效,不能在函数外部使用。

  2. 实参可以是常量、变量、表达式、函数等,无论是惨是何种类型的数据,在进行函数调用时,它们都必须有确定的值,以便这些值传给形参,所以因嘎嘎i提前用赋值、输入等办法使实参获得确定值。

  3. 函数调用中发生的数据传递是单向的,只能把实参的值传递给形参。

====函数返回值(return 关键字)精讲

  函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过return 语句返回。

======函数声明以及函数原型====

  C语言代码由上倒下一次执行,原则上函数定义要出现在函数调用之前,否则就会报错。但在实际开发中,经常在函数定义之前使用它们,这个时候就需要提前声明。

  声明:就是告诉编译器我要使用这个函数,你现在没有找到它的定义不要紧,请不要报错,我稍后会把定义补上。

在实际开发过程中,对于多个文件的程序,通常是将函数定义放到源文件中,将函数的声明放到投文件中,使用函数时引用对应的投文件就剋,编译器会在链接阶段找到函数体。

函数参考手册: www.cpluscplus.com ,它提供了所有C语言标准函数的原型,并给出了详细的介绍和使用示例,可以作为一部权威的参考手册。

 ===7.10 C语言递归函数(递归调用)详解[带实例演示]

  一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层,当最内层的函数执行完毕后,再一层一层地由内到外退出。

  递归的缺陷:时间开销和内存开销都非常大,极端情况下会导致程序奔溃。

===============

  头文件:<stdio.h> 、<ctype.h>、<stdlib.h>、<strng.h>

  熟练的程序员: <assert.h>、<limits.h>、<stddef.h>、<time.h>

  优秀的程序员:<float.h>、<math.h>、<error.h>、<locale.h>、<setjmp.h>、<signal.h>、<stdarg.h>

===============

  

  

C语言入门---第七章 C语言函数的更多相关文章

  1. C 语言入门---第十一章---C语言重要知识点补充

    ====C语言typedef 的用法==== 1. C语言允许为一个数据类型起一个新的别名,就像给人起绰号一样. typedef OldName newName; typedef 和 #define ...

  2. C 语言入门---第六章 C语言数组

    数组就是一些列具有相同类型的数据的集合,这些数据在内存中一次挨着存放,彼此之间没有缝隙. 我们可以将二维数组看作一个Excel表格,有行有列,length1 表示行数,length2 表示列数,要在二 ...

  3. 01 C语言程序设计--01 C语言基础--第1章 C语言概述&第2章 GCC和GDB

    走进嵌入式开发的世界,企业级项目课程让你达到企业嵌入式应用开发要求.名师在线答疑,解决疑难.科学评测体系,系统评估学习.核心项目实........ 30 门课程 241小时12分钟 824 人学习 学 ...

  4. C语言入门(1)——C语言概述

    1.程序与编程语言 我们使用计算机离不开程序,程序告诉计算机应该如何运行.程序(Program)是一个精确说明如何进行计算的指令序列.这里的计算可以是数学运算,比如通过一些数学公式求解,也可以是符号运 ...

  5. Go语言入门系列(六)之再探函数

    Go语言入门系列前面的文章: Go语言入门系列(三)之数组和切片 Go语言入门系列(四)之map的使用 Go语言入门系列(五)之指针和结构体的使用 在Go语言入门系列(二)之基础语法总结这篇文章中已经 ...

  6. C语言入门(6)——C语言常用数学函数

    在编码过程中会经遇到数学运算,幸运的是C语言提供了非常丰富的数学函数库. 在数学中使用函数有时候书写可以省略括号,而C语言要求一定要加上括号,例如sin(pi/2)这种形式.在C语言的术语中,pi/2 ...

  7. C语言学习第七章

    今天开始学习指针,指针在C语言中具有很重要的地位,按照老师所说,学C学不好指针跟没学一样,可见指针在C语言中的重要地位.废话不多说,首先我们先要知道什么是指针. 指针:指针是一个变量,它存储另一个对象 ...

  8. 明解C语言 入门篇 第二章答案

    练习2-1 #include <stdio.h> int main() { int x; int y; int percent; puts("请输入两个整数"); pr ...

  9. 明解C语言 入门篇 第一章答案

    练习1-1 #include <stdio.h> int main() { int a; a = 15; int b; b = 37; int c; c = a - b; printf(& ...

随机推荐

  1. layuiAdmin std v1.x 【iframe版】开发者文档

    layuiAdmin pro v1.x [单页版]开发者文档 layuiAdmin.std(iframe 版) 是完全基于 layui 架构而成的通用型后台管理模板系统,采用传统的 iframe 多页 ...

  2. mysql中explain查看sql语句索引使用情况

    explain + sql: mysql> explain select * from user; +----+-------------+-------+------+------------ ...

  3. yum grouplist 安装gnome桌面环境

      经常,我们如果需要安装一些比较复杂的软件时,都会在安装操作系统的时候直接勾选,然后进行安装.但是,有的时候,等操作系统安装完了才发现有遗漏的软件没有安装. 这个时候,yum就要出来救场了.使用yu ...

  4. Spring一些注解

    spring @component的作用详细介绍 1.@controller 控制器(注入服务) 2.@service 服务(注入dao) 3.@repository dao(实现dao访问) 4.@ ...

  5. CSS - div中的文字不换行,超出宽度就用省略号表示

    问题 过多的文字会把盒子撑开,造成布局错乱. 解决 .card-title { white-space: nowrap; text-overflow: ellipsis; overflow: hidd ...

  6. Plastic Bottle Manufacturer Profile: Plastic Bottle Forming Process

    Plastic bottle molding refers to the process of making a final plastic product from a polymer produc ...

  7. JAVA基础学习(6)之使用对象

    6使用对象 6.1字符类型 6.1.1字符类型 char和int互相转换 //a比A大32 Scanner in=new Scanner(System.in); char c='B'; char c1 ...

  8. js递归生成树形下拉菜单

    需求:我需要把一个单表的数据转换成类似菜单那种如图所示:我呢需要把这个菜单树放入到下框里面去如图所示: 下面是实现思路:1.第一步1.1var afTypeJson=${afTypeJson}// 这 ...

  9. markdown区块

    Markdown 区块 Markdown 区块引用是在段落开头使用 > 符号 ,然后后面紧跟一个空格符号: > 区块引用 > 菜鸟教程 > 学的不仅是技术更是梦想 显示结果如下 ...

  10. 【PAT甲级】1089 Insert or Merge (25 分)(插入排序和归并排序)

    题意: 输入一个正整数N(<=100),接着输入两行N个整数,第一行表示初始序列,第二行表示经过一定程度的排序后的序列.输出这个序列是由插入排序或者归并排序得到的,并且下一行输出经过再一次排序操 ...