C语言入门教程-(1)简介及搭建环境
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)简介及搭建环境的更多相关文章
- 《Ruby语言入门教程v1.0》学习笔记-01
<Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...
- C语言入门教程-(5)格式化输入输出
1.输入和输出 在程序的使用中,我们经常可以看的这么一个场景:用户需要输入数据,经过程序运算,得到结果后输出.在C语言中,输入数据和输出数据都是由库函数完成的,通过语句来输入/输出. 2.格式化输出— ...
- Go语言入门教程(十)之函数
Hello 各位小伙伴大家好,我是小栈君,假期一眨眼就过去了.不知道大家玩的是否开心呢? 上次我们讲到了关于Go语言的流程控制,小栈君也希望小伙伴跟着小栈君一步一个脚印的敲一下代码,相互进步.本期我们 ...
- c语言该怎么入门?C语言入门教程(非常详细)
C语言是一门面向过程的编译型语言,它的运行速度极快,仅次于汇编语言.C语言是计算机产业的核心语言,操作系统.硬件驱动.关键组件.数据库等都离不开C语言:不学习C语言,就不能了解计算机底层. 这套「C语 ...
- 《JavaScript语言入门教程》记录整理:入门和数据类型
目录 入门篇 js介绍 历史 基本语法 数据类型 概述 null 和 undefined 数值 字符串 对象 函数 数组 本系列基于阮一峰老师的<JavaScrip语言入门教程>或< ...
- 《JavaScript语言入门教程》记录整理:运算符、语法和标准库
目录 运算符 算数运算符 比较运算符 布尔运算符 二进制位运算符 void和逗号运算符 运算顺序 语法 数据类型的转换 错误处理机制 编程风格 console对象和控制台 标准库 Object对象 属 ...
- 《JavaScript语言入门教程》记录整理:面向对象
目录 面向对象编程 实例对象与 new 命令 this关键字 对象的继承 Object对象的方法 严格模式(strict mode) 本系列基于阮一峰老师的<JavaScrip语言入门教程> ...
- Go 语言入门教程,共32讲,6小时(已完结)
Go语言入门教程,共32讲,6小时(完结) 在B站:https://www.bilibili.com/video/BV1fD4y1m7TD/
- c语言入门教程 / c语言入门经典书籍
用C语言开始编写代码初级:C语言入门必备(以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言的数 ...
随机推荐
- SVM (support vector machine)
简单原理流程转自:http://wenku.baidu.com/link?url=57aywD0Q6WTnl7XKbIHuEwWENnSuPS32QO8X0a0gHpOOzdnNt_K0mK2cucV ...
- PAT 甲级 1064 Complete Binary Search Tree
https://pintia.cn/problem-sets/994805342720868352/problems/994805407749357568 A Binary Search Tree ( ...
- 视频剪辑软件-PR (Adobe Premiere)
1.PR 是什么? Adobe Premiere 是一款常用的视频编辑软件,由Adobe公司推出.PR是一款编辑画面质量较好的软件,有较好的兼容性,且可以与Adobe公司推出的其他软件相互协作.目前这 ...
- Powershell笔记之help about_XXX
<<about_Arrays>> 1. 一直好奇gettype()输出中的Name这一列的Object[]是什么意思,现在终于明白了,请看下面的例子: 2. GM的不同用法 $ ...
- how to get iframe dom in js
how to get iframe dom in js https://stackoverflow.com/questions/3999101/get-iframes-document-from-ja ...
- 解决Slave SQL线程Waiting for binlog lock
最近在我们线上库物理备份的时候出现一个奇怪的现象: 我们备份都在从库上备份的,在业务低一般是在晚上2点钟开始备份.有天发现从库的延迟一直在增加,登录上实例,通过show processli ...
- TypeError: to_categorical() got an unexpected keyword argument 'nb_classes'
在学习莫烦教程中keras教程时,报错:TypeError: to_categorical() got an unexpected keyword argument 'nb_classes',代码如下 ...
- BZOJ5099 POI2018Pionek
假设确定了最终所得向量的方向,则应该选择所有在该方向上投影为正的向量.按极角序排序后这显然是一段连续区间.最终向量方向很难枚举,但对于某个向量,在其上投影为正的向量与其夹角范围是(-π/2,π/2), ...
- Java中,一切皆是对象!为何数据类型中还分为:基本类型和对象?
Java中一切皆是对象!这句话没错,因为八种基本类型都有对应的包装类(int的包装类是Integer),包装类自然就是对象了. 基本类型一直都是Java语言的一部分,这主要是基于程序性能的考量, 基本 ...
- Mininet 系列实验(三)
实验内容 基础 Mininet 可视化界面进行自定义拓扑及拓扑设备自定义设置,实现自定义脚本应用. 参考 Mininet可视化应用 实验环境 虚拟机: Oracle VM VirtualBox Ubu ...