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语言的数 ...
随机推荐
- 词频统计(WEB)版
需求: 在以前的基础上把程序迁移到web平台,通过用户上传TXT的方式接收文件. 前端页面代码: <%@ Page Language="C#" AutoEventWireup ...
- PAT 甲级 1146 Topological Order
https://pintia.cn/problem-sets/994805342720868352/problems/994805343043829760 This is a problem give ...
- HDU 2078 复习时间
http://acm.hdu.edu.cn/showproblem.php?pid=2078 Problem Description 为了能过个好年,xhd开始复习了,于是每天晚上背着书往教室跑.xh ...
- .NET Socket 简单入门
说到Socket,想必大家都或多或少有所涉及,从最初的计算机网络课程,讲述了tcp协议,而Socket就是对协议的进一步封装,使我们开发人员能够更加容易轻松的进行软件之间的通信. 这个星期刚好接受一个 ...
- 基本数据类型用== 比较数值 引用类型用==比较的是jvm中的地址 比较数值用equal
基本数据类型用== 比较数值 引用类型用==比较的是jvm中的地址 比较数值用equal
- [CF1110H]Modest Substrings
description CodeForces 定义一个正整数\(x\)是合适的当且仅当\(l\le x\le r\),其中\(l,r\le 10^{800}\). 找到一个长度为\(n\)的数字串,使 ...
- 主机 & 虚拟机 & 开发板 三者的恩爱情仇
# 主机 & 虚拟机 & 开发板 > 三者网络连通性,使用ping命令检测 @ Bridge 模式 ## 主机 & 虚拟机 主机与虚拟机相当于一个网络里的两台主机,都有各 ...
- 彻底解决mac下terminal路径显示问题
mac 配色 mac shell配色 ~/.bash_profile是bash shell中当前登录用户的配置文件.bash是“终端”中默认的shell. alias ls=”ls -G”是给”ls ...
- Miller-Robin与二次探测
素数在数论中经常被用到.也是数论的基础之一. 人们一直在讨论的问题是,怎样快速找到素数?或者判断一个数是素数? 1.根号n枚举 原始暴力方法. 2.埃氏筛 每个合数会被筛质因子次数次.复杂度O(Nlo ...
- CF17E Palisection——优秀的综合计数题
题意翻译 给定一个长度为n的小写字母串.问你有多少对相交的回文子 串(包含也算相交) . 输入格式 第一行是字符串长度n(1<=n<=2*10^6),第二行字符串 输出格式 相交的回文子串 ...