什么是程序-编译与调试

程序的作用是什么

如图所示,编写了一个可以做加法的程序,给程序输入 1 和 2,那么程序输出结果 3,因此程序的作用是完成某种计算

image

新建代码及编译运行

Clion的pojie安装参考:https://www.cnblogs.com/kohler21/p/17111018.html

新建代码和编译运行:

image

新建项目后默认会有一个 main.c 代码,如下图所示

image

说明:main 是主函数名,int 是函数返回值类型。每个 C 程序有且只能有一个主函数 main,程序从 main 函数开始执行。花括号{}是函数开始和结束的标志,不可省略。每个 C 语句均以半角分号结束。

使用标准库函数时应在程序开头一行书写如下内容:

#include <stdio.h>//printf函数需要使用该头文件

printf 函数起打印输出的作用,它将双引号中的字符串 Hello world 打印到屏幕上。

image

其中,两个斜杠“//”后面的内容为代码注释,程序编译时不会编译到程序中。

image

程序的编译过程及项目位置

程序的编译过程如下图所示。首先编写源程序 main.c。编写完毕后,通过编译器进行编译,main.c 经过编译后,得到可执行文件(windows 下是 exe,Mac 和 Linux 下是不带后缀的,统称为可执行文件),可执行文件中均是 0/1 类型的机器码,即 CPU 能够识别的微指令(英特尔的机器指令),CPU 才能够去执行。

如下图所示,右键单击“HelloWorld”,选择打开,选择 Explorer

image

就可以看到如下界面,就是我们的项目文件夹

image

断点及调试窗口设置

程序在我们点击绿色三角形按钮时,一下子就运行到最后一步了,速度非常快,如果最终输出的结果和我们预期的不一样,我们如何查找代码的哪一步出了问题呢?秘诀就是让它运行慢下来(类似于魔术慢放),一次只让程序运行一步,如何让程序运行慢下来,那就是断点调试!

如下图所示,在位置 1 处添加断点(断点位置代表从哪一步我们开始慢下来)点击位置 2 启动调试

image

当点击虫子按钮后,调试就启动了,出现蓝色长条代表调试启动,如下图所示

image

点击了上图的单步运行按钮(2 指向的折弯箭头),得到如下图:

image

什么是调试,就是程序每一步的运行,后发生计算,计算会改变变量的值,我们通过变量监视窗口,如果发现某个变量值不符合我们预期时,就代表我们找到了 bug(程序员把程序中出现的错误称为 bug)。

学习 C 语言后的境界

掌握的能力是程序的调试能力,要灵活掌握单步调试手段,要能在清晰理解程序执行过程的基础上准确分析数据(变量)的变化过程,定位程序的问题点,进而解决问题。学好了 C 语言才能去练习中级阶段的数据结构算法实战,而且以后在学习其他任何语言并调试程序的问题时都会事半功倍!

欢迎关注公众号:愚生浅末。

posted @ 2023-02-11 11:12  愚生浅末  阅读(112)  评论(0编辑  收藏  举报