理解C语言——从小菜到大神的晋级之路(2)——开发环境的选择和HelloWorld程序

视频观看:点击这里

一、常用系统及IDE简介

       常言道,工欲善其事必先利其器。除了少数奇葩之外,大部分人应不会去使用记事本或者Word文档去编程吧?几乎所有编程语言都需要一个高效易用的开发环境,C语言也不例外。那么该如何选择C语言开发的环境呢?一个编程开发环境需要考虑操作系统和编译器两部分。个人PC上常用的操作系统和编译器主要有以下几种:

1、Windows

       在PC市场上,Windows操作系统一直占据着超过9成的比例。自从20多年前的Windows 3.x逐渐成熟以来,Windows就一直是大多数人的首选甚至是唯一使用的操作系统。造成这一情况的原因多种多样,是否合理也有待商榷,不过Windows系统的易用性和较为符合人们的习惯确实是重要因素之一。现在无论是客户端或者服务器领域,Windows开发都是整个系统工作中不可或缺的一部分。

       在Windows系统上进行开发,可以选择的集成开发环境IDE其实有很多。从事Java开发的主要使用Eclipse,还有开源的IDE——Codeblocks等等。而对于从事C/C++/C#等语言的开发者,占据统治地位的则属微软旗下的Visual Studio系列。

       Visual Studio编译器具备多种不同的优缺点:

优点有:

  1. 功能非常强大;不仅可以进行多种编程语言的编译、开发,还具备软件测试、代码版本控制等等多种功能。
  2. 图形界面友好:主要功能都可以通过菜单和工具栏实现,不需要记忆过多的命令行指令。
  3. 实时单步跟踪调试能力强:可以在IDE中逐语句甚至逐指令地跟踪调试代码的运行,易于排查Bug。

缺陷也很明显:

  1. 收费昂贵:尤其是专业版和旗舰版的vs,收费昂贵到个人根本无法承受;
  2. 体积庞大:若完整安装,需要10G左右的硬盘空间;
  3. 占用资源较多:VS启动后对内存和CPU的消耗相当大,有时可以明显感觉到对系统的流畅性产生的影响。

2、Linux的各种发行版

       Linux最初是由芬兰人Linus·Torvalds参考Unix所开发的开源操作系统,现在已经发展为最为广泛应用的操作系统(尤其是服务器领域)。在发展过程中,Linux产生了多种不同的发行版本,常见的有Ubuntu、Fedora、CentOS、Red Hat Linux等等。

       在Linux上进行开发可以选用的IDE有Eclipse、Codeblocks等等,不过实际上很多时候Linux上的IDE并不是非常好用,很多人还是喜欢使用专门的编辑器如vim进行代码编写,并直接使用gcc进行编译。需要承认的是,Linux上的编译器对C语言的支持比VS好得多,后者对C语言尤其是新的语法的支持有时候并不完整。不过我们这里依然选择VS作为开发学习中主要使用的IDE,主要是因为大部分人对Linux并不是非常熟悉,而单单Linux的使用可能就需要比较长的时间来学习。因此这里我们还是专注于C语言的相关知识,Linux会在后期专门来讨论。

3、MAC OS X

       MAC OS X系统,现在称为OS X系统,是苹果公司的PC和服务器的专用操作系统。苹果的电脑包括笔记本系列MacBook/MacBook Air/MacBook Pro、一体机iMac、服务器Mac Pro等产品,其工业设计水平在诸多计算机品牌中无出其右者,并且配合OS X系统以及相应的软件,在视频编辑、动画制作等领域具有特别的优势。此外,在进行iOS和OS X开发时,一台Mac电脑也是必备品。通常在Mac电脑上开发所需要的IDE为Xcode。Xcode可以支持C/C++/Objective-C等多种语言的开发,但是在现环境下,其最大的特色在于iOS等移动开发,C/C++并不是其主要的使用场景。

