【C语言入门】C语言的历史 与 编程环境的安装选择与搭建

news2024/11/15 5:54:21

C语言入门

  • 前言
  • C语言的概念与历史
  • 一、什么是C语言?
  • 二、 C语言的历史与辉煌
  • 环境的选择
  • 三、编译器的选择 VS2022
    • (一)编译和链接
    • (二)编译器的对比
    • (三)VS2022 的优缺点
    • (四)VS项目和源文件、头文件介绍



前言

C语言的概念与历史

一、什么是C语言?

  • C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

  • 尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

  • 二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 [1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

  • C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

  • 其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。


二、 C语言的历史与辉煌

C 语⾔最初是作为 Unix 系统的开发⼯具⽽发明的。
在这里插入图片描述


环境的选择

三、编译器的选择 VS2022

(一)编译和链接

C语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编译器翻译和链接器的链接,⽣成⼆进制的可执⾏⽂件,可执⾏⽂件才能执⾏。

C语⾔代码是放在.c为后缀的⽂件中的,要得到最终运⾏可执⾏程序,中间要经过编译链接2个过程。

在这里插入图片描述
在这里插入图片描述


⼀个⼯程⼀般都会有多个源⽂件组成,如下图所⽰,演⽰了源程序经过编译器和链接器处理的过程。

★☆★
在这里插入图片描述

  1. 每个源⽂件(.c) 单独经过 编译器 处理⽣成对应的 ⽬标⽂件 (.obj为后缀的⽂件)
  2. 多个⽬标⽂件和库⽂件经过链接器处理⽣成对应的可执⾏程序(.exe⽂件)

这就是,在Windows电脑上C语⾔程序⽣成的 exe可执⾏⽂件

在这里插入图片描述


(二)编译器的对比

C语⾔是⼀⻔编译型的计算机语⾔,需要依赖编译器将计算机语⾔转换成机器能够执⾏的机器指令。

那我们常⻅的C语⾔编译器都有哪些呢?

⽐如:msvc、clang、gcc 就是⼀些常⻅的编译器,当然也有⼀些集成开发环境如:VS2022、XCode、CodeBlocks、DevC++、Clion等。


集成开发环境(IDE) ⽤于 提供程序开发环境应⽤程序,⼀般包括代码编辑器编译器调试器和 图形用户界⾯ 等⼯具。 集成代码编写功能、分析功能、编译功能、调试功能等⼀体化的开发软件服务套
在这里插入图片描述

  • VS2022 集成了MSVC(安装报包较⼤⼀些,安装简单,⽆需多余配置,使⽤起来⾮常⽅便)
  • XCode 集成了clang(苹果电脑上的开发⼯具)
  • CodeBlocks 集成了gcc(这个⼯具⽐较⼩众,需要配置环境,不太推荐)
  • DevC++ 集成了gcc(⼩巧,但是⼯具过于简单,对于代码⻛格的养成不好,⼀些竞赛使⽤)
  • Clion 是默认使⽤CMake,编译器是可以配置的(⼯具是收费,所以暂时推荐⼤家使⽤)

整体考虑,推荐⼤家安装 VS2022社区版本 学习,免费,使⽤⽅便,⼯作中常⻅。

VS2022的安装教程



(三)VS2022 的优缺点

优点

  • VS2022 是⼀个主流的集成开发环境,企业中使⽤较为普遍
  • VS2022 包含了:编辑器+编译器+调试器,功能强⼤
  • 直接安装即可使⽤,基本不⽤额外配置环境,上⼿容易
  • 默认界⾯是中⽂的,初学者友好

缺点

  • 功能丰富,安装包⼤,占⽤空间多。


(四)VS项目和源文件、头文件介绍

在VS上写代码,我们是需要创建项⽬的,直接新建项⽬就可以了。

在项⽬中就可以添加 源文件头文件

C语⾔把 .c 为后缀的文件称为源文件,把 .h 为后缀的文件称为头文件
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1114140.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决 阿里云oss 对象存储 bucket 中的文件不能在线预览 只能下载

我的域名是在腾讯云的,所以点开腾讯云的域名解析后台。 点击添加记录; 记录类型选 CNAME;主机记录 随便写;解析线路 默认; 记录值 填你的bucketname 就是你存储文件的bucket的名字 然后 . 域名所在区域 北京就是oss-c…

SqueezeNet 一维,二维网络复现 pytorch 小白易懂版

SqueezeNet 时隔一年我又开始复现神经网络的经典模型,这次主要复的是轻量级网络全家桶,轻量级神经网络旨在使用更小的参数量,无限的接近大模型的准确率,降低处理时间和运算量,这次要复现的是轻量级网络的非常经典的一…

WebSocket 入门案例

目录 WebSocket入门案例WebSocket-server新增项目:添加依赖:yml:启动类: frontend-server前端项目:添加依赖:添加yml:启动类:前端引入JS:前端页面:后端代码:测试: WebSocket 入门案…

众和策略:地产板块发力走高,荣盛发展涨停,碧桂园等大幅拉升

地产板块20日盘中发力走高,到发稿,金科股份、荣盛展开涨停,中南建造、富丽家族涨超7%,华夏夸姣涨逾6%。 港服方面,内资地产股亦走强,到发稿,珠光控股涨超20%,碧桂园涨近10%&#xf…

PBA.常用人工智能预测分析算法

相同的数据型态,利用不同的方法分析,就可以解决不同的课题。例如目前已相当纯熟的人脸识别技术,在国防应用可以进行安保工作;企业可做员工门禁系统;可结合性别、年龄辨识让卖场进行市调分析,或结合追踪技术…

聚焦于先进电池技术等领域的前沿研究和应用,龙讯旷腾出席中国化学会第二届能源化学青年论坛

成都站电催化培训 2023年龙讯团队线下培训已走过北京、西安等城市,前几期均以定向邀请非公开的形式培训,应大家的积极号召,本期电催化成都站的培训我们将以公开招募的形式举办,并且保留前几期的优惠(前30位免费&#…

html网页代码块高亮加行号

程序示例精选 html网页代码块高亮加行号 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《html网页代码块高亮加行号》编写代码,代码整洁,规则,易读。 学习…

shopee平台现在好做吗

Shopee 是一家知名的电子商务平台,特别在东南亚地区非常流行。是否在 Shopee 平台做生意是否好做取决于多种因素,包括你的产品、市场竞争、营销策略和运营能力等。 以下是一些考虑因素: 1、产品选择:选择畅销的产品或具有市场需求…

需要在 MySQL 服务器中监控的重要指标

MySQL是一个开源的关系数据库管理系统,它基于客户端-服务器模型运行,使用SQL作为其通信模式。它具有灵活性和可扩展性、高安全性、易用性以及无缝处理大型数据集的能力,由于其广泛的功能,MySQL 被用作数据库管理系统的一部分。 什…

初识Java 14-2 测试

目录 测试驱动开发(TDD) 日志 调试 使用JDB进行调试 基准测试 微基准测试 Java微基准测试工具(JMH) 分析和优化 重构 本笔记参考自: 《On Java 中文版》 测试驱动开发(TDD) 测试驱动开…

高博学子参加第二届火焰杯软件测试高校就业选拔赛喜获佳绩

近日,高博软件学院软件工程教研室组织指导全院近80名学生参加第二届火焰杯软件测试高校就业选拔赛。经过初赛、决赛,共有13名同学获优秀奖。获奖名单如下:(排名不分先名):滕美妙、陈虹霖、陆春媚、陈媛、周…

厚壁菌门/拟杆菌门——肠道菌群的阴阳面,代表什么

在研究肠道菌群或复杂微生物样本构成时,“门"(Phylum)是细菌分类的高级分类单位之一。 细菌分类依次为门纲目科属种亚种,最大的分类层面是门,以前写过人群肠道菌群构成主要是以拟杆菌门和厚壁菌门为主&#xff0c…

基于YOLOv5[n/s/m/l/x]全系列参数模型开发构建小麦麦穗颗粒智能化精准检测识别计数系统

小麦麦穗颗粒或者是其他农作物颗粒计数本身是一件很繁琐枯燥的事情,这种事情交给程序来做是最好不过的了,最近正好在做课题项目,导师给的题目就是跟农业相关的,这里想的就是基于目标检测模型来开发构建一套智能化的精准检测计数系…

影像科室图像存储与传输系统源码 智能化影像报告系统源码

影像科室信息管理系统源码 RIS/PACS系统源码 PACS三维影像处理系统源码 影像科室信息管理系统,它包括RIS系统、PACS工作站和PACS服务器系统。提供强大的结构和智能化的影像报告系统、支持各种图象操作,以及实现图像的路由、预取、多级多层次存储。 系统特…

Selenium实战教程----Selenium中的动作

Selenium中针对元素进行的动作在代码中可以分为两类: Selenium::WebDriver::ActionBuilder类中的动作方法Selenium::WebDriver::Element类中的动作方法 其中ActionBuilder类中的动作方法比较丰富,基本涵盖了所有可以进行的操作。 而Element类的动作比较…

ERR_PNPM_JSON_PARSE Unexpected end of JSON input while parsing empty string in

终端报错:  ERR_PNPM_JSON_PARSE  Unexpected end of JSON input while parsing empty string in   报错原因:依赖没有删除干净  解决办法:  ①删除node_modules  ②在package.json的dependencies删除不需要依赖  ③重新pnpm i

干货 | 锁向环到底是什么?是怎么进行倍频的?

你们有没有这样一个疑问,就是CPU的主频怎么做到几个GHz呢? 每一秒要给处理器几亿个脉冲,就拿11代I7处理器来说,它的基本频率就可达2.5GHz,但在我们常规的认知中,频率的大小取决于晶振的频率,比…

速成offer收割机,接口自动化测试面试题,精准打击面试...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、我们测试的接口…

虚拟机灾备建设中NFS存储直接访问技术应用

NFS(Network File System)是一种网络文件系统,允许不同计算机之间共享文件和目录。在Linux系统中,可以使用NFS协议来访问网络存储。 当新服务器硬盘不足时,旧的服务器硬盘容量大,不拔硬盘的情况下&#xf…

5VUSB输入双节磷酸铁锂电池串联应用升压充电管理IC-YB5081

5VUSB输入双节磷酸铁锂电池串联应用升压充电管理IC 概要: YB5081是一款5V输入,支持双节磷酸铁锂电池的升压充电管理IC.YB5081集成功率Mos,采用异步开关架构。使其在应用时仅需极少的外圈器件,可有效减少整体方案尺寸,降低BOM成本…