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. 解决问题的方法和步骤称作算法。算法和数据结构是程序的两个主要要素。2.2. 算法具有确定
3、性、有穷性、有效性等特点。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.9 当循环2.5. 由
4、三种基本结构组成的程序称作结构化程序,结构化程序中的每个模块只有一个入口和一个出口。结构化程序设计通常采用“自顶向下、逐步细化”的设计方法。C 程序设计知识点第 3 章 数据类型、运算符与表达式第 3 页 共 21 页第 3 章 数据类型、运算符与表达式3.1. C 的数据类型如下所示:表 3.1 C 语言的数据类型数据类型 字节数 数值范围无符号短整型(unsigned short int) 2 02 16-1有符号短整型(signed short int) 2 -2152 15-1无符号长整型(unsigned long int) 4 02 32-1整型有符号长整型(signed long
5、 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 开头的整数为八进制整数,以 0X 或 0x 开头
6、的整数为十六进制无符号整数。3.4. -3276832767 为 int 型,0U 65535U 为 unsigned 型,65536U 4294967295U和 0UL4294967295UL 为 unsigned long 型,-2147483648-32769、327682147483647 和-2147483648L2147483647L 为 long 型。后缀U 和 L 不区分大小写和次序。3.5. 数据的存储字节数可用运算符 sizeof()查询,括号内可是数据、表达式或类型名。3.6. 有符号整数(int 和 long)按补码存储,因此,-65535U -1U 与 1U65535
7、U 依次相等,-4294967295UL -1UL 与 1UL4294967295UL 依次相等。3.7. 定点数(含小数点数 )和浮点数统称 C 实型常量,浮点数的一般形式为:尾数 e 除码 或 尾数 E 除码其含义为:尾数10 除码C 程序设计知识点第 3 章 数据类型、运算符与表达式第 4 页 共 21 页其中,尾数为定点数或整数,除码为整数。标准浮点数的小数点在第 1 位非 0数字之后。后缀 L 或 l 的实型常量为长双精度,无后缀实型常量为双精度。3.8. 用一对单引号括起来的单个字符称作 C 字符常量,其值为该字符的 ASCII 码(1 字节无符号整数)。3.9. 转义字符n 、t
8、、 、“分别表示回车符、制表符、反斜杠、单引号、双引号。3.10. 转义字符整数、x 整数(或X 整数)中的整数分别为八进制、十六进制,表示以此整数为 ASCII 码的字符。3.11. 用双引号括起来的一串字符称作 C 字符串型常量,串中字符数称作串长,可以为 0。字符串的存储形式为:依次存储字符串中字符的 ASCII 码,并追加一个空字符0 ( 1 字节无符号整数 0)。3.12. 字符型、整型、实型数据统称数值型数据,不同类型的数值型数据可以混合运算,低精度数据被自动强制转换为高精度数据后方参与运算。另外,字符常量为有符号短整数,两个字符型数据间的运算按有符号短整数处理。3.13. 如果将
9、数值型数据赋给不同类型的数值型变量,则数值型数据将被自动强制转换为变量的数据类型。3.14. C 允许定义变量的同时赋初值。3.15. C 运算符及其优先级、结合性如附录 C(教材第 365 页)所示。3.16. 强制数据类型转换的一般形式为:(类型名)数据3.17. 自增+ 、自减-运算只能作用于变量,作用于右侧时,返回变量自增、自减前的值。3.18. 赋值表达式的格式为:变量=表达式 或 变量 op=表达式其中,op 为运算符 +、-、*、/、%、 、4.2. putchar、getchar、printf、scanf 等输入输出函数的原型在头文件 stdio.h 中。4.3. 函数 put
10、char 和 getchar 的格式和功能如下:(1) putchar格式:putchar( 表达式)功能:向标准输出设备输出以指定表达式的值为 ASCII 码的字符,并以该值为函数值(自动强制转换为 int 型)。(2) getchar格式:getchar()功能:从标准输入设备输入一个字符,并以该字符为函数值。注意:getchar 可提取空格及回车、 Tab 等部分控制字符,而且只提取输入中相应位置上的一个字符,因此,输入字符间无须分隔,否则也被视为输入字符。4.4. printf 函数的格式和功能如下:格式:printf(格式控制串, 输出表列)功能:(1) 从右至左依次计算输出表列中各
11、表达式的值;(2) 从左至右依次输出格式控制串中的字符,其中,%引导的格式控制符由输出表列中相应表达式的值所取代。输出表列是一组用逗号分隔的表达式(又称输出项,可以为 0 项)。格式控制串为字符串型数据(可以是表达式)。其中,格式符用于控制输出表列中相应表达式的输出格式。格式符及其功能如下表所示:表 4.1 printf 格式字符格式符 说明d 或 i 有符号十进制短整数(不输出正号 )u 无符号十进制短整数o 无符号八进制短整数(无前缀 0)x 或 X 无符号十六进制短整数(无前缀 0x,数字的大小写与 x 相同)c 字符C 程序设计知识点第 5 章 选择结构程序设计第 7 页 共 21 页
12、s 字符串f 定点数(默认 6 位小数)。e 或 E 浮点数(浮点数中 e 的大小写与格式符 e 的大小写相同)g 或 G %f 和%e 中输出宽度较短者(e 与 g 的大小写相同)附加格式符 说明l 插在%和 d、i、u、o、x、X 之间,表示输出相应长整数。整数.整数整数 .整数插在%和其它格式符之间,前一个整数的绝对值为输出数据的宽度,后一个整数控制实际输出位数:输出整数时,指定输出位数,不足左补 0,超出保留;输出实数时,指定输出小数位数,不足右补 0,超出四舍五入;输出字符串时,指定输出字符数。另外,第一个整数为负时,输出数据左对齐,否则右对齐。4.5. scanf 函数的格式和功能
13、如下:格式:scanf( 格式控制串, 地址表列)其中,格式控制串为字符串型数据(可以是表达式),地址表列是一组用逗号分隔的地址。功能:(1) 右至左依次计算地址表列中各表达式的值;(2) 从标准输入设备提取数据,并从左至右依次存储到所指定的存储单元。(3) 地址表列中的地址可用表达式表示,通常形式为:功能:结束本层 switch 语句或本层循环语句。说明:break 语句只能用于 switch 语句和循环。C 程序设计知识点第 6 章 循环结构程序设计第 10 页 共 21 页第 6 章 循环结构程序设计6.1. while 语句的格式和功能如下:格式:while(表达式)循环体功能:当表达
14、式的值为真时,重复执行其后循环体。说明:循环体是循环语句的内嵌语句,可以是空或复合语句(下同)。6.2. do-while 语句的格式和功能如下:格式:do 循环体 while(表达式)功能:重复执行循环体,直到表达式的值为假。说明:do-while 循环至少执行一次循环体。6.3. for 语句的格式和功能如下:格式:for(表达式 1; 表达式 2; 表达式 3) 循环体功能:(1) 计算表达式 1;(2) 当表达式 2 的值为真时,重复执行循环体和计算表达式 3。说明:表达式 1、表达式 2、表达式 3 均可缺省,但保留分号。6.4. continue 语句的格式和功能如下:格式:continue;功能:跳过循环体中其后程序段(结束本次循环)。说明:continue 语句只能用于循环。6.5. 掌握以下算法:累加、阶乘、判断素数、分解整数数字、递推数列、打印字符图形。