第一部分:准备工作 - 安装 Visual Studio 2025
在开始之前,你需要确保你的电脑上安装了 Visual Studio 2025,由于 VS2025 已经比较老了,你可能需要从微软的存档网站下载。
下载 Visual Studio 2025 Community
Visual Studio Community 版本是免费的,并且功能足够强大,完全适合个人学习和开发使用。
- 下载地址:https://my.visualstudio.com/Downloads?q=visual%20studio%202515
- 在页面中找到 "Visual Studio 2025 Update 3" 并下载 "Community" 版本的安装程序。
安装 Visual Studio 2025
- 运行下载的安装程序
vs_community.exe。 - 在安装界面,选择“自定义”安装,这可以让你只安装需要的组件,节省空间。
- 在组件列表中,确保勾选了以下核心组件:
- Visual C++:这是 C/C++ 语言的支持,是必须的。
- Windows 8.1 SDK 和 Windows 10 SDK:这些软件开发包包含了开发 Windows 应用程序所需的头文件和库,对于初学者,建议至少勾选一个。
- .NET Framework 4.6:许多 C++ 项目依赖于此。
- 点击“安装”按钮,等待安装完成,这可能需要一些时间。
第二部分:创建你的第一个 C 程序 - "Hello, World!"
这是编程世界的传统入门程序,它会让我们确认一切环境都已正确配置。
启动 Visual Studio 2025
打开你刚刚安装好的 Visual Studio 2025。
创建新项目
- 在启动界面,点击“创建新项目”。
- 在模板列表中,选择“已安装” -> “模板” -> “Visual C++”。
- 在中间的列表中,选择 “空项目” (Empty Project),这是一个非常干净的模板,适合我们从零开始写代码。
- 在下方为你的项目命名,
MyFirstCProgram,并选择一个保存位置。 - 点击“确定”。
添加源代码文件
现在我们有了一个项目,但里面还没有任何代码文件,我们需要添加一个 C 语言源文件。
- 在右侧的“解决方案资源管理器”窗口中,右键点击你的项目名称
MyFirstCProgram。 - 选择“添加” -> “新建项”。
- 在“添加新项”窗口中,选择“Visual C++” -> “代码”。
- 在中间的列表中,选择 “C++ 文件 (.cpp)”。
- 注意:虽然默认后缀是
.cpp(C++ 文件),但我们完全可以在这个文件里写纯 C 代码,如果你想让后缀名是.c,可以直接在下方的“名称”输入框中输入main.c,VS 会自动识别。
- 注意:虽然默认后缀是
- 点击“添加”。
编写代码
一个名为 main.cpp(或 main.c)的空白文件会打开,在编辑器中输入以下代码:
#include <stdio.h> // 包含标准输入输出库
// main 函数是 C 程序的入口点
int main()
{
// printf 函数用于在控制台打印文本
printf("Hello, World!\n");
// return 0 表示程序成功执行完毕
return 0;
}
代码解释:
#include <stdio.h>:这是一个预处理指令,告诉编译器在编译前把stdio.h文件的内容包含进来,这个文件包含了printf函数的声明。int main():这是程序的主函数,是程序开始执行的地方,每个 C 程序都必须有一个main函数。printf("Hello, World!\n");:printf函数用来在屏幕上显示文本。\n是一个转义字符,表示换行。return 0;:main函数返回一个整数0,通常这个值返回给操作系统,0表示程序正常退出。
编译并运行程序
现在是最激动人心的时刻!让我们运行这个程序。
- 点击菜单栏的“调试” -> “开始执行(不调试)”(或者直接按快捷键
Ctrl + F5)。 - 程序会被编译、链接,然后运行,你会看到一个黑色的控制台窗口弹出,显示:
Hello, World! - 窗口会停留几秒钟然后自动关闭,为了能看到结果,可以在
return 0;前面加一行代码:system("pause");,这需要包含<stdlib.h>头文件。
第三部分:C 语言核心概念与示例
下面我们来学习 C 语言的基础知识,并为每个知识点提供在 VS2025 中的实践示例。
变量与数据类型
变量是存储数据的容器,C 语言有几种基本的数据类型。
int: 整数 (e.g., 10, -5)float: 单精度浮点数 (小数, e.g., 3.14)double: 双精度浮点数 (精度更高的小数)char: 单个字符 (e.g., 'A', 'b')
示例:
在 main.c 中,你可以修改代码如下:
#include <stdio.h>
int main()
{
// 声明并初始化变量
int myAge = 25;
float price = 19.99;
char initial = 'J';
// 打印变量值
printf("My age is: %d\n", myAge);
printf("The price is: %f\n", price);
printf("My initial is: %c\n", initial);
return 0;
}
%d,%f,%c是格式化占位符,它们会被后面变量的值替换。
运算符
- 算术运算符: (加), (减), (乘), (除), (取模,求余数)
- 赋值运算符: , , , etc.
示例:
#include <stdio.h>
int main()
{
int a = 10;
int b = 3;
int sum = a + b;
int remainder = a % b; // 10 除以 3 的余数是 1
printf("Sum of a and b is: %d\n", sum);
printf("Remainder of a / b is: %d\n", remainder);
return 0;
}
输入与输出
我们已经知道 printf 用于输出。scanf 用于从键盘输入。
示例:
#include <stdio.h>
int main()
{
int number;
char name[50]; // 一个字符数组,用于存储字符串
printf("Please enter an integer: ");
scanf("%d", &number); // 注意 &number,& 是取地址符
printf("You entered: %d\n", number);
printf("Please enter your name: ");
// 注意:scanf 读取字符串时,如果前面有其他输入(如回车),可能会出问题。
// 更安全的做法是先用 getchar() 清空输入缓冲区。
// 为了简单,这里直接使用。
scanf("%s", name); // 字符数组名本身就是地址,所以不需要 &
printf("Hello, %s!\n", name);
return 0;
}
条件语句
根据条件执行不同的代码块。
if,else if,else
示例:
#include <stdio.h>
int main()
{
int score = 85;
if (score >= 90)
{
printf("Grade: A\n");
}
else if (score >= 80)
{
printf("Grade: B\n");
}
else if (score >= 70)
{
printf("Grade: C\n");
}
else
{
printf("Grade: F\n");
}
return 0;
}
循环语句
重复执行一段代码。
for循环:适合已知循环次数的场景。while循环:适合在某个条件为真时持续循环的场景。
示例 (for 循环):
#include <stdio.h>
int main()
{
int i;
printf("Counting to 5:\n");
for (i = 1; i <= 5; i++)
{
printf("%d\n", i);
}
return 0;
}
示例 (while 循环):
#include <stdio.h>
int main()
{
int count = 0;
printf("Counting to 5 with while loop:\n");
while (count < 5)
{
printf("%d\n", count + 1);
count++; // count = count + 1
}
return 0;
}
函数
将代码组织成可重用的块。
示例:
#include <stdio.h>
// 这是一个自定义函数,用于打印问候语
void sayHello(char name[]) // void 表示这个函数不返回值
{
printf("Hello, %s! Welcome to C programming.\n", name);
}
int main()
{
char userName[50];
printf("Enter your name: ");
scanf("%s", userName);
// 调用我们刚刚定义的函数
sayHello(userName);
return 0;
}
第四部分:使用 Visual Studio 2025 的调试功能
调试是编程中最重要的技能之一,VS2025 提供了强大的调试工具。
设置断点
断点是一个标记,告诉调试器在执行到这一行时暂停。
- 在代码行号左侧的灰色边栏上单击鼠标左键,会出现一个红点,这就是断点。
- 在
int sum = a + b;这一行设置断点。
开始调试
- 点击菜单栏的“调试” -> “逐语句” (或者按快捷键
F11)。 - 程序会启动,并在你的断点处暂停,当前行会以黄色高亮显示。
使用调试窗口
当程序暂停时,VS 底部会出现几个重要的调试窗口:
- 局部变量: 自动显示当前函数作用域内所有变量的值,你可以在这里看到
a,b,sum的当前值。 - 监视: 你可以在这里手动添加你想观察的变量或表达式,
a + b,它会实时显示结果。 - 调用堆栈: 显示函数的调用关系。
逐行执行
- 逐语句: 按
F11,会进入函数内部(如果当前行是函数调用)。 - 逐过程: 按
F10,会把整个函数当作一步来执行,不会进入函数内部。 - 跳出: 按
Shift + F11,会执行完当前函数的剩余部分并返回到调用它的地方。 - 继续: 按
F5,会程序会继续运行,直到遇到下一个断点或程序结束。
通过这些步骤,你可以一步步观察程序的执行流程和变量的变化,从而找到代码中的错误。
第五部分:总结与进阶建议
恭喜你!你已经成功地:
- 安装并配置了 Visual Studio 2025。
- 创建、编译并运行了你的第一个 C 程序。
- 学习了 C 语言的核心概念:变量、运算符、输入输出、条件、循环和函数。
- 掌握了 VS2025 的基本调试功能。
进阶建议
- 动手实践: 不要只看教程,自己尝试写一些小程序,计算器、猜数字游戏、简单的学生成绩管理系统等。
- 学习指针: 指针是 C 语言的精髓和难点,也是其强大之处,务必花时间彻底理解它。
- 学习结构体: 当你需要存储不同类型的数据时,结构体非常有用。
- 学习文件操作: 学习如何使用
fopen,fprintf,fscanf等函数来读写文件。 - 阅读代码: 去 GitHub 等平台找一些开源的、小型的 C 语言项目,阅读别人的代码,学习好的编程风格。
虽然 VS2025 已经比较陈旧,但它作为学习 C 语言基础的 IDE 是完全足够的,祝你学习愉快!
