1、学习目标:学习目标:为后续专业课为后续专业课(数据结构、面向对象程序设计、单片机数据结构、面向对象程序设计、单片机与嵌入式系统、物联网技术等课程与嵌入式系统、物联网技术等课程)奠定程序设计基础。奠定程序设计基础。C语言程序设计语言程序设计第第1 1章:章:C C语言语法基础语言语法基础第第2 2章:章:C C程序设计基础程序设计基础第第3 3章:数组章:数组第第4 4章:函数章:函数第第5 5章:指针章:指针第第6 6章:结构体、共用体、枚举类型章:结构体、共用体、枚举类型第第7 7章:文件章:文件 教学内容:教学内容:C语言程序设计语言程序设计第第1 1章章 C C语言语法基础语言语法基础【
2、学习目标学习目标】1 1熟悉熟悉C C语言程序特点;语言程序特点;2 2熟练使用熟练使用VC+6.0VC+6.0或或VC+2010VC+2010开发环境;开发环境;3 3掌握掌握C C语言基本的数据类型(整型、字符型、实型),常量和变量;语言基本的数据类型(整型、字符型、实型),常量和变量;4 4掌握掌握“算术、赋值、逗号、位算术、赋值、逗号、位”4 4种运算符及其表达式。种运算符及其表达式。第第1 1章章 C C语言语法基础语言语法基础【学习内容学习内容】1.1 C 1.1 C 程序结构特点程序结构特点 1.2 1.2 熟悉熟悉VC+6.0VC+6.0或或VC+2010VC+2010开发环境
3、开发环境 1.3 1.3 数据类型、常量和变量数据类型、常量和变量 1.4 1.4 运算符及表达式运算符及表达式1.1 C程序结构特点程序结构特点1.1 C程序结构特点程序结构特点1.1 C程序结构特点程序结构特点1.1 C程序结构特点程序结构特点1.1 C程序结构特点程序结构特点【例例1.41.4】51 51单片机控制单片机控制LEDLED灯闪烁。灯闪烁。【例例1.41.4】51 51单片机控制单片机控制LEDLED灯闪烁。灯闪烁。1.1 C程序结构特点程序结构特点总结总结C C语言的特点:语言的特点:1.2 C语言的语言的特点特点1.2 C语言的语言的特点特点总结总结C C语言的特点:语言
4、的特点:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 VC+6.0VC+6.0开发开发C C程序步骤和方法:程序步骤和方法:1、启动、启动VC+6.0。2、新建工程。、新建工程。VC+6.0VC+6.0开发开发C C程序步骤和方法:程序步骤和方法:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 VC+6.0VC+6.0开发开发C C程序步骤和方法:程序步骤和方法:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 2、新建工程。、新建工程。3 3、在已建工程下,新建、在已建工程下,新建C C源文件源文件。VC+6.0VC+6.0开发开发C C程序步
5、骤和方法:程序步骤和方法:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 4 4、在程序代码编辑区中,编辑程序源代码在程序代码编辑区中,编辑程序源代码。VC+6.0VC+6.0开发开发C C程序步骤和方法:程序步骤和方法:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 5 5、编译、编译 连接连接 运行运行 VC+6.0VC+6.0开发开发C C程序步骤和方法:程序步骤和方法:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 VC+2010VC+2010开发开发C C程序步骤和方法:程序步骤和方法:1、启动、启动VC+2010。1.2 熟悉熟悉VC
6、+6.0或或VC+2010开发环境开发环境 2、新建项目。、新建项目。VC+2010VC+2010开发开发C C程序步骤和方法:程序步骤和方法:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 VC+2010VC+2010开发开发C C程序步骤和方法:程序步骤和方法:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 2、新建项目。、新建项目。3 3、在已建项目下,添加新建、在已建项目下,添加新建C C源文件源文件。VC+2010VC+2010开发开发C C程序步骤和方法:程序步骤和方法:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 VC+2010V
7、C+2010开发开发C C程序步骤和方法:程序步骤和方法:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 3 3、在已建项目下,添加新建、在已建项目下,添加新建C C源文件源文件。4 4、在程序代码编辑区、在程序代码编辑区中,编辑程序源代码中,编辑程序源代码。VC+2010VC+2010开发开发C C程序步骤和方法:程序步骤和方法:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 VC+2010VC+2010开发开发C C程序步骤和方法:程序步骤和方法:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 VC+2010VC+2010开发开发C C程序步
8、骤和方法:程序步骤和方法:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 C C程序开发一般要经过程序开发一般要经过4 4个基本步骤:个基本步骤:1.2 熟悉熟悉VC+6.0或或VC+2010开发环境开发环境 1.3 数据类型数据类型 1.3 数据类型数据类型 1.3.1 常量和变量常量和变量1、常量、常量1.3 数据类型数据类型 说明:说明:1.3.1 常量和变量常量和变量1、常量、常量1.3 数据类型数据类型 1.3.1 常量和变量常量和变量2、变量、变量1.3 数据类型数据类型 1.3.2 整型数据整型数据1、整型常量、整型常量1.3 数据类型数据类型(1)整型变量的分类
9、)整型变量的分类1.3.2 整型数据整型数据2、整型变量、整型变量1.3 数据类型数据类型(1)整型变量的分类)整型变量的分类1.3.2 整型数据整型数据2、整型变量、整型变量1.3 数据类型数据类型(2)整型变量在内存中的存储形式)整型变量在内存中的存储形式(以单字节整型为例)(以单字节整型为例)1.3.2 整型数据整型数据2、整型变量、整型变量1.3 数据类型数据类型(3)定义整型变量的方法)定义整型变量的方法1.3.2 整型数据整型数据2、整型变量、整型变量1.3 数据类型数据类型(3)定义整型变量的方法)定义整型变量的方法1.3.2 整型数据整型数据2、整型变量、整型变量1.3 数据类
10、型数据类型 1.3.3 字符型数据字符型数据1、字符常量、字符常量1.3 数据类型数据类型 2、字符变量、字符变量1.3.3 字符型数据字符型数据1.3 数据类型数据类型 3、字符型数据在内存中的存储形式及使用方法、字符型数据在内存中的存储形式及使用方法 1.3.3 字符型数据字符型数据1.3 数据类型数据类型 3、字符型数据在内存中的存储形式及使用方法、字符型数据在内存中的存储形式及使用方法 1.3.3 字符型数据字符型数据1.3 数据类型数据类型 3、字符型数据在内存中的存储形式及使用方法、字符型数据在内存中的存储形式及使用方法 1.3.3 字符型数据字符型数据1.3 数据类型数据类型 4
11、、字符串常量、字符串常量 1.3.3 字符型数据字符型数据1.3 数据类型数据类型 1.3.4 实型数据实型数据1、实型常量、实型常量 1.3 数据类型数据类型 1.3.4 实型数据实型数据2、实型变量、实型变量 1.3 数据类型数据类型 1.3.4 实型数据实型数据2、实型变量、实型变量 1.3 数据类型数据类型 1.3.5 变量的初始化变量的初始化1.3 数据类型数据类型 1.3.5 变量的初始化变量的初始化1.4 运算符及表达式运算符及表达式 1.4.1 算术算术运算符及其表达式运算符及其表达式1.4.2 赋值赋值运算符及其表达式运算符及其表达式1.4.3 逗号逗号运算符及其表达式运算符
12、及其表达式1.4.4 位位运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 1、基本的算术运算符、基本的算术运算符1.4.1 算术算术运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 1、基本的算术运算符、基本的算术运算符1.4.1 算术算术运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式【思考与实验思考与实验】1、基本的算术运算符、基本的算术运算符1.4.1 算术算术运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 2、自增、自减运算符、自增、自减运算符1.4.1 算术算术运算符及其表达式运算符及其表达式1.4
13、运算符及表达式运算符及表达式 2、自增、自减运算符、自增、自减运算符1.4.1 算术算术运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 说明:说明:2、自增、自减运算符、自增、自减运算符1.4.1 算术算术运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 3、算术表达式和运算符的优先级与结合性、算术表达式和运算符的优先级与结合性 1.4.1 算术算术运算符及其表达式运算符及其表达式1.3 数据类型数据类型 4、各类数值型数据间的混合运算、各类数值型数据间的混合运算 1.4.1 算术算术运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式
14、 5、强制类型转换运算符、强制类型转换运算符1.4.1 算术算术运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 5、强制类型转换运算符、强制类型转换运算符1.4.1 算术算术运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 1.4.2 赋值赋值运算符及其表达式运算符及其表达式1、简单的赋值运算符及其表达式、简单的赋值运算符及其表达式1.4 运算符及表达式运算符及表达式【思考思考】分析下面各赋值表达式变量分析下面各赋值表达式变量a的值。的值。a=5+(c=7)a=b=c=33a=(b=6)/(c=2)a=(b=2)+(c=5)12731.4.2 赋值赋值
15、运算符及其表达式运算符及其表达式1、简单的赋值运算符及其表达式、简单的赋值运算符及其表达式1.4 运算符及表达式运算符及表达式 1.4.2 赋值赋值运算符及其表达式运算符及其表达式2、复合的赋值运算符及其表达式、复合的赋值运算符及其表达式1.4 运算符及表达式运算符及表达式 3、类型转换、类型转换1.4.2 赋值赋值运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 可见,可见,无无符号整型与符号整型与有有符号整型之间相互符号整型之间相互赋值时容易出错,其原因是负数在内存中是赋值时容易出错,其原因是负数在内存中是以以补码补码形式存储的,如形式存储的,如-1的补码是的补码是25
16、5(0 xff)。3、类型转换、类型转换1.4.2 赋值赋值运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 3、类型转换、类型转换1.4.2 赋值赋值运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 如何解决?如何解决?3、类型转换、类型转换1.4.2 赋值赋值运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 3、类型转换、类型转换1.4.2 赋值赋值运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 1.4.3 逗号逗号运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 1.4.3 逗号逗号运算
17、符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 1.4.3 逗号逗号运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 1.4.4 位位运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 1、“按位按位与与”运算符(运算符(&)0 0000001(0 x01)0 0 0 0 0 0 1 1 (0 x03)1.4.4 位位运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 2、“按位按位或或”运算符(运算符(|)0 1011101(0 x67)1 1 1 1 0 0 1 1 (0 xf3)1.4.4 位位运算符及其表达式运算
18、符及其表达式1.4 运算符及表达式运算符及表达式 3、“按位按位异或异或”运算符(运算符()0 1011100(0 x66)1 1 0 1 0 0 1 1 (0 xd3)1.4.4 位位运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 4、“按位按位取反取反”运算符(运算符()1 0010110(0 xaa)1.4.4 位位运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 5、“左移左移”运算符(运算符()1.4.4 位位运算符及其表达式运算符及其表达式1.4 运算符及表达式运算符及表达式 1.4.4 位位运算符及其表达式运算符及其表达式void main()1.4 运算符及表达式运算符及表达式【例例1.18】51单片机控制流水灯单片机控制流水灯。temp=0 xff;P1=temp1;delay();P1=temp2;delay();.;.;若要实现若要实现LED小灯自右至左依次点亮,小灯自右至左依次点亮,51单片机单片机P1口的数据编码如下表所示。口的数据编码如下表所示。1.4.4 位位运算符及其表达式运算符及其表达式