相信每一个大学计算机系的学生都有C语言课程的学习经历,C语言作为承接低级汇编语言向高级应用型开发语言的重要衔接,对于学习编程开发至关重要。在这条路上,多看、多练是掌握C语言开发的关键。
今天,我们就尝试使用AI IDE来开启C语言的学习和练习,相信借助于AI,我们将会轻松搞定C语言的学习。
一、安装与环境配置
首先,下载安装 InsCode AI IDE | InsCode AI IDE,安装好之后,我们启动InsCode AI IDE,会进入到欢迎界面。
在这个界面里,并没有C语言的工程选项,不过不妨碍,我们可以在电脑上随意创建一个文件夹C,然后点击“打开工程”选中这个文件夹C,这样就可以使用C作为工程文件夹了。
在AI IDE中编程,无非就是通过对话与AI沟通。我们要记住,在InsCode AI IDE中,点击右边侧栏的“AI”图标会弹出AI对话面板,下面的输入框就是供我们与AI对话的,"改写“模式代表说我们有生成和修改代码的需求,可以让AI跟据我们的对话需求生成或修改相应的代码文件或资源文件。如果取消”改写”,则切换为智能问答模式,AI在理解我们的需求后,不会生成或改写文件,只解答我们的问题。
我们在输入框里输入:“编生成一个main.c,打印Hello,World!”,然后点击“生成”按钮,稍作等待,AI会在右边的对话面板中列出工作过程和说明,并生成了一个main.c的文件,行成完后,我们点击面板最下方的“全部接受”即可采纳这个生成结果。如果不符合预期,则可以点击“全部拒绝”重新输入需求进行生成。
这样一个打印Hello,World的C语言代码就生成出来了,但如果想要编译运行,则需要安装相应的C编译器,比如MinGM。
MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.nethttps://sourceforge.net/projects/mingw-w64/files/ 在MinGM的下载页里,依次点击 ToolChains targetting Win64 -》Personal Builds -》mingw builds -》8.1.0 -》threads-posix -》x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z
最终下载地址MinGW-w64 - for 32 and 64 bit Windows - Browse /Toolchains targetting Win64/Personal Builds/mingw-builds/8.1.0/threads-posix/seh at SourceForge.net
下载完后,我们将其解压并取出mingw64文件夹,在电脑的系统变量里找到Path变量,设置到mingw64文件夹的bin目录。
在cmd命令行中输入gcc -v,能够输出信息,就说明安装好了。
我们在刚才的工程目录里进入到cmd命令行,输入gcc main.c -o main,如果能正确执行无报错,就说明gcc可以正常工作,然后我们再输入main.exe回车,则可以看到输出“Hello,World!"),说明gcc把c源文件编译输出成为了main.exe。
重新启动InsCode AI IDE确保加载了环境变量,然后点击右上角的下拉框中的“编辑配置”项,在弹出的运行/调试配置对话框中点击+号,找一个能执行命令的配置项,比如JavaScript调试配置,然后在配置面板里改Name项的值为我们的工程名,Command项里输入"gcc .\main.c -o .\main | .\main.exe",这样当我们运行时,就会调用这个命令对main.c进行编译并运行了。
现在点击右上角的绿色三角按钮,就可以看到在终端中调用gcc对文件进行编译并运行了。
不过此时还不能进行debug调试,那如何才能进行调试呢?
别急,我们先进入.arts的launch.json中。然后点击"添加配置",这时会弹出一个下拉列表框,选择GDB:Launch Program这一项。
在生成的配置信息中,将target这一项,改为当前编译后的exe,并在下面的command中为gcc命令加上-g选项,让gcc编译出可以调试的exe。
在完成配置后,就可以在代码中加入断点,然后选择刚创建的配置“Launch Program”,点击小虫子图标进行调试运行了。
断点响应后,我们就可以用F10进行逐行的调试了,上面会列出常用的调试按钮,左边的变量、监视、堆栈则可以显示当前的局部和全局变量值、监视变量值以及函数堆栈。
二、代码生成与修改
环境配置好后,我们下面来做一下代码生成,在AI对话框里就可以找一些题目进行练习了。
比如我们输入:
“修改main.c,需求为:用C语言写一段代码,要求先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。
注意:题目保证最大和最小值都是唯一的。
输入格式:输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。
输出格式:在一行中顺序输出交换后的序列,每个整数后跟一个空格。”
点击“发送”按钮后, 我们可以看到AI开始对main.c进行修改,并将修改后的文件与原文件呈现了两排的逐行对比。
点击AI回复尾部的“全部接受”按钮,我们可以先运行编译,然后在终端里输入:".\main.exe"
这里提示:Enter the number of elements: 我们输入5
然后提示:Enter the elements:我们依次输入5个数 32 17 48 26 8,每次输入1个数后回车。
完成后,程序打印出了结果 8 17 32 26 48
通过这样的方式,我们就可以快速的完成题目的代码编写。如果有不会的地方,也可以直接全选代码、在下方弹出的AI操作选项条里点击“注释”,让AI给代码加上注释以更加方便我们逐行理解代码。
三、算法题目练习(作业、二级考、LeetCode刷题)
在学习C语言的过程中,针对性的练习各种小题目是提高技术的必经之路,我们也可以让AI帮我们出题,解答和打分。
比如我们想在刚才的算法题基础上进一步进行练习,我们在AI对话框里输入:
“假设这是一次编程测试,重新改写main.c,请仿照当前main.c中的算法出1道类似的算法题目,将题目以注释方式写在main函数声明上部,删除main.c中main函数中的逻辑代码只保留空函数内容让我手动编写。”
运行后,我们将看到一个新的题目,并提供了空的main函数让我们进行练习。
这个新的算法题目为:用户输入一个整数数组,并将数组中的所有偶数元素移动到数组的前半部分,奇数元素移动到数组的后半部分,保持相对顺序不变。
假设我会,并自已写出了代码。(当然、、、还是借助于AI对话框)
运行编译,然后在终端里输入.\main.exe,
这时提示Please enter the size of the array:我们输入6
继续提示Please enter 6 integers:我们输入 5 8 26 17 48 99
打印输出Original array: 5 8 26 17 48 99 Modified array: 8 26 48 5 17 99
完全正确!
如果还觉得不过瘾,还可以让AI出C语言二级考题:“修改main.c,继续按上述的出题形式出一道C语言二级考题,删除main.c中main函数中的逻辑代码只保留空函数内容让我手动编写。”
这样下去,我觉得我可以玩一天,比如,“出一道Leetcode C语言算法题”。
比如,“出一道针对链表的C语言算法题”。
可以看到,通过这样的模式,我们也可以持续的对课业进行学习和练习。
怎么样?有了InsCode AI IDE的帮助,是不是又对C语言充满信心呢!