1.谁适合阅读本教程

本教程可以帮助大家从零开始学习C语言,对于有一定基础的人起到夯实基本功的作用。C语言容易学习,非常适合初学者入门,而且也为以后的编程打下基础。借用一句话:“要进入编程行业高手必学C语言,要挣大钱必学C语言,要做黑客、红客必学C语言。”当然了,这是夸张的话了,但是体现出了C语言的重要性。

2.简介

C语言是一种通用的、面向过程式的计算机程序设计语言。它易于学习,是结构化语言,能够产生高效率的程序,可以在多种计算机平台上编译。在学习C语言的路上,它会帮助你成长为优秀的程序员。C语言最大的优点在于,它的代码运行速度与汇编语言编写的代码运行速度几乎一样。

3.Windows 平台下的集成开发环境(简称 IDE)

C语言的开发环境,需要有文本编辑器和C语言编译器。文本编辑器的作用是让你写代码的,这个代码是用来给自己或者他人看的,称为源文件,C程序的源文件通常使用扩展名 ".c"。而C语言编译器的作用是将源文件"编译",转为机器语言,把源代码编译成最终的可执行程序。简单的来说,一个是给人看的,一个是翻译后给机器看的。

当然,作为刚入门,我们就不要搞得太复杂了,我们直接装一个大礼包就好了,也就是集成开发环境!集成开发环境就是包含了文本编辑器和编译器。IDE可以帮助我们更加方便、快捷的搬砖~哦,不!我的意思是写代码,搬砖是不可能搬砖的。

下面给大家介绍几个常用的C语言IDE。本系列的教程将会使用VS2015的开发环境,当然一开始直接用VS还是会有一些困难的,但我还是推荐大家用这个,我也会简单的给大家介绍一些基本的使用。VS也是以后C++学习必备的工具,甚至将来工作的实际开发环境。

3.1 Visual Studio(简称 VS)

Visual Studio是微软开发一款Windows下的标准IDE。VS在实际开发中被广泛的使用,微软还会对其进行更新和升级,目前最新版本是VS2017。VS具备强大的功能,集成很多开发工具。VS一般有三个版本,分别是:免费的社区版以及收费的专业版和企业版。对于大部分程序开发来说,这三个版本的区别不大。免费的社区版一样可以满足大家的需求,所以我推荐大家使用社区版,既省去了破解的麻烦,也尊重了微软的版权。最大的缺点可能就是体量比较大,安装和卸载麻烦。

推荐指数:五颗星

3.2 Code::Blocks

Code::Blocks 是一款开源、跨平台、免费的C/C++的IDE,主要优点是小巧灵活,易于安装和卸载,缺点是不如VS功能强大,以及实际开发用的不多。

推荐指数:四颗星

3.3 Dev C++

Dev C++是一款免费开源C/C++的IDE,也是一些大型竞赛的指定工具。Dev C++的优点是体量小、安装以及卸载起来都比较的方便,缺点是调试功能弱。

推荐指数:四颗星

3.4 Visual C++ 6.0(简称VC 6.0)

Visual C++ 6.0也是微软开发的IDE,是国内很多高校的教学工具。但VC 6.0是1998年的产品,在Win8或者Win10可能会有各种各样的兼容性问题,所以不推荐使用。很多大学把它作为教学工具,并且选用的教材也以VC 6.0为基础来讲解C语言和 C++,这也说明了中国高校的教学体制落后,课程体系的更新远远跟不上技术的进步。

推荐指数:两颗星

3.5 Turbo C

Turbo C是一款古老的C语言开发工具,程序员只能使用键盘操作,不能使用鼠标,所以非常不方便。Turbo C集成了一套图形库,可以在控制台程序中画图,看起来非常炫酷,所以至今仍然有人在使用。

推荐指数:两颗星

注:开发环境的下载链接,在公众号:程序员基础知识,回复“开发环境”即可获取

4.VS2015的使用

下面简单的介绍一下VS的使用,使用VS如何建立一个项目。

4.1 创建项目

首先,打开 VS2015,在上方菜单栏中选择“文件 --> 新建 --> 项目”。


出现下图,选择“Win32控制台应用程序”,填写项目名称,存储位置,点击“确定”按钮即可。

然后弹出下图:

点击“下一步”按钮,弹出下图:

选择“控制台应用程序”,再勾选“空项目”,然后点击“完成”按钮就创建了一个新的项目。

4.2 添加源文件

首先,在“解决方案资源管理器”中,选择“源文件”右击鼠标,选择“添加 -> 新建项”,如下图所示:


弹出对话框。如下图所示:

选择“C++文件(.cpp)”,填写源文件名称,点击“添加”按钮即可。

4.3 编写代码并调试运行

打开 HelloWorld.cpp,写入代码。


使用快捷键“ctrl+F5”,进行编译、运行。得到下图结果:

上图中,我们可以在输出的信息看到运行成功。

我们可以看到输出结果,控制台输出“HelloWorld!”。

5.第一个程序

#include <stdio.h>

int main()
{
    printf("Hello World!\n");     return 0;
}
  • 1)程序的第一行 #include 是预处理器指令,在编译之前进行的处理,告诉编译器要包含 stdio.h 文件。如果不理解的话,就先简单的记住程序的第一行是这段代码就行。
  • 2)int main() 是主函数,程序从这里开始执行。所以我们读程序的时候一般先从main()函数开始。
  • 3)printf("Hello World!"),printf()是格式化打印函数。它的作用就是输出语句,在屏幕上显示"Hello World!"。
  • 4)\n是换行符,起到换行作用。
  • 5)return 0; 终止 main() 函数,并返回值 0。简单的理解为程序成功运行结束就好了。

