第2章 C语言概述
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
http://www.sdust.edu.cn
7
2.3 C语言程序上机指导——步骤
记事本、写字板、DOS Edit、Word等 tcc、gcc等
tlink、gcc等
http://www.sdust.edu.cn
8
2.3 C语言程序上机指导——VC6
1、点击File,选择 、点击 菜单, ,选择New菜单,弹出窗口。 菜单 弹出窗口。 2、选择项目类型。 、选择项目类型。 3、完成项目框架。 、完成项目框架。 4、重复以上步骤,建立并输入源程序文件。 、重复以上步骤,建立并输入源程序文件。 5、编译连接程序。 、编译连接程序。 6、 、 程序。 程序。
http://www.sdust.edu.cn
12
2.4 C程序的调试——VC6的调试方法
设置断点
所谓断点, 所谓断点,就是告诉调试器在何处暂时中断程序的 运行,以便查看程序的状态以及浏览和修改变量值等。 运行,以便查看程序的状态以及浏览和修改变量值等。 VC6用于调试的断点有: 位置断点:指示程序运行中断的代码行号。 数据断点:当某个表达式的值为真或者改变数值时中断 程序的执行。 条件断点:是上述两种断点的综合,当表达式的值为真 或者改变数值时,在指定位置处中断程序的运行。
VC6 VC6 主 界 面
http://www.sdust.edu.cn
9
2.4 C程序的调试——策略
试探法。 试探法。通过输出存储器内容等,从大量的现场信息中找 到出错线索,需要消耗大量的时间和精力。 回溯法。 回溯法。从出错征兆开始,人工沿程序的控制流程往回追 踪,直至发现出错的根源。该方法可以成功应用于小程序 的调试,但是当程序规模变大时,可能回溯的路线就会显 著增加,致使人工回溯难以进行。 排除法。 排除法。基于归纳和演绎原理,采用分而治之的思想。
2
学习内容 C语言发展史 C语言程序组成及特点 C语言程序上机指导 C程序的调试
http://www.sdust.edu.cn
3
2.1 C语言的发展史
1960年,ALGOL 60语言提出,即Algorithm Language;【面向 年 语言提出, 语言提出 ; 问题,离硬件较远。 问题,离硬件较远。】 1963年,剑桥大学推出 年 剑桥大学推出CPL——Combined Programming Language;【较接近硬件,但是规模较大,难以实现。】 ; 较接近硬件,但是规模较大,难以实现。 1967年,剑桥大学的 做了简化, 年 剑桥大学的Martin Richards做了简化,推出了 做了简化 推出了BCPL— —Basic CPL; ; 1970年,Bell Lab的Ken Thompsen在BCPL语言的基础上推出了 年 的 在 语言的基础上推出了 B语言,做了进一步简化;【过于简单,功能有限。】 语言, 语言 做了进一步简化; 过于简单,功能有限。 1973年,D. M . Ritchie 和B.W.Kernghan在B语言的基础上推出了 年 在 语言的基础上推出了 C; ; 1978年,Brian W.Kernighan和D.M.Ritchie出版了经典著作 出版了经典著作—— 年 和 出版了经典著作 称为“ 标准” 《The C Programming Language》一书 ,称为“K&R标准”或 》 标准 白皮书” 者“白皮书”; 1983年,ANSI C; 年 ; 当前: 当前:Microsoft C, Borland Turbo C,AT&T C,…… , , , C++:Microsoft Visual C++,Borland C++ Builder,… : , ,
图2.11 Debug菜单
http://www.sdust.edu.cn
14
2.4 C程序的调试——VC6的调试方法
查看和修改变量的值 借助“View” “Debug Windows”用于显示调试信息。
http://www.sdust.edu.cn
15
本章小结
C语言是一种结构化程序设计语言,其程序是由函数组成 的,而函数则由函数头部、函数体构成,函数体又是由 声明部分(声明变量、被调用函数)和执行部分(操作 代码)构成的。在每个C程序中,有且仅有一个main函数, 而且C程序就是从main函数开始执行的。 C语言程序有很多集成开发环境,如:Turbo C,Visual C++,Borland C++等。不论采用什么环境,C语言程序 的开发必须经过编辑、编译、链接和执行四个步骤。本 书中,我们使用Microsoft Visual C++ 6.0作为开发环境。 这本书里涉及的C语言程序都是Win32 Console程序,在 VC6中提供了很多方法方便程序员来修改、调试程序。
归纳法: 归纳法:从错误征兆出发,通过分析错误之间的关系而找出 故障。 演绎法: 演绎法:先列出所有可能成立的原因和假设,然后通过测试, 一一排除列举出的原因,最后证明剩下的原因确实是错误的 根源。
http://www.sdust.edu.cn
10
2.4 C程序的调试——技术
输出存储器内容。以八进制或者十六进制的形式 输出存储器的内容。 打印语句。这种方法把程序设计语言提供的标准 打印语句插在源程序的各个部分,以输出关键变 量的值。 自动工具。包括:
断点方法。 监视窗方法。 跟踪方法。
http://www.sdust.edu.cn
11ቤተ መጻሕፍቲ ባይዱ
2.4 C程序的调试——VC6的调试方法
修正语法错误 在编译和连接的过程中,语法错误可以由VC6 自动发现,所以排除较为简单。在编译过程中, 会在输出窗口中列出所有错误项,每个错误项都 给出其所在的文件名、行号及其错误编号。将光 标移到错误编号上,按F1键,可启动MSDN (Microsoft Developer Network)显示错误的内容, 从而帮助用户理解错误产生的原因。
以 # 开始的语句称为预处理命令。不是必需的,但是如果程序有就必须在 开始的语句称为预处理命令。不是必需的, 程序的开始处。 用于将指定的stdio.h文件包含在程序中。 文件包含在程序中。 程序的开始处。#include用于将指定的 用于将指定的 文件包含在程序中 main() 函数是 C 程序处理的起点。如果某个函数没有返回值,那么在 程序处理的起点。如果某个函数没有返回值, 它的前面有一个关键字 void。 。 表示函数的开始, 左大括号 {表示函数的开始,后面是函数的主体。右大括号 }表示函数 表示函数的开始 后面是函数的主体。 表示函数 的结束。 的结束。 在屏幕上输出“ 并换行。 在屏幕上输出“Hello world”,并换行。每个语句都以分号结束。 并换行 每个语句都以分号结束。 http://www.sdust.edu.cn
http://www.sdust.edu.cn
13
2.4 C程序的调试——VC6的调试方法
启用调试器
选择“Build” “Start Debug” “Go”启动调试器。 程序开始运行在Debug状态下时,一个小箭头指向即 将执行的代码,而且“Build”菜单变为“Debug”菜单, 主要有: Step Over:运行当前箭头指向的代码,而且只运行 一行代码。 Step Into:如果当前箭头指向的代码是一个函数调 用,则进入该函数进行单步执行。 Step Out:如果当前箭头指向的代码在一个函数内, 则使程序运行至函数返回处。 Run to Cursor:使程序运行到光标所指向的代码处。
6
2.2 C语言的组成及特点——特点
C程序是由函数组成的。 程序是由函数组成的。 程序是由函数组成的 函数由函数头部和函数体组成。 函数由函数头部和函数体组成。 C程序总是从 程序总是从main函数开始执行。 函数开始执行。 程序总是从 函数开始执行 每个语句和数据声明的最后必须有一个“ 。 每个语句和数据声明的最后必须有一个“;”。 C语言没有自己的输入输出语句,它的输入输出由 语言没有自己的输入输出语句, 语言没有自己的输入输出语句 库函数printf和scanf完成。 完成。 库函数 和 完成 可以添加注释。 可以添加注释。 C语言程序中的变量必须先声明后使用。 语言程序中的变量必须先声明后使用。 语言程序中的变量必须先声明后使用
5
2.2 C语言的组成及特点——示例
#include <stdio.h> 为后缀的文件称为头文件。 以.h为后缀的文件称为头文件。stdio.h 为后缀的文件称为头文件 文件中包含了有关输入输出的函数。 文件中包含了有关输入输出的函数。 void main() { printf("Hello World\n"); }
第2章 C语言概述
http://www.sdust.edu.cn
学习目标 了解C语言发展的历史。 了解C语言程序的组成以及特点。 熟悉C语言程序的开发过程。 重点掌握使用VC6编写和调试控制台程序 编写和调试控制台程序 重点掌握使用 的方法、工具和步骤。 的方法、工具和步骤。
http://www.sdust.edu.cn
http://www.sdust.edu.cn
4
2.2 C语言的组成及特点——组成
C程序
源程序文件1 源程序文件1 预处理命令
源程序文件2 源程序文件2 全局变量声明 函数首部
源程序文件m 源程序文件m 函数1 函数1 函数n 函数n 函数体
声明部分
http://www.sdust.edu.cn
执行部分
http://www.sdust.edu.cn
16
7
2.3 C语言程序上机指导——步骤
记事本、写字板、DOS Edit、Word等 tcc、gcc等
tlink、gcc等
http://www.sdust.edu.cn
8
2.3 C语言程序上机指导——VC6
1、点击File,选择 、点击 菜单, ,选择New菜单,弹出窗口。 菜单 弹出窗口。 2、选择项目类型。 、选择项目类型。 3、完成项目框架。 、完成项目框架。 4、重复以上步骤,建立并输入源程序文件。 、重复以上步骤,建立并输入源程序文件。 5、编译连接程序。 、编译连接程序。 6、 、 程序。 程序。
http://www.sdust.edu.cn
12
2.4 C程序的调试——VC6的调试方法
设置断点
所谓断点, 所谓断点,就是告诉调试器在何处暂时中断程序的 运行,以便查看程序的状态以及浏览和修改变量值等。 运行,以便查看程序的状态以及浏览和修改变量值等。 VC6用于调试的断点有: 位置断点:指示程序运行中断的代码行号。 数据断点:当某个表达式的值为真或者改变数值时中断 程序的执行。 条件断点:是上述两种断点的综合,当表达式的值为真 或者改变数值时,在指定位置处中断程序的运行。
VC6 VC6 主 界 面
http://www.sdust.edu.cn
9
2.4 C程序的调试——策略
试探法。 试探法。通过输出存储器内容等,从大量的现场信息中找 到出错线索,需要消耗大量的时间和精力。 回溯法。 回溯法。从出错征兆开始,人工沿程序的控制流程往回追 踪,直至发现出错的根源。该方法可以成功应用于小程序 的调试,但是当程序规模变大时,可能回溯的路线就会显 著增加,致使人工回溯难以进行。 排除法。 排除法。基于归纳和演绎原理,采用分而治之的思想。
2
学习内容 C语言发展史 C语言程序组成及特点 C语言程序上机指导 C程序的调试
http://www.sdust.edu.cn
3
2.1 C语言的发展史
1960年,ALGOL 60语言提出,即Algorithm Language;【面向 年 语言提出, 语言提出 ; 问题,离硬件较远。 问题,离硬件较远。】 1963年,剑桥大学推出 年 剑桥大学推出CPL——Combined Programming Language;【较接近硬件,但是规模较大,难以实现。】 ; 较接近硬件,但是规模较大,难以实现。 1967年,剑桥大学的 做了简化, 年 剑桥大学的Martin Richards做了简化,推出了 做了简化 推出了BCPL— —Basic CPL; ; 1970年,Bell Lab的Ken Thompsen在BCPL语言的基础上推出了 年 的 在 语言的基础上推出了 B语言,做了进一步简化;【过于简单,功能有限。】 语言, 语言 做了进一步简化; 过于简单,功能有限。 1973年,D. M . Ritchie 和B.W.Kernghan在B语言的基础上推出了 年 在 语言的基础上推出了 C; ; 1978年,Brian W.Kernighan和D.M.Ritchie出版了经典著作 出版了经典著作—— 年 和 出版了经典著作 称为“ 标准” 《The C Programming Language》一书 ,称为“K&R标准”或 》 标准 白皮书” 者“白皮书”; 1983年,ANSI C; 年 ; 当前: 当前:Microsoft C, Borland Turbo C,AT&T C,…… , , , C++:Microsoft Visual C++,Borland C++ Builder,… : , ,
图2.11 Debug菜单
http://www.sdust.edu.cn
14
2.4 C程序的调试——VC6的调试方法
查看和修改变量的值 借助“View” “Debug Windows”用于显示调试信息。
http://www.sdust.edu.cn
15
本章小结
C语言是一种结构化程序设计语言,其程序是由函数组成 的,而函数则由函数头部、函数体构成,函数体又是由 声明部分(声明变量、被调用函数)和执行部分(操作 代码)构成的。在每个C程序中,有且仅有一个main函数, 而且C程序就是从main函数开始执行的。 C语言程序有很多集成开发环境,如:Turbo C,Visual C++,Borland C++等。不论采用什么环境,C语言程序 的开发必须经过编辑、编译、链接和执行四个步骤。本 书中,我们使用Microsoft Visual C++ 6.0作为开发环境。 这本书里涉及的C语言程序都是Win32 Console程序,在 VC6中提供了很多方法方便程序员来修改、调试程序。
归纳法: 归纳法:从错误征兆出发,通过分析错误之间的关系而找出 故障。 演绎法: 演绎法:先列出所有可能成立的原因和假设,然后通过测试, 一一排除列举出的原因,最后证明剩下的原因确实是错误的 根源。
http://www.sdust.edu.cn
10
2.4 C程序的调试——技术
输出存储器内容。以八进制或者十六进制的形式 输出存储器的内容。 打印语句。这种方法把程序设计语言提供的标准 打印语句插在源程序的各个部分,以输出关键变 量的值。 自动工具。包括:
断点方法。 监视窗方法。 跟踪方法。
http://www.sdust.edu.cn
11ቤተ መጻሕፍቲ ባይዱ
2.4 C程序的调试——VC6的调试方法
修正语法错误 在编译和连接的过程中,语法错误可以由VC6 自动发现,所以排除较为简单。在编译过程中, 会在输出窗口中列出所有错误项,每个错误项都 给出其所在的文件名、行号及其错误编号。将光 标移到错误编号上,按F1键,可启动MSDN (Microsoft Developer Network)显示错误的内容, 从而帮助用户理解错误产生的原因。
以 # 开始的语句称为预处理命令。不是必需的,但是如果程序有就必须在 开始的语句称为预处理命令。不是必需的, 程序的开始处。 用于将指定的stdio.h文件包含在程序中。 文件包含在程序中。 程序的开始处。#include用于将指定的 用于将指定的 文件包含在程序中 main() 函数是 C 程序处理的起点。如果某个函数没有返回值,那么在 程序处理的起点。如果某个函数没有返回值, 它的前面有一个关键字 void。 。 表示函数的开始, 左大括号 {表示函数的开始,后面是函数的主体。右大括号 }表示函数 表示函数的开始 后面是函数的主体。 表示函数 的结束。 的结束。 在屏幕上输出“ 并换行。 在屏幕上输出“Hello world”,并换行。每个语句都以分号结束。 并换行 每个语句都以分号结束。 http://www.sdust.edu.cn
http://www.sdust.edu.cn
13
2.4 C程序的调试——VC6的调试方法
启用调试器
选择“Build” “Start Debug” “Go”启动调试器。 程序开始运行在Debug状态下时,一个小箭头指向即 将执行的代码,而且“Build”菜单变为“Debug”菜单, 主要有: Step Over:运行当前箭头指向的代码,而且只运行 一行代码。 Step Into:如果当前箭头指向的代码是一个函数调 用,则进入该函数进行单步执行。 Step Out:如果当前箭头指向的代码在一个函数内, 则使程序运行至函数返回处。 Run to Cursor:使程序运行到光标所指向的代码处。
6
2.2 C语言的组成及特点——特点
C程序是由函数组成的。 程序是由函数组成的。 程序是由函数组成的 函数由函数头部和函数体组成。 函数由函数头部和函数体组成。 C程序总是从 程序总是从main函数开始执行。 函数开始执行。 程序总是从 函数开始执行 每个语句和数据声明的最后必须有一个“ 。 每个语句和数据声明的最后必须有一个“;”。 C语言没有自己的输入输出语句,它的输入输出由 语言没有自己的输入输出语句, 语言没有自己的输入输出语句 库函数printf和scanf完成。 完成。 库函数 和 完成 可以添加注释。 可以添加注释。 C语言程序中的变量必须先声明后使用。 语言程序中的变量必须先声明后使用。 语言程序中的变量必须先声明后使用
5
2.2 C语言的组成及特点——示例
#include <stdio.h> 为后缀的文件称为头文件。 以.h为后缀的文件称为头文件。stdio.h 为后缀的文件称为头文件 文件中包含了有关输入输出的函数。 文件中包含了有关输入输出的函数。 void main() { printf("Hello World\n"); }
第2章 C语言概述
http://www.sdust.edu.cn
学习目标 了解C语言发展的历史。 了解C语言程序的组成以及特点。 熟悉C语言程序的开发过程。 重点掌握使用VC6编写和调试控制台程序 编写和调试控制台程序 重点掌握使用 的方法、工具和步骤。 的方法、工具和步骤。
http://www.sdust.edu.cn
http://www.sdust.edu.cn
4
2.2 C语言的组成及特点——组成
C程序
源程序文件1 源程序文件1 预处理命令
源程序文件2 源程序文件2 全局变量声明 函数首部
源程序文件m 源程序文件m 函数1 函数1 函数n 函数n 函数体
声明部分
http://www.sdust.edu.cn
执行部分
http://www.sdust.edu.cn
16