大语言模型(LLM)是目前人工智能的热门,基于LLM的人工智能内容生成(AIGC)能力,已经从简单的文本、图像到帮助写文档、PPT、音乐和视频了。学习C语言,配合人工智能一定能事半功倍。下面使用五个国内可以流畅访问的AIGC工具,演示下如何使用这些工具帮助学习C语言:
C语言程序设计
程序是数据结构与算法的结合。核心要素是描述数据结构的数据类型(含简单的、组合的)、对数据进行基本处理的运算符(加减乘除等)、处理数据的更复杂的算法(选择、循环、运算符、函数等的组合)。这里先从如下几个问题,借助LLM看看是否可以澄清。
1 printf
2 scanf
3 类型
4 运算符
5 流程控制
6 函数
代码&实例
可以看到基于C语言这样的一个成熟的,热度排名靠前的程序设计语言,LLM基本能全方位回复相关知识,并给出案例。如果在结合上述问答的基础上,继续询问要求LLM给出响应的工程测试函数。如下列问题:
对于printf,将得到如下代码,可放入printf_test.c文件,然后在main.c中调用
对于canf,可以得到如下代码,可放入scanf_test.c文件,然后在main.c中调用
#include <stdio.h>
void test_scanf() {
int intVar;
unsigned int uintVar;
float floatVar;
double doubleVar;
char charVar;
char stringVar[100];
// 输入整数
printf("请输入一个整数: ");
scanf_s("%d", &intVar);
// 输入无符号整数
printf("请输入一个无符号整数: ");
scanf_s("%u", &uintVar);
// 输入浮点数
printf("请输入一个浮点数: ");
scanf_s("%f", &floatVar);
// 输入双精度浮点数
printf("请输入一个双精度浮点数: ");
scanf_s("%lf", &doubleVar);
// 输入字符
printf("请输入一个字符: ");
scanf_s(" %c", &charVar,1); // 注意前面的空格,用于跳过空白字符
// 输入字符串
printf("请输入一个字符串: ");
scanf_s("%s", stringVar, (unsigned)100);
printf("------------------------------------------------------------\n");
printf("| 数据类型 | 输入示例 | 格式符号 | 输出示例 |\n");
printf("------------------------------------------------------------\n");
// 整数输出
printf("| 整数 | %d | %%d | %d |\n", intVar, intVar);
// 无符号整数输出
printf("| 无符号整数 | %u | %%u | %u |\n", uintVar, uintVar);
// 浮点数输出
printf("| 浮点数 | %.2f | %%f | %.2f |\n", floatVar, floatVar);
// 双精度浮点数输出
printf("| 双精度浮点数 | %.5lf | %%lf | %.5lf |\n", doubleVar, doubleVar);
// 字符输出
printf("| 字符 | %c | %%c | %c |\n", charVar, charVar);
// 字符串输出
printf("| 字符串 | %s | %%s | %s |\n", stringVar, stringVar);
printf("------------------------------------------------------------\n");
}
代码结构如下图:
生成printf_test.c
生成scanf_test.c
extern void test_printf();
extern void test_scanf();
在main.c调用
#include <stdio.h>
#include "mylib.h"
int main() {
test_printf();
test_scanf();
return 0;
}
// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单
// 构建程序 Ctrl + B
// 入门使用技巧:
// 1. 使用解决方案资源管理器窗口添加/管理文件
// 2. 使用团队资源管理器窗口连接到源代码管理
// 3. 使用输出窗口查看生成输出和其他消息
// 4. 使用错误列表窗口查看错误
// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件
总结
相对于系统学习时请教于专业老师,LLM能更加不厌其烦,更加不区分难易粗细的回答问题。如果可以将这些与系统性学习相结合,一定能够事半功倍。上述各个问题并未展开到底也并多维度没有组合起来提问,读者可自行尝试,相信会有收获。例如如下问题:
参考资料:
领取专属 10元无门槛券
私享最新 技术干货