还剩28页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
语言复习C课程大纲语言基础数组和字符串1C2数据类型、运算符、表达式、数组、字符串的定义、使用和流程控制等操作函数和指针结构体、联合体和枚举34函数的定义、调用、指针的概结构体、联合体、枚举类型的念和应用定义和使用语言基础C语言是结构化程序设计语言,具有语法简洁、编译效率高、可移植性强等特C点语言是许多高级语言的基础,例如、、等学习语言可C C++Java PythonC以帮助我们理解计算机底层工作原理,提高编程能力变量和数据类型变量是用来存储数据的容器,每个变数据类型定义了变量可以存储的数据量都拥有一个名称和数据类型类型,例如整型、浮点型、字符型等变量在内存中分配一个存储空间,用于保存其值常量和表达式常量表达式在程序执行过程中值不变的量称为常量由运算符、操作数和函数调用组成的合法组合,用来计算一个值输入输出操作标准输入1从键盘获取用户输入标准输出2将信息显示到屏幕文件输入输出3从文件读取数据或写入文件选择结构语句语句语句if elseswitch根据条件执行不同的代码块当条件不满足时执行的代码块根据多个条件选择执行的代码块if循环结构循环循环for while循环用于重复执行一段代码循环在条件为真时,会重for while,直到满足某个条件复执行一段代码循环do-while循环至少会执行一次代码块,然后在条件为真时继续重复执行do-while数组数组是存储相同数据类型的一组数据的集合在语言中,数组是一种C非常重要的数据结构,它可以用于存储各种类型的数据,例如整数、浮点数、字符等数组的定义和使用非常简单在定义数组时,需要指定数组的类型和大小例如,要定义一个存储个整型的数组,可以使用以下代码10int numbers
[10];可以通过下标访问数组中的元素下标从开始,到数组大小减结束01例如,要访问数组中的第一个元素,可以使用以下代码numbersnumbers
[0]=10;字符串处理字符串是字符序列,在语言中以字符数组的形式存储,使用字符指针来访问C和操作字符串常见的字符串处理函数包括、、、等语言strcpy strcatstrcmp strlenC还提供了一些标准库函数,例如、等,用于更高级的字符串操作strstr strtok字符串处理是语言编程中重要的组成部分,掌握字符串处理技巧对于编写高C效的程序至关重要函数函数定义函数调用返回值函数定义包含函数名称、参数列表和函数通过函数名和实际参数调用函数,执行函函数可以通过语句返回一个值,用return体数体内的代码于传递结果指针内存地址间接访问12指针是存储变量内存地址的变通过指针,可以间接访问和修量改存储在内存中的数据动态内存分配3指针是动态内存分配的核心,允许程序在运行时申请和释放内存内存管理内存分配内存释放内存泄漏程序运行时,操作系统会为其分配内存程序不再使用某块内存时,需要将其释如果程序没有及时释放不再使用的内存空间,用于存储变量、数据结构等放,以便其他程序或进程使用,会导致内存泄漏,最终导致系统崩溃结构体自定义数据类型成员变量结构体允许你将不同类型的数据结构体包含多个成员变量,每个组合成一个整体成员变量都有自己的数据类型和名称逻辑关系结构体可以用来表示具有逻辑关系的数据,例如学生信息、商品信息等联合体允许不同类型变量共享同一内存空间节约内存,但使用时需注意类型转换与结构体类似,但成员变量占用同一内存位置枚举类型定义优点枚举类型是一种用户自定义数据枚举类型可以提高代码的可读性类型,它允许将一组相关的常量和可维护性,并可以简化程序开值定义在一起发过程示例例如,定义一个枚举类型来表示一周中的七天预处理指令代码预处理文件包含宏定义预处理指令在编译之前由预处理器处理,使用指令将其他源文件或头文使用定义常量、宏函数,提高代#include#define它们提供了控制编译过程和扩展代码的功件包含到当前源文件中码可读性和可维护性能文件操作文件打开1函数fopen文件读写2函数fread,fwrite文件关闭3函数fclose文件操作是语言中常见的任务,涉及到文件打开、读写和关闭等步骤函数用于打开文件,和函数用于读写文C fopenfread fwrite件内容,函数用于关闭文件fclose错误处理错误类型错误处理机制错误处理方法编译时错误,运行时错误,逻辑错误异常处理,断言,调试工具代码健壮性,错误日志,测试用例编译链接过程预处理1将源代码中的预处理指令进行替换和展开编译2将预处理后的代码翻译成汇编语言代码汇编3将汇编语言代码翻译成机器语言代码链接4将目标代码与库函数链接在一起,生成可执行文件命令行参数程序启动时传递给程序用空格分隔参数12的信息多个参数用空格隔开,第一个通过命令行传递给程序的参数参数是程序名,可以影响程序的行为使用数组访问参数3argv程序可以使用数组获取命令行参数argv位操作按位与按位或两个操作数的对应位都为,结果位两个操作数的对应位只要有一个为11才为,否则为,结果位就为,否则为1010按位异或两个操作数的对应位不同,结果位为,否则为10库函数使用标准库函数常用库函数语言提供丰富的标准库函数,例如字符串处理、数学计算、输C可以简化程序开发入输出、日期时间等提高效率使用库函数可以减少代码量,提高程序效率动态内存分配堆内存动态内存分配主要在堆内存中进行,程序员可以根据需要申请和释放内存空间malloc函数使用malloc函数可以从堆内存中申请一块指定大小的内存空间,并返回指向该内存空间的指针free函数使用free函数可以释放之前分配的内存空间,防止内存泄漏realloc函数使用realloc函数可以改变之前分配的内存空间的大小递归函数定义1函数自身调用自身条件2终止条件和递归步骤应用3阶乘,斐波那契数列链表节点连接灵活分配链表是一种线性数据结构,由一系列链表的内存空间可以动态分配,可以节点组成,每个节点包含数据和指向根据需要添加或删除节点,无需预先下一个节点的指针确定大小插入删除在链表中插入或删除节点只需要修改指针,不需要移动其他节点,效率较高栈和队列栈队列后进先出的数据结构,类似于一堆盘子先进先出的数据结构,类似于排队等候LIFO FIFO排序算法冒泡排序1相邻元素比较并交换,重复操作直到所有元素有序选择排序2每次从剩余元素中选择最小/最大值并交换到正确位置插入排序3将待排序元素插入到已排序序列中的正确位置归并排序4将序列递归分解为子序列,并合并排序后的子序列快速排序5选择一个基准元素,将序列划分为两部分,并递归排序堆排序6构建一个最大/最小堆,并依次取出堆顶元素查找算法线性查找1逐个比较元素二分查找2有序数组,折半查找哈希表查找3根据键值直接定位总结与展望通过本次复习,我们回顾了语言的各个方面,从基础语法到高级特性,为深C入学习其他编程语言打下了坚实基础。
个人认证
优秀文档
获得点赞 0