1.1 C 语言程序的结构特点:

1)一个 C 程序由一个或多个源程序文件组成。
2)函数是 C 程序的基本单位
数,与 main 函数位置无关(
3)一个函数由两个部分组成:函数头和函数体。
4)一个 C 程序总是从 main
5)C 程序的每个语句和数据定义的最后必须有一个分号
6)程序应当包含注释。(
1.2 C 程序的开发步骤
需求分析--->算法设计---
序(生成可执行程序.exe)
1.3 C 语言的格式特点
1)C 语言中的括号要成对出现,用
2)C 语言区分大小写。
3)允许一行内写多个 C
2.1 算法的特点:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出
2.2 算法的表示:自然语言、流程图、

起止框 输入/输出框
2.3 算法的基本结构分为:顺序结构、选择结构、循环结构。
顺序结构 选择结构
顺序结构 选择结构
第一章 C 语言概述
语言程序的结构特点:
程序由一个或多个源程序文件组成。
程序的基本单位。一个 C 语言源程序必须包含一个且仅包含一个
函数位置无关(main 函数可以在任意位置)。
)一个函数由两个部分组成:函数头和函数体。
main 函数开始执行,到 main 函数结束。
程序的每个语句和数据定义的最后必须有一个分号。
)程序应当包含注释。(//:单行注释 / /:块(多行)注释)
--->编写程序(源文件.c)--->编译程序(生成目标文件
.exe)--->运行程序
语言中的括号要成对出现,用 {} 括起来的一组语句称为复合语句。
语言区分大小写。
C 语句,也允许一个语句占多行,但保留字和标识符不可拆行。
第二章 算法
有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出
算法的表示:自然语言、流程图、N-S 流程图
判断框 处理框 注释框 连接点
图 2.2 流程图符号
算法的基本结构分为:顺序结构、选择结构、循环结构。
选择结构 当型循环
图 2.2 流程图三种基本结构
选择结构 当型循环
图 2.3 N-S 流程图三种基本结构
包含一个且仅包含一个 main 函
注释)
生成目标文件.obj)--->连接程
括起来的一组语句称为复合语句。
语句,也允许一个语句占多行,但保留字和标识符不可拆行。
有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出

连接点 流程线
直到型循环
直到型循环
2.4 由三种结构组成的程序称作结构化程序,结构化程序中的每个模块只有一个入口和一
个出口。结构化程序设计通常采用“自顶向下、逐步细化”的设计方法

3.1 常量:程序运行过程中,其值不能改变的量称为常量。
3.2 变量:程序运行期间,变量的值可以改变。
变量必须先定义,后使用。
3.3 标识符:符号常量名、变量名、函数名等统称为标识符。标识符的命名规则:
能由字母、数字和下划线 3
3.4 C 的数据类型如下所示:
3.5 以 0 开头的整数位八进制整数,以
3.6 C 语言中字符常量必须用单撇号(
码(整数)形式存储的,字符常量的值就是其对应的
值为 97,‘A’的 ASCII 码值为
3.7 字符串常量是一对双撇号(双引号)括起来的一个或多个字符。
3.8 c 语言中的常用的转义字符如表:
转义字符 说 明
n 回车换行
b 退格
r 回车
t 水平制表
3.9 符号常量使用宏定义命令
3.10 算术运算符:+、-、*
性的。
3.11 自增++、自减—运算符只能用于整型变量
量的值,再使变量的值加一;运算符在变量右侧时(如:
变量的值。
3.12 赋值运算符:=、+=、-=
由三种结构组成的程序称作结构化程序,结构化程序中的每个模块只有一个入口和一
个出口。结构化程序设计通常采用“自顶向下、逐步细化”的设计方法
第 3 章 C 程序设计基础
程序运行过程中,其值不能改变的量称为常量。
程序运行期间,变量的值可以改变。变量三个属性:变量名、变量值

标识符:符号常量名、变量名、函数名等统称为标识符。标识符的命名规则:
3 种字符组成,且第 1 个字符必须为字母或下划线
的数据类型如下所示:
开头的整数位八进制整数,以 0X 或 0x 开头的整数位十六进制无符号整数。
字符常量必须用单撇号(’ ’)括起来,且仅包含单个字符,字符型数据是以代
码(整数)形式存储的,字符常量的值就是其对应的 ASCII 码的值。如字符‘
码值为 65。
字符串常量是一对双撇号(双引号)括起来的一个或多个字符。
语言中的常用的转义字符如表:
转义字符 说 明
' 单引号符'
" 双引号符"
ddd 1~3 位八进制数所代表的字符
xhh 1~2 位十六进制数所代表的字符
宏定义命令#define 来声明,例如:#define PI 3.1415926
*、/、%(运算对象只能是整数)、++、--,算术运算符
运算符只能用于整型变量。运算符在变量右侧时(如:
量的值,再使变量的值加一;运算符在变量右侧时(如:++i),先使变量的值加一,再使用
=、/=、*=、%=,赋值表达式的格式:变量 赋值运算符
由三种结构组成的程序称作结构化程序,结构化程序中的每个模块只有一个入口和一
变量值、存储空间。
标识符:符号常量名、变量名、函数名等统称为标识符。标识符的命名规则:标识符只
个字符必须为字母或下划线 。
开头的整数位十六进制无符号整数。
,字符型数据是以代
如字符‘a’的 ASCII 码
位十六进制数所代表的字符

define PI 3.1415926

算术运算符是左结合
。运算符在变量右侧时(如:i++),先使用变
),先使变量的值加一,再使用
赋值运算符 表达式。
3.13 逗号表达式的一般形式:表达式 1,表达式 2,…,表达式 n。逗号表达式的值为最后
一个表达式的值。
3.14 位运算:&(按位与)、|(按位或)、^(异或)、~(取反)。
3.15 隐式类型转换(“低级向高级转换”原则):
3.16 强制数据类型转换的一般形式:(类型名)(表达式) ,例:(double)a
第 4 章 顺序结构程序设计
4.1 表达式后加分号称作表达式语句,例:max=a;
4.2 printf、scanf、getchar、putchar 等输入输出函数的原型在头文件 stdio.h 中。
4.3 格式输出------printf 函数
1)一般格式::printf(”格式控制”,输出表列)
2) 格式声明:% 附加字符 格式字符
3)想输出 % 用连续两个 %% 表示
表 4.1 printf、scanf 格式字符
格式字符 说 明
d,i 以带符号的十进制形式输出整数(正数不输出符号)
o 以八进制无符号形式输出整数(不输出前导符0)
x,X
以十六进制无符号形式输出整数(不输出前导符 0x),用 x 则输出
十六进制数的 a~f 时以小写形式输出,用 X 时,则以大写字母输出
u 以无符号十进制形式输出整数
c 以字符形式输出,只输出一个字符
s 输出字符串
f 以小数形式输出单、双精度数,隐含输出 6 位小数
e,E
以指数形式输出实数,用 e 时指数以“e”表示(如 1.2e+02),用 E
时指数以“E”表示(如 1.2E+02)
g,G
选用%f 或%e 格式中输出宽度较短的一种格式,不输出无意义的 0。
用 G 时,若以指数形式输出,则指数以大写表示
表 4.2 printf 附加字符
附加字符 说 明
l 长整型整数,可加在格式符d、o、x、u前面)
m (代表一个正整数) 数据最小宽度
.n(代表一个正整数) 对实数,表示输出n位小数;对字符串,表示截取的字符个数

  • 输出的数字或字符在域内向左靠
    4.4 格式输入------scanf 函数

