1、C 程序设计知识点 第 1 章 C 语言概述第 1 页 共 21 页C 程序设计知识点都懂了,一定过!第 1 章 C 语言概述1.1. C 语言属高级语言,区分字母的大小写,以函数为基本单位采用模块化程序设计,可直接访问内存,进而对硬件进行操作。1.2. 用 C 语言编写和程序称作 C 源程序,简称 C 程序,C 程序可由若干个文本文件组成,文件扩展名为 C(使用 C+编译器时默认扩展名为 CPP)。C 源程序经编译、连接后得到扩展名为 EXE 的可执行文件 (目标程序) 。预处理 编译、连接 执行若干个 C 程序文件-C 程序-目标程序文件-1.3. C 程序从主函数开始执行,每个 C 程序
2、有且仅有一个主函数,因此,每个 C程序文件中至多有一个主函数。1.4. C 语句以分号结尾,用括起来的一组语句称作复合语句,复合语句可省略花括号之后的分号。1.5. 允许一行内写多个 C 语句,也允许一个 C 语句占用多行,但保留字和标识符不可拆行。1.6. 在 C 集成环境 VC+ 6.0 中,新建工程、保存当前程序文件、编译当前程序、执行当前程序的快捷键依次为:Ctrl+N、Ctrl+S 、F7、Ctrl+F5 。C 程序设计知识点第 2 章 程序设计的灵魂算法第 2 页 共 21 页第 2 章 程序设计的灵魂算法2.1. 解决问题的方法和步骤称作算法。算法和数据结构是程序的两个主要要素。
3、2.2. 算法具有确定性、有穷性、有效性等特点。2.3. 算法可用自然语言、流程图、N-S 图、计算机语言、伪代码等描述。伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。起止框 输入输出框 判断框处理框 注释框 连接点 流程线 有向线段或折线图 2.1 ANSI 流程图符号2.4. 算法的基本结构分为:顺序结构、选择结构、循环结构。 - -Y 条件 N 条件 N Y 条件 Y - - - - N图 2.2 顺序结构 图 2.3 选择结构 图 2.4 当循环 图 2.5 直到循环条件 条件Y N 循环体循环体条件图 2.6 顺序结构 图 2.7 选择结构 图 2.8 当循环 图 2
4、.9 直到循环2.5. 由三种基本结构组成的程序称作结构化程序,结构化程序中的每个模块只有一个入口和一个出口。结构化程序设计通常采用“自顶向下、逐步细化”的设计方法。C 程序设计知识点第 3 章 数据类型、运算符与表达式第 3 页 共 21 页第 3 章 数据类型、运算符与表达式3.1. C 的数据类型如下所示:表 3.1 C 语言的数据类型数据类型 字节数 数值范围无符号短整型(unsigned short int) 4 02 16-1有符号短整型(signed short int) 2 -2152 15-1无符号长整型(unsigned long int) 4 02 32-1整型有符号长整
5、型(signed long int) 4 -2312 31-1单精度实型(float) 4 长 37 位,6 位有效双精度实型(double) 8 长 307 位,15 位有效实型长双精度实型(long double) 10 长 4931 位,18 位有效字符型(char) 1 02 8-1基本类型空类型(void) 1枚举类型 2指针类型 2数组类型结构体类型构造类型 共用体类型3.2. C 符号常量名、变量名、函数名等统称标识符,标识符的命名规则为:以字母或下划线开头,由字母、数字、下划线组成,超出 32 个字符部分被忽略(最好不超过 8 个字符)。3.3. 以 0 开头的整数为八进制整数
6、,以 0X 或 0x 开头的整数为十六进制无符号整数。3.4. -3276832767 为 int 型,0U65535U 为 unsigned 型,65536U4294967295U 和 0UL4294967295UL 为 unsigned long 型,-2147483648-32769 、327682147483647 和-2147483648L2147483647L 为long 型。后缀 U 和 L 不区分大小写和次序。3.5. 数据的存储字节数可用运算符 sizeof()查询,括号内可是数据、表达式或类型名。3.6. 有符号整数(int 和 long)按补码存储,因此,-65535U-
7、1U 与 1U65535U 依次相等,-4294967295UL -1UL 与 1UL4294967295UL 依次相等。3.7. 定点数(含小数点数 )和浮点数统称 C 实型常量,浮点数的一般形式为:尾数 e 除码 或 尾数 E 除码其含义为:尾数10 除码C 程序设计知识点第 3 章 数据类型、运算符与表达式第 4 页 共 21 页其中,尾数为定点数或整数,除码为整数。标准浮点数的小数点在第 1 位非 0数字之后。后缀 L 或 l 的实型常量为长双精度,无后缀实型常量为双精度。3.8. 用一对单引号括起来的单个字符称作 C 字符常量,其值为该字符的 ASCII 码(1 字节无符号整数)。3
8、.9. 转义字符n、t、“分别表示回车符、制表符、反斜杠、单引号、双引号。3.10. 转义字符整数、x 整数(或X 整数)中的整数分别为八进制、十六进制,表示以此整数为 ASCII 码的字符。3.11. 用双引号括起来的一串字符称作 C 字符串型常量,串中字符数称作串长,可以为 0。字符串的存储形式为:依次存储字符串中字符的 ASCII 码,并追加一个空字符0(1 字节无符号整数 0)。3.12. 字符型、整型、实型数据统称数值型数据,不同类型的数值型数据可以混合运算,低精度数据被自动强制转换为高精度数据后方参与运算。另外,字符常量为有符号短整数,两个字符型数据间的运算按有符号短整数处理。3.
9、13. 如果将数值型数据赋给不同类型的数值型变量,则数值型数据将被自动强制转换为变量的数据类型。3.14. C 允许定义变量的同时赋初值。3.15. C 运算符及其优先级、结合性如附录 C(教材第 365 页)所示。3.16. 强制数据类型转换的一般形式为:(类型名)数据3.17. 自增+、自减-运算只能作用于变量,作用于右侧时,返回变量自增、自减前的值。3.18. 赋值表达式的格式为:变量=表达式 或 变量 op=表达式其中,op 为运算符 +、-、*、/、%、 、功能:在预处理时,用指定文件置换本命令加载文件。置换后,被包含文件成为本文件的一部分,其函数、全局变量等均可在本文件中直接使用,
10、无须作 extern 声明。前一种格式先在当前目录中找指定文件,如果未找到,方到存放 C 头文件的目录中查找。后一种格式直接到存放 C 头文件的目录中查找指定文件。9.8. 条件编译命令的格式和功能如下:格式一:#ifdef 宏名 程序段 1 #else 程序段 2 #endif功能:在预处理时,如果指定的宏名已定义,则用程序段 1 置换本命令,否则用程序段 2 置换本命令。当程序段 2 为空时,#else 可省略(下同)。格式二:#ifndef 宏名 程序段 1 #else 程序段 2 #endif功能:在预处理时,如果指定的宏名未定义,则用程序段 1 置换本命令,否则用程序段 2 置换本命
11、令。格式三:#if 常量表达式 程序段 1 #else 程序段 2 #endif功能:在预处理时,如果指定常量表达式的值为真(非 0),则用程序段 1 置换本命令,否则用程序段 2 置换本命令。C 程序设计知识点第 10 章 指针第 16 页 共 21 页9.9. 注释命令在预处理时被删除,不影响源程序和目标程序。注释命令的格式如下:/*注释内容*/C 程序设计知识点第 10 章 指针第 17 页 共 21 页第 10 章 指针10.1. 内存的基本单位是字节,每个字节都有相应的编号,称作地址或指针。借助于指针,C 语言可以直接访问内存,从而对硬件进行操作。10.2. 变量所占用内存的大小由其
12、数据类型决定,变量所占用内存的第 1 个字节的地址称作该变量的地址或指针,表为:可用下述格式代替函数名:(*函数指针)10.11. 1 函数返回值可以是指针,定义函数的一般格式为:基类型 *函数名(形参列表)函数体10.12. 不允许将非 0 数直接赋给指针变量,须做强制转换。当指针变量的值为 0时,称之为空指针。10.13. 以指针为元素的数组称作指针数组。10.14. 以指针为基类型的指针称作指向指针的指针,以指向指针的指针为值的变量称作指向指针的指针变量,其定义格式为:存储方式关键字 基类型名 *指向指针的指针变量名10.15. C 源程序经编译、连接所得目标程序 (exe 文件)可作为
13、 DOS 外部命令使用,命令行的一般式为:路径目标程序文件名 参数 1 参数 2 参数 n10.16. C 主函数 main 可带两个形参,前者为 int 型,用于接收命令行中字符串个数,后者为字符串指针数组,用于接收命令行中各字符串。带参主函数的格式为:void main(int 形参 1,char *形参 2 ) 函数体其中,形参 1=参数个数+1形参 20=“路径 目标程序文件名“形参 2i=“参数 i“,i=1,2,n1 标注表示此部分为非考试内容。C 程序设计知识点第 11 章 结构体与共用体第 19 页 共 21 页第 11 章 结构体与共用体11.1. 声明结构体语句的一般格式为
14、:struct 标识符成员表列;其中,成员表列为一组声明变量的语句,这些变量称作该结构体的成员,又称数据项、分量、域、字段等。语句结尾处的分号不可缺省,标识符可以省略,如果不省略标识符,则新增一个数据类型(名):struct 标识符11.2. 定义结构体变量的一般格式为:struct 标识符 变量表列;也可在声明结构体的同时定义变量:struct 标识符成员表列变量表列;11.3. 结构体变量可在定义时赋初值,类似于数组赋初值。11.4. 结构体变量的整体使用有以下四种:(1) 赋值:结构体变量=同类型结构体变量(2) 求存储量:sizeof(结构体变量)(3) 取地址:功能:(1) 显式或隐
15、式指定所列枚举元素所代表的整数;(2) 如果不省略标识符,则定义一个枚举类型(名):enum 标识符枚举元素表是一组用逗号分隔的标识符或整数常量赋值表达式,第一个枚举元素的默认值为 0,其它枚举元素的值为前者加 1。11.13. typedef 语句的格式和功能为:格式:typedef 数据类型名 别名 1,别名 n;功能:给指定数据类型增加一组名称。11.14. typedef 语句也可在声明结构体、共用体、枚举类型的同时给它增加一组名称。C 程序设计知识点第 13 章 文件(B 班不作要求)第 21 页 共 21 页第 13 章 文件(B 班不作要求)13.1. 文件是存储在外部介质( 存储器)上的数据集合,每个文件均有标识符,称作文件名。13.2. C 所使用的数据文件分为文本文件和二进制文件。文本文件以字符为基本单位,存储字符所对应的 ASCII 码,又称 TXT 文件或 ASCII 文件;二进制文件中的数据存储形式与内存中存储形式相同。13.3. 指向文件结构体的指针称作文件类型指针,简称文件指针或 FILE 指针,其定义格式为FILE *文件指针;13.4. 读写文件之前须用 fopen 打开或创建该文件,访问结束后用 fclose 关闭该文件。