C语言入门---第七章 C语言函数
函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码。函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码。函数还可以接收数据,并根据数据的不同做出不同的操作,最后再把处理结果反馈给我们。
====比较字符串的大小: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语言函数的更多相关文章
- C 语言入门---第十一章---C语言重要知识点补充
====C语言typedef 的用法==== 1. C语言允许为一个数据类型起一个新的别名,就像给人起绰号一样. typedef OldName newName; typedef 和 #define ...
- C 语言入门---第六章 C语言数组
数组就是一些列具有相同类型的数据的集合,这些数据在内存中一次挨着存放,彼此之间没有缝隙. 我们可以将二维数组看作一个Excel表格,有行有列,length1 表示行数,length2 表示列数,要在二 ...
- 01 C语言程序设计--01 C语言基础--第1章 C语言概述&第2章 GCC和GDB
走进嵌入式开发的世界,企业级项目课程让你达到企业嵌入式应用开发要求.名师在线答疑,解决疑难.科学评测体系,系统评估学习.核心项目实........ 30 门课程 241小时12分钟 824 人学习 学 ...
- C语言入门(1)——C语言概述
1.程序与编程语言 我们使用计算机离不开程序,程序告诉计算机应该如何运行.程序(Program)是一个精确说明如何进行计算的指令序列.这里的计算可以是数学运算,比如通过一些数学公式求解,也可以是符号运 ...
- Go语言入门系列(六)之再探函数
Go语言入门系列前面的文章: Go语言入门系列(三)之数组和切片 Go语言入门系列(四)之map的使用 Go语言入门系列(五)之指针和结构体的使用 在Go语言入门系列(二)之基础语法总结这篇文章中已经 ...
- C语言入门(6)——C语言常用数学函数
在编码过程中会经遇到数学运算,幸运的是C语言提供了非常丰富的数学函数库. 在数学中使用函数有时候书写可以省略括号,而C语言要求一定要加上括号,例如sin(pi/2)这种形式.在C语言的术语中,pi/2 ...
- C语言学习第七章
今天开始学习指针,指针在C语言中具有很重要的地位,按照老师所说,学C学不好指针跟没学一样,可见指针在C语言中的重要地位.废话不多说,首先我们先要知道什么是指针. 指针:指针是一个变量,它存储另一个对象 ...
- 明解C语言 入门篇 第二章答案
练习2-1 #include <stdio.h> int main() { int x; int y; int percent; puts("请输入两个整数"); pr ...
- 明解C语言 入门篇 第一章答案
练习1-1 #include <stdio.h> int main() { int a; a = 15; int b; b = 37; int c; c = a - b; printf(& ...
随机推荐
- 【Python】爬虫原理
前言 简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什 ...
- 01hive基础操作
一. Hive基础概念 我自己本人一开始学习Hive的时候,最大的疑问就是hive和hbase到底有什么区别?(因为自己本身学校课程设置问题有了解到一丢丢hbase的知识) 所以先甩一篇博客提供给跟我 ...
- 台电X16pro刷机记录
Android: 如果要刷安卓,需要使用win7系统电脑,且需要安装java环境,同时按住 音量减+电源键进入刷机模式(DNX BOOT MODE..),这时在PhoneFlashTool_5.3.2 ...
- super this 关键字
super 关键字的三种用法: 1.在子类成员方法中,访问父类成员变量 2.在子类成员方法中,访问父类成员方法 3.在子类构造方法中,访问父类构造方法 this 关键字的三种用法: 1.在本类的成员方 ...
- SVM资源
算法源码: SVM-From-Scratch:https://github.com/adityajn105/SVM-From-Scratch
- 用for循环创建对象
以下代码Demo: public class TestDemo { public static void main(String[] args) { //以创建5个student为例 int coun ...
- Amoeba介绍及原理
Amoeba的中文意思是变型虫 Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy.它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库 ...
- FYF的煎饼果子
利用等差数列公式就行了,可以考虑特判一下m >= n($ m, n \neq 1 $),这时一定输出“AIYAMAYA”. #include <iostream> using nam ...
- idea新建maven project工程
1.new project: 2.新建在main 下新建 java directory 并mark as source root,这里我已经makr过java目录所以以showfor做演示: 3.新 ...
- DataGrid 獲取 制定 row Col 單元格
public static class DataGridHelper { /// <summary> /// Gets the v ...