1)一般格式::scanf(”格式控制”,地址表列)
2) 格式声明:% 附加字符 格式字符
3)地址列表中的地址可用表达式表示,通常形式为:&变量名
4)scanf 函数中所用的格式字符与 printf 函数的格式字符相同。
附加字符
l
输入长整型数据(可用
据(用
h 输入短整型数据(可用
域宽 指定输入数据所占宽度(列数),域宽应为正整数

  • 本输入项在读入后不赋给相应的变量
    4.5 字符输出------putchar 函数

1)格式:putchar(c) , c 为欲输出的字符常量或变量,亦可为整型常量或变量(
2)功能:输出字符变量
4.6 字符输入------getchar 函数
1)格式:getchar()
2)功能:从计算机终端(一般是键盘)输入一个字符,即计算机获得一个字符。

5.1 关系运算符:<、<=、>
5.2 逻辑运算符:&&、||、
5.3 逻辑或(||)从左至右计算各表达式逻辑值,遇到真则提前终止。
5.4 逻辑与(&&)从左至右计算各表达式逻辑值,遇到假则提前终止。
5.4 关系表达式和逻辑表达式
5.5 各运算符优先级
5.6 if 语句的格式和功能
1)格式一:if(表达式)
功能:如果表达式的值非
2)格式二:if (表达式)
语句
else
语句
功能:如果表达式的值非
3)格式三:
表 4.3 scanf 附加字符
说 明
输入长整型数据(可用%ld,%lo,%lx,%lu)以及
据(用%lf 或%le)
输入短整型数据(可用%hd,%ho,%hx)
指定输入数据所占宽度(列数),域宽应为正整数
本输入项在读入后不赋给相应的变量
函数
为欲输出的字符常量或变量,亦可为整型常量或变量(
)功能:输出字符变量 c 的值
函数
)功能:从计算机终端(一般是键盘)输入一个字符,即计算机获得一个字符。
第 5 章 选择结构程序设计

、>=、==、!=。(前4种关系运算符的优先级高于后2种

、!
)从左至右计算各表达式逻辑值,遇到真则提前终止。
)从左至右计算各表达式逻辑值,遇到假则提前终止。
和逻辑表达式的值是一个逻辑值(整型 int),即“真”(1)
) 语句 1
功能:如果表达式的值非 0 则执行语句。
)
语句 1
语句 2
如果表达式的值非 0 则执行语句 1,否则执行语句 2。
)以及 double 型数
指定输入数据所占宽度(列数),域宽应为正整数
为欲输出的字符常量或变量,亦可为整型常量或变量(ASCII 码)。
)功能:从计算机终端(一般是键盘)输入一个字符,即计算机获得一个字符。
前4种关系运算符的优先级高于后2种)
)或“假”(0)
4)选择结构的嵌套:if(表达式 1)
if(表达式 2) 语句 1
else 语句 2
else
if(表达式 3) 语句 3
else 语句 4
5.7 条件表达式格式:表达式 1 ? 表达式 2 : 表达式 3
功能:如果表达式 1 的值非 0,取表达式 2 的值,否则取表达式 3 的值
5.8 switch 语句的格式:switch(表达式)
{
case 常量表达式 1:[语句 1]
case 常量表达式 2:[语句 2]

case 常量表达式 n:[语句 n]
[default:语句 n+1]
}
功能:根据表达式的值,与各 case 标号比较,如果与某一个 case 标号中的常量相同,
流程就转到此 case 标号后面的语句。
说明:1)switch 后的表达式和 case 后的常量表达式可以是整型、字符型、枚举型,但
不能是实型;
2)各个 case 后的常量表达式的值必须互不相等;
3)break 用来退出 switch 选择结构,通常在每个 case 语句后加一个 break 语句