还剩41页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
语言基础知识C语言概述CC语言是一种通用的高级编程语言,以其简洁、高效和可移植性而闻名它广泛应用于系统软件、应用程序开发、嵌入式系统等多个领域语言的历史C起源发展C语言诞生于1972年,由贝尔实验室的丹尼斯·里奇(Dennis C语言的简洁、高效和可移植性使其迅速流行,并被广泛应用于Ritchie)设计和开发,最初被用在Unix操作系统上各种操作系统和应用程序语言的应用领域C系统软件开发应用程序开发操作系统、编译器、数据库管理办公软件、游戏、网络应用等系统等嵌入式系统开发硬件驱动开发智能手机、家用电器、工业控制为硬件设备提供软件接口,例如系统等显卡驱动、网络驱动语言的特点C高效性可移植性C语言是一种编译型语言,编译C语言的标准库提供了一套跨平器可以将代码直接转换为机器台的函数,使程序可以在不同码,使其执行效率很高的操作系统上运行灵活性C语言允许程序员直接操作内存,并使用指针来实现更灵活的编程方式语言的基本语法C标识符关键字标识符用于命名变量、函数、结构关键字是C语言中预定义的标识符,体等具有特殊的含义标识符和关键字标识符关键字标识符是用来识别程序元素的名称,比如变量、函数、数组等关键字是C语言预定义的标识符,具有特殊的含义,不能被用户定义为标识符数据类型整型字符型浮点型用于存储整数,如
10、-5等用于存储单个字符,如A、b等用于存储带有小数点的数字,如
3.
14、-
2.5等变量和常量变量常量变量用于存储可变的值变量需要先声明,然后才能在程序中使常量用于存储固定不变的值常量在声明时就需要赋值,并且在用程序运行过程中无法修改表达式和运算符算术运算符关系运算符12包括加、减、乘、除、取模等用于比较两个操作数的大小,运算符例如大于、小于、等于等逻辑运算符位运算符34用于对逻辑表达式进行运算,用于对数据的二进制位进行操例如“与”、“或”、“非”等作,例如按位与、按位或、按位异或等流程控制程序的流程控制是指控制程序执行的顺序,让程序按照我们预期的步骤执行顺序结构分支结构循环结构语句按照顺序执行,根据条件判断选择执重复执行一段代码,没有跳转行不同的代码块直到满足某个条件顺序结构顺序执行无条件执行语句按照书写顺序依次执行每条语句都必须执行分支结构语句语句if switchif语句用于根据条件判断执行不同的代码块如果条件为真,则switch语句用于根据表达式的值选择执行不同的代码块如果执行if块中的代码;否则执行else块中的代码表达式的值与某个case标签的值相匹配,则执行该case块中的代码循环结构循环结构允许代码段重复执行,直到C语言提供三种常见的循环结构for满足特定条件循环、while循环和do-while循环通过循环结构,我们可以有效地处理重复性任务,例如遍历数组、读取文件等数组数组是用来存储相同数据类型的一组数据的集合一维数组二维数组一维数组是一个线性结构,可以存二维数组是一个表格结构,可以存储相同数据类型的多个元素储相同数据类型的一组数据,用行和列来表示一维数组连续存储索引访问数组元素在内存中连续存储,通过索使用索引值访问数组元素,索引从0引访问元素开始固定大小数组在创建时大小固定,无法动态调整二维数组定义声明二维数组是用来存储多个相同数声明二维数组时需要指定行数和据类型数据的结构,它可以看作列数,例如int array
[3]
[4]声是多个一维数组的集合每个一明一个3行4列的整型二维数组维数组称为二维数组的一行,二维数组的元素通过两个下标来访问访问访问二维数组的元素需要使用两个下标,例如array
[1]
[2]访问第二行第三列的元素数组的应用存储数据排序和查找12数组可以用来存储相同类型的可以使用数组进行数据排序和数据,例如学生成绩、商品价查找操作,例如查找最大值或格等最小值矩阵运算3二维数组可以用来表示矩阵,进行矩阵加减乘除等运算函数函数是C语言中组织代码的基本单元,类似于数学中的函数函数将一系列语句封装成一个独立的模块,方便代码的复用和维护函数定义和调用函数定义函数调用函数定义指定了函数的名称、参数列表和函数体函数调用通过函数名和实际参数传递值给函数,执行函数体内的代码函数参数传递值传递地址传递将实参的值复制一份传递给形参,形参的改变不会影响实参将实参的地址传递给形参,形参的改变会影响实参函数的返回值函数返回值类型语句return返回值类型决定了函数返回的数使用return语句将函数计算的结据类型,例如整数、浮点数、字果返回给调用者符等返回值的用途函数的返回值可以被其他函数使用,用于传递计算结果或状态信息指针指针的概念指针的用途指针是一种特殊的变量,它存储了指针可以用来直接访问内存中的数内存地址据,提高程序效率指针的概念内存地址间接访问数据类型指针是一个变量,它存储了内存中其他通过指针,我们可以间接地访问和修改指针必须与它所指向的变量的数据类型变量的地址它允许我们直接访问和操变量的值,而不必知道变量的实际内存匹配,以便进行正确的内存访问作内存中的数据地址指针的运算加减运算比较运算指针可以加减整数,表示在内可以比较两个指针的大小,判存中移动指针的位置断它们指向的内存地址的相对位置取值运算使用*运算符获取指针指向的内存单元的值指针和数组的关系指针指向数组指针偏移量数组大小计算指针可以指向数组的第一个元素,并通过指针可以进行偏移操作,通过加减整数来指针可以用于计算数组的大小,通过指针指针访问数组中的元素访问数组中的不同元素减去数组起始地址来获得数组的元素数量字符串处理定义和输入输出操作字符串是一系列字符的集合,用双字符串操作包括字符串连接、字符引号括起来可以使用scanf或串比较、字符串查找、字符串替换gets函数输入字符串,使用printf等或puts函数输出字符串字符串的定义和输入输出字符数组输入用字符数组存储字符串,每个字符占使用`scanf`或`gets`函数从键一个数组元素盘输入字符串输出使用`printf`或`puts`函数输出字符串字符串的操作连接截取查找替换将两个或多个字符串连接在从一个字符串中提取出部分在字符串中查找指定的字符将字符串中指定的部分内容一起,形成一个新的字符串内容,形成新的字符串或字符串,返回其位置信息替换成新的内容字符串函数字符串长度字符串复制strlen函数用于计算字符串的长度strcpy函数用于将一个字符串复制到另一个字符串中字符串比较字符串查找strcmp函数用于比较两个字符串strstr函数用于在一个字符串中查找另一个字符串文件操作C语言提供了一系列函数来实现对文件的操作,包括打开、关闭、读写、定位等打开文件关闭文件读写文件使用fopen函数打开使用fclose函数关闭使用fread和fwrite文件,并返回文件指文件,释放文件资源函数进行文件读写操针作文件的打开和关闭打开文件关闭文件使用fopen函数打开文件,需要使用fclose函数关闭文件,释放指定文件名和打开模式文件资源打开模式常用的打开模式包括只读、只写、追加、读写等文件的读写文件读取文件写入使用`fread`函数从文件中读取数据,例如`freadbuffer,使用`fwrite`函数将数据写入文件,例如`fwritebuffer,size,count,file`size,count,file`文件的定位和错误处理文件指针定位错误处理12使用fseek函数可以将文件使用ferror函数判断文件操指针移动到指定位置,方便读作是否发生错误,并通过取或写入特定内容perror函数输出错误信息错误处理3使用clearerr函数可以清除错误状态,以便继续进行文件操作动态内存管理程序运行时,内存管理变得更加灵活,可以根据需要动态分配和释放内存空间动态内存管理允许程序在运行时根据需要请求和释放内存,而不是在编译时固定分配和函数malloc free函数函数malloc free在堆上分配内存空间释放堆上分配的内存空间和函数calloc realloc函数函数calloc realloc分配内存并初始化为
0.调整已分配内存的大小.内存泄漏问题未释放内存程序崩溃内存碎片动态分配的内存空间在使用完后没有及长期内存泄漏会导致系统内存被耗尽,即使有足够的可用内存,但由于内存碎时释放,导致内存空间被占用,无法被最终导致程序崩溃或系统性能下降片化,无法分配出足够大的连续内存空其他程序使用间,导致程序无法正常运行程序结构与编译从源代码到可执行程序,需要经历预处理、编译、汇编和链接等阶段源代码编写预处理编译汇编程序员使用C处理宏定义、将预处理后的将汇编语言代语言编写源代头文件包含等代码翻译成汇码翻译成机器码文件,例如,生成预处理编语言代码指令,生成目.c文件后的代码标代码文件源文件的编写使用文本编辑器编写源代码文件,并每个源文件通常包含一个或多个函数以“.c”为扩展名保存的定义添加注释来解释代码的功能和逻辑,提高代码的可读性和可维护性预处理和编译预处理编译12将源代码中的宏定义、文件包将预处理后的源代码翻译成机含、条件编译等指令进行处理器可以理解的汇编代码,生成新的源代码文件优化3编译器会对汇编代码进行优化,提高代码的效率和性能链接和装载链接装载将目标代码和其他库文件组合成一个可执行文件将可执行文件加载到内存中,以便操作系统执行综合案例实践通过实践项目,巩固C语言知识,提升编程能力。
个人认证
优秀文档
获得点赞 0