1.3 HelloWorld程序的编写
通过上一小节的学习,读者对Visual Studio开发工具有了一个基本的认识。为了快速熟悉工具的使用,了解C语言程序的编写,本节将通过一个向控制台输出“Hello,world”的程序为读者演示如何在Visual Studio工具中开发一个C语言应用程序,具体实现步骤如下。
1.新建项目
启动Visual Studio开发工具,在菜单栏中选择“文件”→“新建项目”命令,如图1-11所示。
图1-11 创建项目
选择“新建项目”命令后,会弹出“新建项目”对话框,在“新建项目”窗口中可以选择创建的项目类型,设置项目名称、位置、解决方案名称等,如图1-12所示。
图1-12 “新建项目”对话框
从图1-12中可以看出,项目窗口大致可分为3个部分,其中模板区域可以选择要开发项目的模板,项目区域可以选择要创建项目的类型。在项目区域的下方,可以设置项目名称、位置(项目的保存位置)以及解决方案名称,解决方案名称默认与项目名相同。
模板区域包含了项目开发中的多个模板,如Visual Basic、Visual C#、Visual C++等模板。由于本书是针对C语言进行讲解的,因此只会用到C++中的模板,接下来将针对C++模板下的项目类型进行介绍,具体如下:
●Win32控制台应用程序:用于创建Win32控制台应用程序的项目。
●Win32项目:用于创建Win32应用程序、控制台应用程序、DLL或其他静态库项目。
●空项目:用于创建本地应用程序的空项目。
●生成文件项目:用于使用外部生成系统的项目。
在此,选择C++模板中的Win32控制台应用程序(运行结果会显示在命令行窗口中),然后将项目名称设置为Program01,项目的位置为“D:\itcast\”,并将解决方案的名称设置为chapter01,这样创建的程序文件就会生成在“D:\itcast\chapter01”目录中。最后单击【确定】按钮,弹出一个Win32应用程序向导对话框,如图1-13所示。
图1-13 Win32应用程序向导对话框
在图1-13所示的窗口中,系统默认选择控制台应用程序,单击【下一步】按钮,此时出现Win32应用程序向导的第二个窗口,如图1-14所示。
图1-14 Win32应用程序向导窗口
在图1-14中,勾选【空项目】复选框,然后单击【完成】按钮,至此便完成了Program01项目的创建。
2.添加源文件
项目创建完成后,就可以在Program01项目中添加C语言源文件。在Program01项目中的源文件夹上右击,在弹出的菜单中依次选择【添加】→【新建项】命令,如图1-15所示。
图1-15 添加新建项
随后在弹出的添加新项窗口里选择【C++文件(.cpp)】,并在名称文本框中输入HelloWorld.c,如图1-16所示。
图1-16 添加源文件
3.编写代码
单击图1-16中的【添加】按钮,HelloWorld.c源文件便创建成功,此时,在解决方案资源管理器的源文件夹中便可以看到HelloWorld.c文件,如图1-17所示。
图1-17 HelloWorld.c文件
为了让读者对C语言编程有一个简单的了解,接下来在图1-17的编辑区中编写HelloWorld.c程序,具体代码如下所示。
【例】
例1-1就是一个完整的C语言程序,接下来针对该程序中的语法细节进行详细的讲解,具体如下:
●第1行代码的作用是进行相关的预处理操作。其中字符“#”是预处理标志,用来对文本进行预处理操作,include是预处理指令,它后面跟着一对尖括号,表示头文件在尖括号内读入。stdio.h就是标准输入/输出头文件,由于在第4行用到了printf()输出函数,所以须加此头文件。
●第2行代码声明了一个main()函数,该函数是程序的入口,每一个C程序必须有且仅有一个main()函数,程序总是从main()函数开始执行。main()函数前面的int表示该函数的返回值类型是整型。代码第3~6行“{}”中的内容是函数体,程序的相关操作都要写在函数体中。
●第4行代码调用了一个用于格式化输出的函数printf(),该函数用于输出一行信息,可以简单理解为向控制台输出文字或符号等。printf()括号中的内容称为函数的参数,括号内可以看到输出的字符串“Hello,world\n”,其中“\n”表示换行操作,它不会输出到控制台。
●第5行代码中return语句的作用是将函数的执行结果返回,后面紧跟着函数的返回值,返回值一般用0或-1表示,0表示正常,-1表示异常。
值得一提的是,在C语言程序中,以分号(;)作为结束标记的代码都可称为语句,如例1-1中的第4行、第5行代码都是语句,被“{}”括起来的语句被称为语句块。
4.运行程序
HelloWorld程序编写完成并保存后,就可以对HelloWorld程序进行编译和运行操作。选择【调试】→【开始执行(不调试)】选项,或者直接使用快捷键Ctrl+F5来运行程序,如图1-18所示。
图1-18 运行程序
程序运行后,会弹出命令行窗口并在该窗口中输出运行结果,如图1-19所示。
图1-19 运行结果
至此,便完成了HelloWorld程序的创建、编写以及运行过程。读者在此只需有个大致印象即可,后面将会继续讲解如何使用Visual Studio开发工具编写C语言程序。
脚下留心:让运行界面暂停
在Visual Studio中直接单击【运行】按钮或使用F5键是调试状态下运行程序,运行结束后窗口会消失。此时我们若想看到程序的运行结果,就需要使用快捷键Ctrl+F5,这个快捷键在Visual Studio中,可以让运行界面暂停;或者在程序的头部添加#include<stdlib.h>,在main()函数尾部加上system("pause")函数调用,也可起到使程序运行到这条语句时暂停的作用。
多学一招:Visual Studio命令行运行HelloWorld.c
读者在运行C语言程序时,直接单击【运行】按钮就可以运行了。其实还可以调用Visual Studio命令行来手动编译运行,借此可以体会一下C语言程序的运行过程。
在调用命令行之前,安装codeblocks-13.12mingw-setup-TDM-GCC-481.exe(读者可以到博学谷平台下载此安装包)。然后在【开始】菜单中单击Visual Studio 2013文件夹,如图1-20所示。
图1-20 Visual Studio 2013文件夹
【Visual Studio 2013】文件夹下有【Visual Studio Tools】子文件夹,单击此文件夹,弹出图1-21所示的窗口。
图1-21 Visual Studio Tools文件夹窗口
此窗口下有【VS2013开发人员命令提示】文件,单击此文件,会弹出图1-22所示的命令行窗口。
图1-22 命令行窗口
图1-22中显示的“F:\2013>”是Visual Studio的安装目录,Visual Studio安装的目录不同,显示的路径也不同。打开此命令窗口后,读者创建一个HelloWorld.txt文件,编写例1-1中HelloWorld程序。本书以在桌面上创建为例,在后续章节中,如未有提示均指在桌面创建文件。将HelloWorld.txt扩展名改为.c,即HelloWorld.c。文件创建好后,在命令行中进入到文件所在路径,如图1-23所示。
图1-23 进入到HelloWorld.c所在路径
进入到HelloWorld.c所在的路径后,执行命令“cl HelloWorld.c”,然后回车,如图1-24所示。
图1-24 执行cl HelloWorld.c命令后
执行完这一步之后,会在桌面生成两个文件:HelloWorld.exe和HelloWorld.obj。HelloWorld.obj是编译过程的中间产物,HelloWorld.exe是生成的最终可执行文件。此时在命令行运行HelloWorld.exe并回车,结果如图1-25所示。
图1-25 执行HelloWorld.exe
通过Visual Studio命令行能更深切地体会到C语言程序的编译过程,其实在Visual Studio中单击【运行】按钮时,也是调用命令行来执行的。
除此之外,C语言还可以在Mac iOS、QT、UNIX、Android等环境下执行。有兴趣的读者可以尝试一下。