当前课程知识点:C语言程序设计(上) > 从问题到C语言程序设计 > 1.3 C语言处理系统与程序调试运行 > 1.3.1C程序如何调试运行
下面我们来讨论C语言处理系统
与程序的调试运行
那也就是说我们要讨论什么问题呢
C程序是如何调试运行的
我们看在这之前
我们可以把咱们工作分成两部分
前面这些从问题到算法以及到程序设计
就原程序都是人独立完成的
那么后面的这一部分
我们把原程序最终出结果
那一定是要计算机要去完成的
那计算机怎么去完成这个工作呢
是借助语言处理系统来完成这个工作
那大家一定会感兴趣说
原处理系统都提供了什么样的东西能够完成
把原程序变到出结果呢
两部分一部分呢是集成开发环境
另一部分提供编译工具
集成开发环境呢主要是完成什么呢
支持我们在这个开发环境下
把我们的原程序敲进去
并且呢可以提供你改错
好啦那剩下呢支持我们调试运行这个程序
那这个过程里边最重要的一个工作是什么呢
就是我们那边写的翻译工具完成的工作
翻译工具呢是要做什么呢
把我们的原程序翻译成机器能认识的代码
并且把它进行链接装配并运行
那我们这边用到了链接装配这个词
试想计算机到底做什么呢
我们看一看这个程序
大家以前见过是用C写的原程序文件
那这个文件里边呢我们看见
有include main下面有函数题
在这个函数题里边我们看到了
有两次调用了pnntf
我们上次在介绍了这个函数库的时候说
C有强大的函数库
如果你要用到数学函数呀或者是字符
处理函数或者输入输出函数的时候
你就不用这一单代码了
你直接调用它的函数就可以了
好啦没有问题我们的程序编好啦
在这里边调用了两次pnntf
那计算机不认识没法执行这样的东西
计算机认识的是机器代码机器指令
那这个原程序到机器指令的过度谁来做的呢
就是我们刚才说的翻译去做的
翻译在这个工作的过程里边
我们白颜色表示的是说
把我们编的代码翻译成目标代码
那蓝色的两个pnntf那一块呢
标识的是什么意思呢
是说你调用了函数库函数库里边的代码
但是呢在这一块你可以这样写
写一个函数名字就可以了表示你的调用
但是机器运行的时候就不可以了
你必须把这pnntf所应的那一段代码
那个已经是翻译过来的啦不要在这再翻译啦
你只要链接装配在我们编的代码里就可以了
是整体代码连成了一个直接可运行
什么叫直接可运行
这个地址是被编号的
就是每一条指令都是取指令分析指令执行指令
然后取下一条指令
所以它的地址是顺序排好了
好了那我们这个工作就是翻译链接装配
成了可运行软件
-1.1 计算机的问题求解方法
--讨论题:数学模型
-1.1 计算机的问题求解方法--作业
-1.2 C语言与C程序
--讨论题:运算符
-1.3 C语言处理系统与程序调试运行
--例程
-1.4 程序中的人机交互
--例程
--作业讨论区
-2.1 算术运算的C程序实现
--算术混合运算.c
-2.1 算术运算的C程序实现--作业
-2.2 关系运算的C程序实现
--bukao.c
--字符比较.c
--讨论题:比较大小
-2.2 关系运算的C程序实现--作业
-第二周作业--作业
-2.3 逻辑运算的C程序实现
--计算结合性
--闰年.c
--自动购票问题.c
-2.3 逻辑运算的C程序实现--作业
-2.4 位运算的C程序实现
--讨论题:位运算
-2.5 几种很个别的运算
--讨论题
--讨论题
-2.5 几种很个别的运算--作业
-2.6 混合运算及数据类型转换
--讨论题:数据类型
-2.7 顺序结构程序实例
--Video
--三角形面积.c
--讨论题:工业产值
-2.7 顺序结构程序实例--作业
-3.1 程序中的路径选择实现
--打印学生成绩.c
--一元二次方程.c
-3.1 程序中的路径选择实现--作业
-3.2 路径中的再选择——嵌套判断
--例程
--讨论题:程序改错
-3.2 路径中的再选择——嵌套判断--作业
-3.3 复杂判断问题的C程序设计
--3.3 多级选择
--银行存款.c
--讨论题:多级选择
-3.4 多分支问题的C程序设计
--加减乘除运算.c
-3.4 多分支问题的C程序设计--作业
-3.5 GOTO的适当使用
-3.6 选择结构的程序实例
--3.6 程序展示
--计算第几天.c
--讨论题:输出奇数
--讨论题:计算税金
-3.6 选择结构的程序实例--作业
-第四周作业--作业
-4.1 需要重复执行的程序
--求和.c
--打印学生成绩.c
--统计录入速度.c
--求平均数.c
-4.1 需要重复执行的程序--作业
-4.2 至少要执行一次的循环
--n的阶乘.c
--字符分类统计.c
-4.2 至少要执行一次的循环--作业
-4.3 已知循环次数用for语句
--求和问题.c
--数列求和.c
--讨论题:循环语句
-4.3 已知循环次数用for语句--作业
-4.4 循环控制——简单循环应用
--水仙花数.c
--讨论题:死循环
--讨论题:猜数字
-循环结构的程序设计(一)--4.4 循环控制——简单循环应用
-4.5 循环的嵌套
--讨论题:程序运行
-4.5 循环的嵌套--作业
-4.6 break与continue
--最大素数.c
-4.6 break与continue--作业
-4.7 循环的综合应用
--数的排列组合.c
--鸡兔同笼.c
--打印空心字符.c
--讨论题:打印图形
--讨论题:计算闰年
-第六周作业
-第六周作业--作业
-5.1 同类有序数据处理问题
-5.2 一维数组的定义和引用
--数组定义.c
--数组初始化.c
--反向输出.c
--讨论题:对称数
-5.2 一维数组的定义和引用--作业
-5.3 一维字符串数组
--讨论题:编程
-5.4 字符串处理函数
--字符串反向.c
--字符串函数
-5.5 二维数组的定义与使用
-5.6 二维数组的输入输出
-5.6 二维数组的输入输出--作业
-5.7 二维数组的应用
--转置矩阵.c
--讨论题:修改程序
-5.8 二维字符数组
--5.8 单词排序
--单词排序.c
-5.8 二维字符数组--作业
-5.9 数组综合应用
--统计成绩.c
--统计字符次数.c
--讨论题:洗牌
-本期课程结束语
--end
-第八周编程作业
-《C语言程序设计(上)》期末复习参考
--html
-《C语言程序设计(上)》期末复习参考答案
--html