这是一个非常好的问题,也是很多初学者容易混淆的地方。

(图片来源网络,侵删)
Visual C 不是一种独立的 C 语言,而是微软公司推出的一款 C/C++ 语言集成开发环境。
我们可以把它拆解成两个部分来理解:
C 语言
- C 语言 是一种编程语言标准,它由 Dennis Ritchie 于 1972 年发明,是一种过程式、通用的编程语言。
- 这个标准定义了语言的语法、关键字、库函数等。
int,for,if,printf(),malloc()这些都是 C 语言标准的一部分。 - 无论你在 Windows、Linux 还是 macOS 上写 C 语言代码,只要遵循这个标准,核心语法和逻辑都是一样的。
Visual C
- Visual C 通常指的是 Visual C++,它不是一个语言,而是一个工具,一个开发环境。
- Visual C++ (简称 VC++) 是微软的 C++ 开发工具,它包含:
- C/C++ 编译器:将你写的 C/C++ 代码转换成计算机能执行的机器码。
- 集成开发环境:这是一个可视化的软件界面,里面集成了代码编辑器、调试器、资源编辑器、项目构建工具等,我们通常说的 "用 Visual C",指的就是在这个 IDE 里进行开发。
- C/C++ 运行时库:提供了一些在 Windows 平台下运行 C/C++ 程序所必需的支持。
两者的关系:厨师和厨房
用一个比喻来理解:
- C 语言 就像菜谱(标准),它规定了做一道菜(编写程序)的步骤、所需食材(语法、关键字)和方法。
- Visual C++ 就像一个功能齐全的现代化厨房(开发环境),这个厨房里有:
- 炉灶和烤箱(编译器):能把菜谱变成真正的菜。
- 锋利的刀具和齐全的厨具(代码编辑器、调试器):让你切菜、配料、尝味道(编写和调试代码)更方便。
- 操作台(项目管理器):帮你把所有食材和工具整理好,方便你系统地工作。
你可以用这个厨房来做中餐(C 语言程序),也可以用它来做西餐(C++ 语言程序),厨房本身不是菜,但它能让你更高效、更方便地做出菜来。

(图片来源网络,侵删)
总结与澄清
-
Visual C 是 C 吗?
- 不是,Visual C (Visual C++) 是一个开发工具,而 C 是一种编程语言,它们是工具和语言的关系,而不是同一种东西。
-
在 Visual C++ 里能写 C 语言吗?
- 能,Visual C++ 的核心是一个功能强大的 C/C++ 编译器,它完全支持标准的 C 语言(C89/C90, C99, C11),你可以在 Visual Studio (包含 Visual C++) 中创建一个 "C++ 空项目",然后把文件后缀名写成
.c,就可以编写和编译纯 C 语言代码了。
- 能,Visual C++ 的核心是一个功能强大的 C/C++ 编译器,它完全支持标准的 C 语言(C89/C90, C99, C11),你可以在 Visual Studio (包含 Visual C++) 中创建一个 "C++ 空项目",然后把文件后缀名写成
-
Visual C++ 和 C++ 的关系?
Visual C++ 主要用于开发 C++ 程序,并且对微软自己的 C++ 扩展(如 C++/CLI 用于 .NET 开发)支持最好,但它也完美兼容标准 C++ 和标准 C。
-
“Visual C” 这个名字的由来?
这个名字的“Visual”部分,是因为它诞生于 Windows 图形界面(GUI)盛行的时代,它提供了强大的可视化资源编辑器,可以方便地拖拽按钮、窗口、菜单等 GUI 元素,自动生成相应的代码,这对于开发 Windows 桌面应用程序非常有帮助。
当你听到别人说“我在学 Visual C”,他们通常的意思是“我正在使用微软的 Visual C++ 这个工具来学习 C/C++ 编程,特别是针对 Windows 平台的开发”,他们学的核心还是 C 或 C++ 语言,只是使用了一个特定的、功能强大的工具而已。
