还剩29页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
语言函数CC语言函数是代码组织的基本单元,是构建复杂程序的核心函数允许代码重用,提高可读性和维护性函数定义语法函数定义使用关键字int、float或void指定函数返回值类型,然后是函数名和圆括号,圆括号内包含参数列表函数体包含在花括号中,执行函数操作函数体包含变量声明和执行语句函数调用调用方式函数调用使用函数名加圆括号,括号内可以包含实参程序跳转当遇到函数调用时,程序会跳转到函数定义的位置执行代码返回值函数执行完成后,会返回一个值,返回值可以是任何数据类型程序继续执行函数执行完毕后,程序会返回到调用函数的下一行继续执行函数参数传递数据函数参数用于将数据传递给函数,以便函数内部进行操作或计算作用域参数的作用域仅限于函数内部,在函数外部无法访问传递方式C语言中,参数传递主要通过值传递和地址传递两种方式函数返回值函数的返回值返回值类型12函数执行完后,可以返回一个返回值类型决定了函数返回的值值的类型使用语句接收返回值3return4使用return语句返回函数的值调用函数时,可以使用变量接收函数的返回值函数作用域函数作用域全局作用域函数作用域指的是函数定义中变全局变量在函数外部声明,可以量的可见性和生命周期在函数在程序的任何地方访问它们在内部声明的变量称为局部变量,程序开始时创建,程序结束时销只能在函数内部访问它们在函毁数被调用时创建,函数执行完毕后销毁块作用域在C语言中,我们可以使用大括号来定义一个代码块,代码块内部声明的变量只能在代码块内部访问递归函数自我调用循环结构代码简洁递归函数在函数体内部调用自身递归函数以循环方式调用自身,直到满足特递归函数可以使代码结构简洁,易于理解定条件变量作用域局部变量全局变量在函数内部定义的变量称为局部在函数外部定义的变量称为全局变量变量只在定义它的函数内有效在程序的所有函数内均有效静态变量用关键字static声明的变量称为静态变量只在定义它的函数或文件内有效静态变量存储位置生命周期初始化静态变量存储在程序的静态存储区静态变量在程序运行期间始终存在在程序开始执行之前,静态变量自动初始化为0局部变量定义作用域
11.
22.仅在函数内部定义的变量,仅在该函数内有效局部变量仅在其所属函数中可见,在函数外部不可访问生命周期优点
33.
44.局部变量在函数被调用时创建,函数执行完毕后销毁,其值局部变量可以避免不同函数间变量命名冲突,提升代码可读无法保留性和可维护性全局变量定义特点示例注意事项在函数外部声明的变量,称之全局变量在程序开始运行时分全局变量的使用应谨慎,因为int global_var=10;为全局变量全局变量的作用配内存,在程序结束时释放过度使用会导致程序难以维护//全局变量声明域是整个程序,任何函数都可全局变量的作用域是整个程序和调试尽量减少全局变量的以访问和修改,可以被任何函数访问和修改使用,可以通过函数参数传递数据来实现代码的模块化数组作为函数参数传递数组名1数组名实际是数组首元素的地址函数内部2使用数组名访问数组元素参数类型3数组类型或指针类型在函数调用时,将数组名作为参数传递给函数实际上传递的是数组首元素的地址,函数内部可以通过该地址访问数组元素函数参数类型可以是数组类型或指针类型,以便函数能够正确地访问和处理数组元素二维数组作为函数参数传递数组地址1函数接收数组地址访问元素2通过指针访问数组元素修改元素3修改函数内数组元素二维数组作为函数参数传递时,实际上传递的是指向数组首元素的指针函数可以访问数组元素并进行修改,修改会影响原始数组使用指针方式访问数组元素,确保正确访问和修改函数指针函数指针定义指针指向函数函数指针调用函数指针是指向函数的指针,它存储函数的函数指针可以像普通指针一样被赋值、比较函数指针可以用来调用函数,提供了一种灵内存地址和传递活的函数调用方式回调函数函数指针作为参数事件驱动编程回调函数通过函数指针作为参数回调函数在事件驱动编程中广泛传递给另一个函数,允许调用函应用,例如GUI事件处理、异步数在特定事件发生时执行回调函操作完成通知等数自定义行为回调函数允许用户自定义特定事件的行为,提高代码灵活性,并实现更复杂的功能变量地址和引用变量地址引用地址运算符每个变量在内存中都有一个唯一的地址,用引用是变量的别名,指向同一内存地址获取变量的地址,用于创建指向该变量的指于存储其值针指针函数函数指针函数参数12是指向函数的指针,存储函数函数指针可以作为函数的参数的内存地址传递,允许在运行时选择要执行的函数函数返回值动态调用34指针函数可以返回一个指向函指针函数提供了在程序执行时数的指针,使调用者能够访问选择函数的能力,增强了代码该函数的灵活性和可扩展性指针数组概念存储优势指针数组是指一个数组,其元素是指针指针数组存储的是指针地址,而不是数据指针数组可以动态分配内存,方便访问和每个元素指向一个特定类型的变量或数据本身操作多个数据结构数组指针指针变量指向数组的第一个元素的地址数组连续存储的一组数据内存存储数据的位置函数指针应用提高代码效率排序算法函数指针可以动态选择要执行的函数,提高代函数指针可以将排序算法抽象为函数,便于代码效率,避免冗长的if-else语句码重用和修改回调函数库函数函数指针可以作为回调函数的参数,实现异步许多库函数使用函数指针来实现通用性,例如操作,提高代码灵活性qsort函数命令行参数程序启动参数传递
11.
22.程序启动时,可以从命令行输参数通过空格隔开,传递给程入参数序使用函数灵活操作
33.main
44.参数存储在main函数的argv根据参数值,程序可以执行不数组中同的操作链接库代码库代码重用库类型链接库包含预先编译好的函数和数据,可以链接库可以节省开发时间,避免重复编写相链接库可分为静态库和动态库,它们在链接被多个程序使用同功能的代码和运行时表现不同头文件头文件作用头文件包含头文件使用提供函数和数据类型的声明,使编译器包含在程序中所需的函数原型、宏定义使用#include指令包含头文件,例如能够理解程序中使用的函数和数据类型、数据结构定义等内容#include stdio.h预处理命令概述类型C语言预处理命令是一种指令,在编译前常用的预处理指令包括宏定义、文件包含由预处理器处理预处理器将源代码中的、条件编译等这些指令在提高代码可读预处理指令转换为标准C代码,然后由编性、可移植性和可维护性方面发挥着重要译器进行编译作用宏定义方便代码维护提升代码效率使用宏定义可以提高代码的可读性和可维护性,减少重复代码的编宏定义在编译阶段进行替换,可以提高代码运行效率,避免函数调写,方便修改和管理用的开销增强代码可移植性提高代码可读性宏定义可以方便地根据不同的平台进行调整,提高代码的可移植性宏定义可以将复杂的代码简化为易于理解的符号,提高代码可读性常用标准库函数字符串处理函数数学函数C语言提供了丰富的字符串处理函数,例数学函数库包括sin、cos、tan、如strcpy用于复制字符串,strcat用于sqrt等,用于进行数学运算,方便程序连接字符串,strlen用于计算字符串长员进行数学计算度输入输出函数内存操作函数输入输出函数用于程序与用户的交互,例内存操作函数用于管理程序的内存空间,如printf用于输出信息,scanf用于接例如malloc用于分配内存,free用于收用户输入释放内存输入输出函数标准输入标准输出文件输入输出错误处理标准输入通常指键盘,可以使标准输出通常指显示器,可以使用fopen函数打开文件进输入输出函数可能会出现错误用scanf函数从标准输入读使用printf函数将数据输出行读写操作,例如文件不存在或文件无法取数据到标准输出打开等使用fgets函数从文件中读取例如,可以使用scanf%d,例如,可以使用printfHello一行数据,使用fprintf函数可以使用ferror函数检查错num从键盘输入一个整数并World!\n将字符串“Hello向文件写入数据误状态,使用perror函数获将其存储在变量num中World!”输出到屏幕上,并换取错误信息行数学函数数学常数三角函数对数函数指数函数C语言提供常用的数学常数,如包含正弦、余弦、正切等函数实现对数运算,用于解决指数进行指数运算,用于计算增长圆周率pi,用于处理三角运算问题和复杂计算、衰减和复杂模型字符串处理函数字符串长度字符串复制strlen函数用于计算字符串的长度strcpy函数用于将源字符串复制到目标字符串字符串比较字符串连接strcmp函数用于比较两个字符串的大小strcat函数用于将源字符串连接到目标字符串的末尾综合案例演示通过实际编程案例,巩固函数知识演示常见函数应用场景例如,使用函数实现计算器功能练习使用函数进行数据处理理解函数在程序设计中的重要性课程总结函数是C语言的核心概念之一,提供了模块化代码组织和代码复用的机制本课程涵盖函数定义、调用、参数传递、返回值、作用域、递归等关键知识点学习函数可以帮助您编写更结构化、可维护、可扩展的C语言程序。
个人认证
优秀文档
获得点赞 0