1.6 实现问题求解的过程

本节通过一个具体的案例,详细说明实现问题求解的过程。

【例1-3】统计1~100范围内3的倍数的整数个数。

1.6.1 问题分析与算法设计

本案例是一个求一定范围内(1~100)、满足一定条件(3的倍数)的若干整数的个数,是一个求计数的问题。这类问题的基本求解方法是:设置一个计数变量(如count),将其初值置为0,再在指定的范围(1~100)内寻找满足条件(3的倍数)的整数,将它们逐个计数到count中。这里的一次计数需要用计数器语句:

该语句表示把count加1后重新赋给count。为了处理方便,假设寻找整数也用一个变量(如i)表示,计数过程需要从i等于1开始变化到100反复做。程序设计时需要使用循环结构来实现。

基于上述解题思路,就可以明确解决问题的步骤,进而确定解决问题的算法。

算法设计

第一步:置初值:计数器count置0

第二步:让i在[1,100]范围内按递增1变化,重复执行下面操作。

● 计数:若i是3的倍数,则count加1。

第三步:输出结果:显示count的值。

1.6.2 编辑程序

当确定好解决问题的算法后,就可以开始编写程序。一般是在编程环境中,应用其中的编辑功能直接来编辑程序,生成源程序文件(对C语言来说,一般源程序文件的扩展名为.c)。

程序清单:

说明:

①定义两个整型变量i和count,设置count初值为0。

②循环语句:表示i从1开始循环,每次循环执行的工作就是for之后的if语句(即条件计数),每循环一次i加1,直到i超出100为止。

③条件计数:i%3==0表示“3的倍数”条件。若满足if后的条件,则计数器count加1。

④输出结果:即输出计数变量count的值。

1.6.3 编译连接

当编辑好程序后,下一步工作就是对源程序进行编译、连接操作。一般在编程环境中,利用“编译”功能完成对源程序的编译工作,生成目标程序(文件扩展名为.obj);再利用“连接”功能完成对目标程序的连接工作,生成可执行程序文件(文件扩展名为.exe)。

在编译、连接过程中,可能出现编译或连接错误,需要逐一改正,直到生成.exe程序为止。关于程序的编译、连接和运行调试的具体操作,在配套书《C语言程序设计实训教程与水平考试指导》中有详细介绍,在此不再赘述。

1.6.4 运行与调试

当程序通过了编译和连接,并生成了可执行程序后,就可以在编程环境或操作系统环境中运行该程序(.exe程序)。

程序运行结果可能不是想要的正确结果,也就是说程序中存在运行错误(也称逻辑错误或语义错误),这就需要对程序进行调试。调试就是在程序中查找错误并修改错误的过程,其中找出错误是最主要的工作。一般程序的编程环境都提供相应的调试手段。调试最主要的方法包括单步调试、断点调试、观察变量等。