6.总结

总结一下,本节内容先对C语言做了简单的介绍,然后介绍了如何使用VS2015编写程序,最后分析了我们接触的第一个程序。希望大家可以自己跑一遍这个程序,也可以试试动手敲一下这个程序。也许能体会到完成第一个代码的成就感。

7.练习

1-1 在自己电脑上动手安装一个开发环境。
1-2 在控制台输出"Hello World!"。
1-3 在上述基础上,通过更改代码在控制台输出"Hello Meng!"。

可以在评论中,写下你们的练习答案。

之后的文章会给大家带来更精彩的内容
欢迎关注我的知乎专栏:程序员基础知识
获取练习答案以及更多实战项目
欢迎关注我的公众号:程序员基础知识
交(gao)流(ji)群:493584686

C语言入门教程-(1)简介及搭建环境的更多相关文章

  1. 《Ruby语言入门教程v1.0》学习笔记-01

    <Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...

  2. C语言入门教程-(5)格式化输入输出

    1.输入和输出 在程序的使用中,我们经常可以看的这么一个场景:用户需要输入数据,经过程序运算,得到结果后输出.在C语言中,输入数据和输出数据都是由库函数完成的,通过语句来输入/输出. 2.格式化输出— ...

  3. Go语言入门教程(十)之函数

    Hello 各位小伙伴大家好,我是小栈君,假期一眨眼就过去了.不知道大家玩的是否开心呢? 上次我们讲到了关于Go语言的流程控制,小栈君也希望小伙伴跟着小栈君一步一个脚印的敲一下代码,相互进步.本期我们 ...

  4. c语言该怎么入门?C语言入门教程(非常详细)

    C语言是一门面向过程的编译型语言,它的运行速度极快,仅次于汇编语言.C语言是计算机产业的核心语言,操作系统.硬件驱动.关键组件.数据库等都离不开C语言:不学习C语言,就不能了解计算机底层. 这套「C语 ...

  5. 《JavaScript语言入门教程》记录整理:入门和数据类型

    目录 入门篇 js介绍 历史 基本语法 数据类型 概述 null 和 undefined 数值 字符串 对象 函数 数组 本系列基于阮一峰老师的<JavaScrip语言入门教程>或< ...

  6. 《JavaScript语言入门教程》记录整理:运算符、语法和标准库

    目录 运算符 算数运算符 比较运算符 布尔运算符 二进制位运算符 void和逗号运算符 运算顺序 语法 数据类型的转换 错误处理机制 编程风格 console对象和控制台 标准库 Object对象 属 ...

  7. 《JavaScript语言入门教程》记录整理:面向对象

    目录 面向对象编程 实例对象与 new 命令 this关键字 对象的继承 Object对象的方法 严格模式(strict mode) 本系列基于阮一峰老师的<JavaScrip语言入门教程> ...

  8. Go 语言入门教程,共32讲,6小时(已完结)

    Go语言入门教程,共32讲,6小时(完结) 在B站:https://www.bilibili.com/video/BV1fD4y1m7TD/

  9. c语言入门教程 / c语言入门经典书籍

    用C语言开始编写代码初级:C语言入门必备(以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言的数 ...

随机推荐

  1. 补交第一周:coding net

    coding net:https://coding.net/u/yuanyuancheng git openssh: 四则运算 https://git.coding.net/yuanyuancheng ...

  2. es6 javascript对象方法Object.assign()

    es6 javascript对象方法Object.assign() 2016年12月01日 16:42:34 阅读数:38583 1  基本用法 Object.assign方法用于对象的合并,将源对象 ...

  3. [转帖] JVM虚拟机的历史

    Java虚拟机发展史 https://blog.csdn.net/tinyDolphin/article/details/72809018 如何查看自己的虚拟机版本?Sun Classic / Exa ...

  4. linux下tomcat、jenkins环境搭建

    1.安装JDK  我不列出来了,自行百度 java -version 2.安装tomcat (1)将下载的tomcat压缩包 tar -zxvf apache-tomcat-8.5.29.tar.gz ...

  5. How Many Points? LightOJ - 1077(线段经过整点个数与gcd 证明)

    题意: 已知两点 (x1,y1) 和 (x2, y2)求两点间线段上的整点的个数 解析: 就是求gcd(abs(x2- x1),abs(y2 - y1)) 证明: 我们分水平方向和竖直方向两个方向看 ...

  6. MT【118】利用线面角最小解题

    解:如图将正四面体放到立方体中,让AB通过$\alpha$面,让$\alpha$面绕着AB动起来.问题就转化成为EF与面$\alpha$线面角$\theta$了.EF的投影为$|EF|cos\thet ...

  7. java中poi进行execl导出

    首先贴出最终导出的execl截图吧: 前台界面如下: 点击导出时,为其按钮的onclick事件添加exportDate()函数: function exportDate(){ var begin_Da ...

  8. BZOJ 1340: [Baltic2007]Escape逃跑问题

    1340: [Baltic2007]Escape逃跑问题 Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 285  Solved: 133[Submit] ...

  9. 解题:NOI 2009 管道取珠

    题面 考虑这个平方的实际意义,实际是说取两次取出一样的序列 那么设$dp[i][j][k][h]$表示第一次在上面取$i$个下面取$j$个,第二次在上面取$k$个下面取$h$个的方案数 等等$n^4$ ...

  10. 在ASP.NET MVC中对表进行通用的增删改

    http://www.cnblogs.com/nuaalfm/archive/2009/11/11/1600811.html 预备知识: 1.了解反射技术 2.了解C#3.0中扩展方法,分布类,Lin ...