二、Visual Studio的安装过程

       我们以VS2013为例。VS的安装过程与其他很多软件类似,首先要获取到安装包的镜像文件和对应的key。此外需要虚拟光驱工具如DAEMON
tools等将镜像文件进行加载并运行。然后选择执行镜像文件目录下的vs_ultimate.exe即可启动安装过程。安装过程中处选择安装组件和自定义安装位置之外,其余均可以采用默认设置。

三、Hello World工程的建立

       VS安装完成后启动IDE,在起始界面上选择“新建项目”

       选择Win32模板下的“Win32控制台应用程序”,并输入项目名称和解决方案名称。

       在应用程序设置一栏中选定“空项目”,选择完成。

       此时便完成了HelloWorld项目的建立。然而项目中目前什么都没有,我们需要向项目中添加源文件。右键单击解决方案中的“源文件“->”添加“->”新建项“,选择Visual C++下的代码一栏,选择C++文件,在名称位置输入HelloWorld.c。说明一下,.cpp是C++源文件的扩展名,而.c是C语言源文件的扩展名。大多数时候,C++可以兼容C的源文件,而C代码却不能兼容一些C++的特性,这一点在使用时需要注意。定义为.c文件,那么代码编写时必须严格按照C的语法来写。

       源文件已经建立完成,将HelloWorld的代码写入源文件:

#include <stdio.h>

int main()
{
	printf("Hello World! \n");
	return 0;
}

       随后开始进行代码的编译、链接和运行。选择”生成“菜单中的"生成解决方案",或者使用Ctrl+Shift+B快捷键即可将整个工程的代码进行编译链接并生成可执行文件。

       运行程序查看结果,在“调试”菜单上选择“开始执行(不调试)”或使用Ctrl+F5快捷键就会直接运行编译完成的可执行程序。

时间: 2025-01-27 03:26:10

理解C语言——从小菜到大神的晋级之路(2)——开发环境的选择和HelloWorld程序的相关文章

理解C语言——从小菜到大神的晋级之路(1)——引言:C语言的前世今生

第一课的视频链接点这里 C语言是现在应用最为广泛的编程语言之一,也是现在依然流行的编程语言中历史最悠久的一种之一.在目前业界广泛使用的编程语言中,许多 种语言是以C为基础发展而来.在多类大学的工程类专业尤其是信息类专业的教学计划中,C语言也是极为重要的基础课之一. 而对于一名以编译型语言为主要开发工具的程序员来说,熟练掌握C语言的用法和理论也可以对其他编程语言获得更深的理解.因此,在这一系列教程中我们希望可以深入理解C语言的方方面面,为后续理解更高级的技术奠定更好的基础. 1.参考资料 <C程序

理解C语言——从小菜到大神的晋级之路(4)——数据类型、运算符和表达式

本期视频点击这里 一.数据类型         对数据进行处理是程序的基本功能之一,因此对于任何编程语言,数据类型都是重要组成部分之一.C语言中定义了较为完善的数据类型体系用于处理不同类型的数据. (1)标识符         C语言中的标识符可以用作变量名.符号名.函数名.文件名等等功能.标识符可以包含字母.数字和下划线(不能以数字开头).C语言是对大小写敏感的语言,因此组成相同但大小写不同的两个标识符将被当作两个不同的标识符处理.         C语言中的标识符可分为三类: 关键字:C语言

理解C语言——从小菜到大神的晋级之路(14)——C编程常见错误

本期视频:点击这里 1.混淆变量的作用域和生存期 变量的作用域和生存期实际上是两个完全不同的概念. 变量的作用域:可以应用这个变量的范围,强调变量使用的空间范围: 变量的生存期:变量的生命周期,强调变量有效的时间:        这两个概念中,作用域更强调变量可以被引用,而生存期更强调其本身是否存在,这二者实际上并没有必然联系.通常情况下,如果处于某个变量的作用域内,那么这个变量一定还在生存期:但是相反,某个变量已经不在其作用域,并不意味着其生存期已结束.变量的生存期常常远大于其作用域.    

