-
第一章C语言概述
C语言是世界上应用最广泛的程序设计语言之一。它用途广泛、功能强大,语言简洁紧凑、使用灵活方便,程序结构非常良好,可以直接对计算机的硬件进行操作,这些特点使得C语言成为一种优秀的结构化程序设计语言。
-
●1.1程序及程序设计语言
程序是一组计算机能够识别和执行的指令的集合。按照程序设计语言发展历程,可分为机器语言、汇编语言、高级语言3大类;C语言是国际上广泛流行的高级语言。
-
●1.2C程序的构成
一个程序由一个或者多个源程序文件组成,函数是c程序的基本单位,一个c程序可由一个main函数和0个、1个或多个其他函数组成。
-
●1.3调试C程序的步骤和方法
调试和运行一个C程序,一般要经过编辑、编译、连接和运行几个步骤。
-
第二章数据类型、运算符和表达式
计算机程序设计有两个基本问题:一个是数据的描述,一个是操作的描述。数据类型就是对数据的描述,它决定了存储单元的长度以及数据的存储形式。C语言提供了丰富的运算符,这些运算符及其表达式使得C语言功能十分完善。
-
●2.1常量和变量
常量是在程序运行过程中,其值不能被改变的量。常量按表示形式可以分为字面常量和符号常量。
-
●2.2变量和数据类型
变量是在程序运行期间,其值可以被改变的量。变量存储在内存当中,它的存储格式、编码方式以及所占内存大小,由变量的数据类型决定。C语言的基本数据类型分为整型、实型和字符型。
-
●2.3运算符与表达式
运算符是表示特定数学或逻辑运算的符号,表达式是由运算符和操作数连接起来形成的式子。当一个表达式包含多个运算符时,其运算顺序由运算符的优先级和结合性决定。
-
●2.4关系运算与逻辑运算
本讲主要介绍关系运算符与逻辑运算
-
第三章结构化程序设计
C语言是一种结构化的程序设计语言,它的基本结构包括顺序结构、选择结构和循环结构。
-
●3.1算法及其表示方法
算法就是为解决一个问题而采取的方法和步骤。算法的特点包括:有穷性、确定性、可行性、有零个或者多个输入、有一个或者多个输出。流程图是表示算法的常用方法。
-
●3.2顺序结构程序设计
顺序结构是最简单的一种基本结构,按语句出现的先后次序顺序执行。
3.2.1 C语句概述
C程序对数据的处理是通过执行“语句”来实现的。C语句的作用是向计算机系统发出操作指令,要求计算机执行相应的操作。C语句可分为简单语句、复合语句、控制语句和空语句。
3.2.2 格式输入函数
格式输入函数scanf用于为整型、实型、字符型变量输入数据。
3.2.3 格式输出函数
格式输出函数printf用于按指定格式向标准输出设备输出若干个任意类型的数据。
3.2.4 字符输入输出函数
字符输入函数getchar用于从标准输入设备输入一个字符,字符输出函数putchar用于向标准输出设备输出一个字符。 -
●3.3选择结构程序设计
选择结构又称为分支结构,根据给定条件的判断结果,选择执行相应操作,控制程序流程。
3.3.1 if语句
if语句用于实现双分支选择结构。
3.3.2 if的嵌套
在if语句中又嵌套了一个或者多个if语句,就是 if的嵌套。if的嵌套可用于实现多分支选择结构。
3.3.3 条件运算符和条件表达式
条件运算符和条件表达式用于实现双分支选择结构。
3.3.4 switch语句
switch语句用于实现多分支选择结构。 -
●3.4循环结构
循环结构又称为重复结构。循环结构是在一定条件下反复执行某段程序的流程结构。根据给定条件的判定结果,确定是继续执行某个功能还是退出循环。循环结构又分为当型循环和直到型循环。
3.4.1 while语句
while语句用于实现当型循环,它的特点是先判断循环条件,后执行循环体,循环体有可能一次也不被执行。当循环次数不确定时,宜使用while语句。
3.4.2 do while 语句
do while语句用于实现直到型循环,它的特点是先执行循环体,后判断循环条件,循环体至少被执行一次。
3.4.3 for语句
for语句用于实现当型循环。当循环次数确定时,宜使用for语句。
3.4.4循环的嵌套
一个循环体内又包含另一个完整的循环结构,就是循环的嵌套。内嵌的循环中,还可以再嵌套循环,从而形成多层循环。
3.4.5 break与continue语句
break语句可以用在switch语句中和循环体中。break语句用在循环体中,可以使得程序流程从循环体内跳出,提前结束循环。continue语句只能用在循环体中,它的作用是结束本次循环。
-
第四章数组
数组是一种构造数据类型,它是一组相同类型数据的集合,使用数组可以处理同类型的批量数据。
-
●4.1一维数组
一维数组是数组中最简单的,它的元素由数组名加一个下标确定。
-
●4.2二维数组
二维数组长称为矩阵,可以把二维数组看作一个特殊的一维数组,它的每一个元素又是一个一维数组。
-
●4.3数组的存储格式与初始化
计算机的内存单元是按顺序进行编号的,数组却有“维数”的概念,它在内存中是以行为主顺序存储的。定义数组时可以给数组元素赋初值。
-
●4.4数组应用-排序
数组是用来处理批量数据的,在实际应用中,经常需要在批量数据中进行插入、删除、查找和排序等操作,冒泡排序就是一种常用的排序方法。
-
●4.5数组处理字符串(上)
字符串是由若干有效字符所构成的一个序列。它是一种在实际应用中使用频率极高的数据,C语言通常使用一维字符数组来存储一个字符串。
-
●4.6数组处理字符串(下)
字符串是由若干有效字符所构成的一个序列。它是一种在实际应用中使用频率极高的数据,C语言通常使用一维字符数组来存储一个字符串。
-
第五章函数
C语言使用函数实现模块化程序设计。一个c程序由一个或者多个源程序文件组成,一个源程序文件由一个或者多个函数组成,函数是c程序的基本单位。当c程序由一个main函数和若干个其他函数构成时,由main函数调用其他函数,其他函数也可以相互调用,同一个函数可以被一个或者多个函数调用任意多次。
-
●5.1模块化程序设计
模块化程序设计可以控制程序设计的复杂性、提高代码的重用性,缩短开发周期,有利于团队开发,同时也易于维护和扩充程序功能。
-
●5.2函数的定义和声明
函数定义,实际上就是对函数的一个详细的描述,c程序中所有的函数都必须先定义后使用。一般应该在主调函数中对被调用函数进行声明,以便编译系统能正确的识别函数,并检查调用是否合法。
-
●5.3函数调用
函数调用时,主调函数和被调用函数之间可能会有数据传递关系。当函数参数是基本类型时,把实参的值传递给形参。
-
●5.4数组作为函数参数
数组名作为函数参数,在函数调用时,将实参数组的首地址传递给形参。
-
●5.5函数的嵌套调用
函数的嵌套调用就是在调用一个函数的过程中又调用另一个函数。
-
●5.6函数的递归调用
递归调用就是函数直接或者间接的调用它自身。
-
●5.7变量的存储方式和生存期
存储类别指定了变量在内存中的存储方式。c语言中,存储类别有四种:自动的、静态的、寄存器的和外部的。
-
●5.8局部变量和全局变量
在不同位置定义的变量,作用域是不同的。根据变量作用域的不同,把变量分为局部变量和全局变量。
-
第六章指针
指针是C语言中的一个重要特色,,正确灵活的运用指针,可以使程序简洁、紧凑、高效。
-
●6.1指针与指针变量的概念
指针就是地址,指针变量是专门用来存放另一个变量的地址的变量。
-
●6.2指针变量的定义及运算
在定义指针变量时,必须指定基类型;指针变量可以进行算术运算,其运算结果取决于指针变量的基类型。
-
●6.3指针变量的应用举例
指针变量必须先赋值,再使用。通过指针变量可以间接访问另一个变量。指针变量作为函数参数时,将所指向的变量的地址传递给被调用函数,在被调用函数中,通过地址访问调用函数中定义的局部变量。
-
●6.4用指针访问数组元素
可以通过指向数组的指针来引用数组元素。
-
●6.5取地址符及指向数组的指针
指针可以指向二维数组中的一个元素,也可以指向二维数组中的某一行元素。
-
●6.6指针与二维数组
指向字符串的指针变量用于存放字符串的起始地址,通过指针引用字符串更加灵活方便。
-
●6.7指针与字符串
指向字符串的指针变量用于存放字符串的起始地址,通过指针引用字符串更加灵活方便。
-
●6.8指针与函数
函数指针是用于存放函数的起始地址,指向函数的指针变量的一个重要用途是把函数的地址作为参数传递到其他函数。一个函数也可以返回一个指针值。
-
●6.9指针数组
可以通过指向数组的指针来引用数组元素。
-
第七章结构体与链表
结构体也是一种构造类型,它由若干类型相同或不同的元素构成。链表的结点可以用结构体类型来描述。
-
●7.1结构体类型和变量的定义
结构体是一种由用户自己定义的数据类型,所以要先声明结构体类型,再用声明的结构体类型定义结构体变量。
-
●7.2结构体变量的使用
除了同类型结构体变量之间的整体赋值之外,结构体变量一般是不能够整体引用,只能引用结构体变量的成员。
-
●7.3结构体数组和指针
在定义数组时,可以指定结构体类型作为数组的元素类型,这种数组称为“结构体数组”;如果一个指针用于存放结构体变量的地址,这样的指针称为结构体指针。
-
●7.4结构体和函数
结构体变量做为函数参数,参数传递方式是批量值传递,如果想要传递地址,也可以用指向结构体的指针变量做函数参数。
-
●7.5链表概述
链表是一种动态存储的数据结构。它由一系列结点组成,每个结点包括两个部分:用于存储数据元素的数据域,及用于存储下一个结点地址的指针域;结点可以在运行时动态生成。
-
第八章文件
本章主要讲解文件的概念、文件的打开与关闭以及顺序读写数据文件和随机读写数据文件。
-
●8.1文件的概念
使用文件对大批量的数据进行输入和输出,不仅可以提高效率,还可以使数据长期保存,反复使用。通过文件指针访问文件。
-
●8.2文件的打开与关闭
打开文件是为文件建立相应的信息区和文件缓冲区,并使指针变量指向信息区;关闭文件是撤销文件信息区和文件缓冲区,使文件指针变量不再指向该文件信息区。对文件读写之前,先要打开文件,在文件读写操作结束之后,应该关闭文件。
-
●8.3顺序读写数据文件
对文件从头到尾按顺序逐个读出或写入,可以读写字符/字符串,也可以按格式读写任何类型的数据。
-
●8.4随机读写数据文件
随机对文件中任何位置上的数据进行访问。为了实现随机读写,要移动文件位置标记,使它指向需要读写的位置,然后再进行读写。