初识C语言:简介、环境搭建、第一个HelloWorld
yuyutoo 2024-11-21 23:38 2 浏览 0 评论
一、本系列文章简介
- 什么是C语言
- C语言之父
- C语言的由来
- C语言的发展
- 为什么要学C语言/能做什么
- 为什么要学习这套C语言
- 本套课程适用人群
- 本套笔记介绍
二、C语言标准
2.1 标准简史
- 1. 1972年C语?在?尔实验室诞?. 丹尼斯·?奇 参考B语?开发.
- 2. 1970-80年代,C语?被?泛应?,产?很多不同的C语?版本. 程序可移植性?较差.
- 3. 1983年,美国国家标准委员会(ANSI) 成??个?组来制定C语?的标准. C语??持哪些语法、?持哪些功能
- 等等.
- 4. 1989年,通过了C语?的第?个标准. C89标准.
- 5. 1990年,国际标准化组织(ISO) 和 国际电?委员会(IEC) 将 C89标准当做国际的C语?标准. C90标准. C89和
- C90指的是同?个标准
- 6. 1994年 ISO和 IEC 对 C89标准进?修订. C94标准. 由于并没有增加新的语法特性,还是叫做 C89或者C90.
- 7. 1995年 ISO和IEC再次做了修正,C95 标准.
- 8. 1999年 ISO 和 IEC 发布了C语?新标准. C语?第?个标准. 在该标准中,新增许多实?的C语?语法特性. 增
- 加新的关键字、可变?数组等等. C99标准
- 9. 2007年,重新修订了C语?.
- 10. 2011年, 发布新的版本。新增了?些语法,泛型、国际化?持. ?前为?最新版本是 C11.
2.2 标准的影响
1. 可将C语?的标准理解为C语?说明书。但其并没有强制性约束?。
- > 如:微软拿到标准,认为有些标准不合理,不?持。
- > 微软认为某些特性?常好,但标准中没有,微软可以修改标准,新增语法.
2. 如果编译器不?持标准,我们即使使?标准中的语法仍然会报错。
3. 编译器版本也会影响程序。因此,编写程序之前要确定编译器版本。
2.3 常见C/C++编译器
Borland C++ 宝蓝公司
Intel C++ 英特尔编译器
VC++ 微软公司
g++编译器(gcc是编译套件), Linux 默认使?的编译器. 对标准?持最好.
2.4 C语言的优缺点
优点:学习成本快、运行速度快,功能强
缺点:代码实现周其长,可移植性差、对经验要求高、对平台库依赖多
2.5 C语言的应用领域
* 服务器。
* 操作系统。
* 上层应?。 MFC、QT
* 嵌?式。
* ??智能、硬件驱动。
* 中间件。
* ?络攻防、数据安全。
* ?学必修课。
2.6 常见开发工具
- Windows操作系统
vs(visual studio)2013、2015、2017、2019、2022
Clion:跨平台IDE、跟Java的IDEA、python的pycharm是同一家公司的
Qt Creator 跨平台IDE
- MacOS(苹果电脑的操作系统)
Xcode Clion:跨平台IDE。 Qt Creator 跨平台IDE。
- Linux:
vi/vim —— ?本编辑器。 Clion:跨平台IDE。 Qt Creator 跨平台IDE。
备注:大多企业开发用vs会更多一些
三、第一个程序
3.1 环境搭建
打开微软的官方网站 https://visualstudio.microsoft.com/,下载 Visual Studio 安装包。
双击安装包进行安装
操作一:在“工作负荷”标签页中,选择“使用C++桌面开发选项即可”
操作二:“安装位置”中修改安装路径
路径要求:
- 不要有中文,不要有空格,不要有一些特殊符号
- 选择一个统一的文件夹进行管理
自动下载并安装,过程耗时较长,需要耐心等待
安装完成之后,弹出安装完毕的对话框,点击确定。
接下来VS希望你使用微软账号登录,要是没有注册一个,或者可以点击【暂时跳过】这个选项
根据提示选择一个自己喜欢的主题。
点击启动,到此整个环境搭建完毕。
3.2 第一个Helloworld
1.创建项目
点击【创建新项目】
2. 选择创建【控制台应用】点击下 一步
3.指定项目名称,确保位置下的项目存储目录存在。勾选【将解决方案和项目....】,点击【创建】
4.右侧的解决方案管理器可以安装自己的习惯放在左侧或者右侧
默认是右侧,各位小伙伴也可以拖到左侧来,每个人的习惯不同,没有固定标准
5.创建 helloworld.c ?件
右键选择源文件,选择添加,选择新建项
6.在弹出的编辑框中,选中【C++文件(.cpp)】将下方“源.cpp”手动改为要创建的文件名
如:helloWorld.c 。注意,默认 cpp 后缀名,要手动改为 .c 后缀名,然后点击 “添加”。
7. 编写第一个代码
#include <stdio.h>
int main(void)
{
printf("hello world!\n");
return 0;
}
8. 点击上方绿色空心三角运行即可
3.3 代码逐行分析
1. ‘#include' : 引?头?件专?关键字。
2. <> : ?来包裹 库头?件名
3. stdio.h : 使?的头?件。因为程序中使?了 printf() 函数。就必须使?该头?件。
>std:标准:standard
>i: input 输?。
>o: output 输出。
4. int :main 函数返回值为整型。
5. main: 整个程序的??函数。 任何.c 程序,有且只有?个 main 函数。
6. printf(); C语?向屏幕输出字符使?的函数。
7. printf(“helloworld\n”)
> printf();向屏幕输出一段内容
> helloworld: 待写出的字符串内容。
> \n: 回?换?。
8. return 0;
> return 返回。 C程序要求,main 函数要有返回值。借助 return 实现返回。
> 0:成功!因为 int ,返回整数。
注意事项
- 程序中使用的所有字符,全部都是“英文半角”字符
- 程序中,严格区分大小写
- “;” 代表??结束。不能使? 中? “;”,必须是英?。
3.4 代码执行流程分析
完成的C语言运行,分为以下4步,在VS中我们直接运行,其实是把中间的步骤给省略了
* 预处理(这一步后面单独讲解)
简单理解,就是先找到#include后面的 <stdio.h>这个文件
* 编译
把c文件编译成二进制文件后缀名为obj
* 连接/链接
把预处理找到的h文件,还有编译之后产生的obj文件打包在一起,产生exe文件
* 运行
运行exe文件
相关推荐
- TCP协议原理,有这一篇就够了
-
先亮出这篇文章的思维导图:TCP作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。在此,我将TCP核心的一些问题梳理了一下,希望能帮到各位。001.能不能说一说TC...
- Win10专业版无线网络老是掉线的问题
-
有一位电脑基地的用户,使用...
- 学习计算机网络需要掌握以下几方面基础知识
-
计算机基础知识操作系统:了解常见操作系统(如Windows、Linux)的基本操作和网络配置,例如如何设置IP地址、子网掩码、网关和DNS服务器等,以及如何通过命令行工具(如ping、tr...
- 网络工程师的圣经!世界级网工手绘268张图让TCP/IP直接通俗易懂
-
要把知识通俗地讲明白,真的不容易。——读者说TCP/IP从字面意义上讲,有人可能会认为TCP/IP是指TCP和IP两种协议。实际生活当中有时候也确实就是这两种协议。然而在很多情况下,它只是...
- 三分钟了解通信知识TCP与IP协议(含“通信技术”资料分享)
-
TCP/IPTCP/IP分层模型①应用层...
- 网闸与防火墙:网络安全设备的差异与应用
-
在网络安全领域,网闸(安全隔离网闸,GAP)和防火墙(Firewall)是两类重要的防护设备。尽管它们都服务于网络安全防护,但在设计理念、技术原理、安全效能及适用场景等方面存在显著差异,以下从五个维度...
- S7-300的TCP/IP通信
-
一、首先在项目中创建2个S7-300的站点;二、硬件组态中,设置合适的TCP/IP地址,在同一网段内;...
- 西门子S7-1500 PLC的 MODBUS TCP通信
-
MODBUSTCP使MODBUS_RTU协议运行于以太网,MODBUSTCP使用TCP/IP和以太网在站点间传送MODBUS报文,MODBUSTCP结合了以太网物理网络和网络标准TC...
- 系统规划与管理师新版备考必备:第7章考点思维导图解析
-
备考系统规划与管理师的小伙伴们,福利又来啦!今天为大家带来《系统规划与管理师(第2版)》第7章考点的思维导图,助你高效梳理重点,让备考更有方向!...
- TCP/IP、Http、Socket 有何区别与联系?
-
HTTP协议对应于应用层,Socket则是对TCP/IP协议的封装和应用(程序员层面上)。HTTP是应用层协议,主要解决如何包装数据。而我们平时说的最多的Socket是什么呢?实际上...
- 西门子PLC串口协议与以太网通信协议对比
-
西门子plc品牌众多,通信协议的类型就更多了,具体可分为串口协议和以太网通信协议两大类。...
- 网络编程懒人入门(十三):一泡尿的时间,快速搞懂TCP和UDP的区别
-
本文引用了作者Fundebug的“一文搞懂TCP与UDP的区别”一文的内容,感谢无私分享。1、引言...
- 程序员必备的学习笔记《TCP/IP详解(一)》
-
为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样...
- 一文读懂TCP/IP协议工作原理和工作流程
-
简述本文主要介绍TCP/IP协议工作原理和工作流程。含义TCP/IP协议,英文全称TransmissionControlProtocol/InternetProtocol,包含了一系列构成互联网...
- 如何在 Windows 10 和 Windows 11 上重置 TCP/IP 堆栈
-
传输控制协议/Internet协议,通常称为TCP/IP,是您的WindowsPC如何与Internet上的其他设备进行通信的关键部分。但是当事情出错时会发生什么?你如何解决它?幸运的...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
推荐7个模板代码和其他游戏源码下载的网址
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)