理解C语言——从小菜到大神的晋级之路(6)——函数与调用

        视频观看:点击这里         在前面的程序中,由于程序的功能非常简单,所有的代码都在main()函数中实现.如果程序复杂度增加之后,在main()中实现所有代码将显得非常臃肿且缺乏条理.如果可以将一段大的计算任务分解为若干个小任务则可以有效解决这个问题.另外,分解出来的模块还可以进一步构造和重用,而不用每次都编写同样的代码.因此,绝大部分实际的C程序都是由一个简单的主函数和多个规模不同的子函数构成,而不是全部实现在一个很大的main函数中. 1.函数调用简介        

理解C语言——从小菜到大神的晋级之路(9)——多维数组

本节视频链接:点击这里 1.多维数组的定义和结构         一个数组中可以支持各种数据类型,那么一个数组中的每一个元素同样也可以是一个数组.对于上次提到的一维数组,其每个元素都是一个简单数据类型的对象,其结构如同一个一维的数据排列:对于一个二维数组,它的每一个元素都是一个一维数组,其形式如同一个二维的表格,表格的宽度是其中作为数据元素的一维数组的长度,高度是这样的一维数组的个数.简而言之,二维数组的结构是一个矩阵的形式.         例如,我们声明下面这样的一个二维数组: int nM

理解C语言——从小菜到大神的晋级之路(10)——结构体、联合体

本节视频链接:点击这里         上篇中讲述的数组是复合数据类型中最简单的一种,一个数组使用一段连续的内存保存了若干个类型相同的数据元素.由于类型和长度相同,数组的每个元素通过数组下标和指针变量访问.如果我们希望一个结构保存多个不同类型的数据元素,那么数组将无能为力.为了实现这样的功能,C语言提供了结构体和联合体. 1.结构体基本概念 (1)结构体的定义         假设我们需要定义一个图形中的点的概念.在一个使用笛卡尔坐标系表示图像的系统中,点的位置使用两个坐标分量表示,即横坐标x和

理解C语言——从小菜到大神的晋级之路(15)——完结篇:C编程风格

本期视频链接:点击这里 有人说过:"程序源代码其实是跟人阅读的,只是恰好机器可以编译而已".编程初学者常常会有这样一个观念,就是我的程序只要编译通过了,运行没有问题那就万事大吉了.至于代码的编写规不规范,完全就是无关紧要的小事情.如果是处于学习阶段,比如为了完成在学校的C语言课的作业,那么花心思在代码规范上的确没有特别的必要,因为这些代码基本不会进入实用工程,也不会被很多人阅读到. 但是,如果应用到了工程领域,比如在软件/互联网企业的技术研发部门,或者Github等平台上的开源工程,那

理解C语言——从小菜到大神的晋级之路(8)——数组、指针和字符串

       本期视频点击这里        在前面几次我们接触的数据类型都是简单数据类型,使用一个数据个体表示一个元素.C语言中还提供了多种复杂数据类型,其中最简单的一种就是数组.数组这一结构使用内存中一段连续的内存空间保存一组相同类型的变量,这些变量通过数组的下标/索引的不同相互区分.数组与指针有着十分紧密的联系,通常使用数组下标能实现的操作都可以使用指针完成,而且使用指针的程序通常效率更高.但是指针和数组也存在着一些明显的差别,如果误用将导致错误.另外,C语言中还定义了一种极为常用的特殊的

理解C语言——从小菜到大神的晋级之路(3)——C源程序的基本结构与调试方法

    本期视频点击这里        在上一篇中,我们进行了Visual Studio 2013的安装以及第一个demo程序"HelloWorld"的建立.现在我们看一下其中的源代码及相关的C语言基础知识.打开工程,可以通过在源文件标签栏的右键菜单中快速打开源代码的所在目录.HelloWorld的简单代码: #include <stdio.h> int main() { printf ( "Hello World! \n" ); return 0 ;