C语言是什么

第1讲: C语言常见概念 在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号。在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号。在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号。C语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编译。库,这些函数也被称为库函数。我们知道在计算机中所有的数据都是以⼆进制的形式存储的,那这些字符在内存中分别以什么样的⼆。 阅读详情

C语言是什么

在这里插入图片描述

文章目录

  1. 什么是C语言

C语言是一门计算机语言,是人与计算机进行交流的一种语言。通过计算机语言编写程序,下达指令给计算机,就可以让计算机工作。目前已经有上千种计算机语言,C语⾔只是众多计算机语言中的一种。

  1. C语言的发展史

从计算机语言诞生以来,总体可分为三个阶段:1.机器语言 2.汇编语言 3.高级语言。如下图所示。
在这里插入图片描述

2.1 机器语言

最早的时候,人们是用机器语言与计算机进行交流的。所谓的机器语言就是二进制指令,也就0和1组成的序列。
  用二进制指令实现一个功能是非常复杂的代码,可想而知的难。因为编写代码的人将面对的是密密麻麻的0和1组成的序列,且还得记得每个功能对应的二进制序列,但凡出错一次,再想回过头去查找,是十分繁琐困难的。所以在当时只有专门研究计算机的科学家,才能有效的编写代码。
  由于机器语言更接近电计算机层逻辑,所以它是一门低级语言。缺点:指极其繁琐、可读性差、出错率高、调试困难、且可移植性差、重用性差。优点:执行效率比较快。

2.2 汇编语言

随着计算机语言的出现和普及,很多人在应用中都觉得,使用二进制指令编写代码太过于复杂,而且费时费力。所以在这样的背景下,汇编语言应运而生。
  汇编语言,就是将具有相应功能的二进制序列,用一个方便记忆的符号代替,这样的符号被称为:助记符。举个例子:就譬如用标识符“ADD”代替数字逻辑上的加减的二进制序列,“MOV”代替数据传递等功能的二进制序列。汇编语言就是用助记符、符号地址等组成的符号指令的集合,所以其亦称符号语言。
  值得注意,计算机在阅读汇编代码时可不认识这些助记符呀,它并不知道这些符号所对应的功能。这时就需要有一个专门的编译器给计算机翻译这些符号,即:把助记符转化成计算机能够识别的二进制指令。而这种把汇编语言翻译成机器语言的过程被称为汇编。
  汇编语言只是在机器语言的基础上做了简单的文本替换,仍然没有在根本上改变机器语言的特性,所以汇编语言仍然是一门低级语言。虽然推广和移植性差,但还是保持了机器语言的优秀执行效率,又因其可阅读性和便捷性,汇编语言到现在仍然是常用的编程语言之一。

2.3 高级语言

高级语言就是更接近人类思维逻辑的编程语言,更便于人类理解。而高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如:Java,C,C++,C#,Python等。值得注意:C语言可不是由汇编语言直接发展而来的,其是在B语言的基础上开发出来的。
在这里插入图片描述

2.4 C语言的国际标准

C语言在刚被发明出来的时候,大家都觉得很新鲜,用起来也方便,所以很快就推广到全世界。但用了一段时间后,所有人都觉得C语言还是差那么点意思,并不完美。每个人在C语言上都有想要完善和新增的东西,每个人都对C语言修修改改,那么这时每个人手里的C语言都被改的不一样了。这就导致,自己编的程序只能在其自己的编译器上编译,无法相互传递使用。
  所以美国国家标准协会(ANSI)在1990年颁布了C语言的国际标准,即:ANSI C。正因为有了这样的标准来规定,C语言才能形成现在的国际化、普遍的发展。现在用的最多的还是C89和C90这两标准。

  1. 底层和上层的区别

本质上计算机只是硬件设备,是没法自己独立工作。只有在其上安装操作系统,让操作系统调用驱动,驱动再驱动计算机硬件,才能完成工作。大家熟知操作系统有:Windows、MacOS、Linux等。而像QQ、浏览器、抖音、英雄联盟,这些都是应用软件,是建立在操作系统之上的。
  都说C语言是一门底层开发语言,那所谓的底层到底是指什么?以操作系统为界限,操作系统以及之下的部分就是底层,操作系统之上安装的应用被就是上层。如下图所示。
在这里插入图片描述

  1. 编译器

4.1 编译和链接

C语言是一门编译型计算机语言,大家编写的C源代码其实是文本,计算机是无法识别并执行的。源代码必须经过编译和链接两个过程,最终生成可执行程序,计算机才能执行。如下图所示。
  编译过程:把所有C源文件(.c)都经过编译器的翻译操作,最后生产目标文件(.obj)。
  链接过程:把所有目标文件和链接库经过链接器处理,最终生成可执行文件(.exe)。
在这里插入图片描述

4.2 集成开发环境

由于C语言是一门编译型计算机语言,需要依赖编译器将源代码转化成机器能够执行的二进制序列。所以编译器的选择尤为重要,常见的编译器:msvc、clang、gcc、VS、XCode、DevC++等。其中我使用的是VS编译器,是集成开发环境编译器。
  集成开发环境(IDE),是一种集成了编辑、编译、链接、调试功能等一体的程序开发环境。使得开发人员在同一个界面上就可以进行代码的编辑、编译、调试等操作,减少了很多不必要的操作,从而提高了代码的开发效率。

  1. 标准库函数

为了不再重复实现常见的代码,让程序员提高开发的效率,C语言标准规定了一些函数,这些函数就被称为标准库函数。就譬如:printf(标准输出函数)、scanf(标准输入函数)、strlen(计算字符串长度函数)等等。
  值得注意,C语言标准并没有规定函数怎么实现,而只是规定函数名、参数、返回类型、功能,库函数由不同编译器厂商根据便准进行实现。一个系列的库函数一般会声明在同一个头文件中,所有库函数的使用是需要包含头文件的。

  1. C语言支持的三种结构

C语言是结构化的程序设计语言,C语言支持3种结构:顺序结构、选择结构、循环结构,如下图所示。大家会发现生活中的所有事情都可以拆分成顺序、选择、循环或三种结构的组合,换个角度说,只要有这三种结构,就可以描述生活中的所有事情。这是站在多高角度上的抽象化理解,才能从生活中总结出这三种结构,只能说恐怖如斯。
在这里插入图片描述
  在C语言中,这3种结构由9种控制语句来表示:

  1. 条件判断语句(分支语句):if语句、switch语句。
  2. 循环执行语句:for语句、while语句、do while语句。
  3. 转向语句:break语句、goto语句、continue语句、return语句。

在这里插入图片描述
这份博客👍如果对你有帮助,给博主一个免费的点赞以示鼓励欢迎各位🔎点赞👍评论收藏⭐️,谢谢!!!
如果有什么疑问或不同的见解,欢迎评论区留言欧👀。

学习资源

如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你

**读者福利 |** 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 **(安全链接,放心点击)**![](https://i-blog.csdnimg.cn/img_convert/a6502ab41b1a86132b9ebb5aab9a2cdc.jpeg)

知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。

1、知识库价值

深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

2、 部分核心内容展示

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

在这里插入图片描述

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

img

2、Linux操作系统

img

3、WEB架构基础与HTTP协议

img

4、Web渗透测试

img

5、渗透测试案例分享

img

6、渗透测试实战技巧

图片

7、攻防对战实战

图片

8、CTF之MISC实战讲解

图片

3、适合学习的人群

‌一、基础适配人群‌

  1. ‌零基础转型者‌:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌;
  2. ‌开发/运维人员‌:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展‌或者转行就业;
  3. ‌应届毕业生‌:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期‌;

‌二、能力提升适配‌

1、‌技术爱好者‌:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传优快云,朋友们如果需要可以在下方优快云官方认证二维码免费领取【保证100%免费】

从业者**‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传优快云,朋友们如果需要可以在下方优快云官方认证二维码免费领取【保证100%免费】

img

第一讲,c语言基础 1. C语言是一种(还有C++、python、java等),用于人与计算机进行交流。2. C语言是一种,必须通过编译器编译和链接器链接,生成二进制的可执行文件。3. 简单理解:人们通过计算机语言在特定的编译器写程序,由编译器转化成计算机可识别的二进制文件,给计算机下达指令,让计算机工作。 阅读详情

相关推荐

C语言编译器为什么能够用C语言编写?

不知道大家有没有想过一个问题:C语言编译器为什么能够用C语言编写? 今天小编就带大家一探究竟! 所谓C语言编译器,就是把编程得到的文件,比如.c,.h的文件,进行读取,并对内容进行分析,按照C语言的规则,将其转换成cpu可以执行的二进制文件。 其本质在于对文件的读入,分析,及处理。这些操作,C语言都是可以实现的。 所以用C语言来做C语言的编译器是完全可行的。 但是,历史上的第一...

wyh15895833492的博客 2359

c语言中?:的用法

点击上方蓝字关注我,了解更多咨询?:是C语言中的三目运算符,可以用来替代 if—else 语句。?:的使用方法为:<表达式1>?<表达式2>:<表达式3>它是对第一个表达式作真/假检测,然后根据结果返回另外两个表达式中的一个。在运算中,首先对第一个表达式进行检验,如果为真,则返回表达式2的值;如果为假,则返回表达式3的值。例如,如下所示...

轻松学C语言 6万+

怎样学习C语言——快速上手C语言系列之—认识C语言

还不会C语言吗?C语言系列它来了!!! 怎样学习C语言——快速上手C语言系列之—认识C语言

qq_44687460的博客 1330

C/C++编程笔记:指针篇!从内存理解指针,让你完全搞懂指针

C语言最核心的知识就是指针,所以,这一篇的文章主题是「指针与内存模型」!说到指针,就不可能脱离开内存,学会指针的人分为两种,一种是不了解内存模型,另外一种则是了解。 不了解的对指针的理解就停留在“指针就是变量的地址”这句话,会比较害怕使用指针,特别是各种高级操作。而了解内存模型的则可以把指针用得炉火纯青,各种 byte 随意操作,让人直呼 666。 注:这篇文章好好看完一定会让你掌握好指针的本质! 一、内存本质 编程的本质其实就是操控数据,数据存放在内存中。 因此,如果能更好地理解内存的模型,

致力于C语言C++知识分享! 2万+

[ 爱找茬 ]都是C语言,单片机C语言和普通的C语言究竟有什么差异呢?

许多小伙伴在学完C语言后想入门单片机,但学着学着发现明明都是C语言,为什么单片机C语言和我当初学的C语言有差异呢?今天小编就来梳理我们平时所学的C语言与单片机C语言的有什么样的不同。 C语言: C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。 尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,.

Hsuesh的博客 1426

C语言入门—初识C语言

一、C语言概述 1、什么是C语言 语言是用来交流沟通的,有一方说,有一方听。必须要两方参与。(自言自语的除外) 语言是人与人交流,而C语言是人与机器交流 语言有独特的语法规则和定义,双方必须遵循这些规则和定义才能实现真正的交流。 接下来首先了解下计算机的组成: 2、计算机介绍 2.1、计算机结构组成 2.2、计算机系统组成 2.3、程序的指令 指令是对计算机进行程序控制的最小单元 计算机的指令系统是指所有指令的集合 程序是指为完成某一项特定任务而用某种言语编写的一组指令序列 3、C语言发展历程 3.

jun319817的博客 1034

C 语言程序设计基础——认识 C 语言

C 语言是1972年由美国贝尔实验室的Dennis Rithie(丹尼斯·里奇)和Brain Kernighan(布莱恩·克尼汉) 等人开发的。C 语言经过不断改进,逐步完善。一直到1978年,Dennis Rithie和Brain Kernighan合著了影响深远的名著,(布莱恩·克尼汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)两人简称K&R。) 这本书被 C语言开发者们称为K&R,很多年来被当作 C 语言的非正式的标准说明。

2401_87199769的博客 3101

【C语言】条件运算符详解 - 《 A ? B : C 》

条件运算符(也称为三元运算符)是C语言中唯一的三元运算符。它通常用于替代简单的 if-else 语句。条件运算符的语法如下:

LuckiBit 4733

c是面向什么的语言,c语言是什么语言

C语言源自2113Ken Thompson发明的B语言,而5261 B语言则源自BCPL语言。41021967年,剑桥大学1653的Martin Richards对CPL语言进行了版简化,权于是产生了BCPL(Basic Combined Programming Language)语言。1972年,美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一种新的语言,他取了BCPL的...

weixin_34996214的博客 4524

【C语言】初识C语言(上篇)

初识C语言第一部分

StackFrame 4009

linux 驱动 - pinctrl子系统

分析总结 pinctrl 子系统框架结构,平台 mtk6771 内核版本 kernel-4.4 , 本文所有的分析均基于此版本。

sty01z的博客 1557

C语言入门 ——初识C语言

C语言0基础入门

2401_85050538的博客 1943

路径规划:D*Lite寻路算法详解

D*Lite详解目录

mkr67n的博客 2万+

【C语言】C 语言为什么叫 C 语言呢?

其实是因为先有高级语言ALGOL 60,简称 A 语言,后来经过简化,变为 BCPL 语言,简称 B 语言,而 C 语言是在 B 语言的基础之上发展而来的,所以就称为 C 语言。所以世界上第一个 C 语言的编译器是用 B语言编写的。目前主流的编译器是微软的(Microsoft Visual Studio 使用的),还有就是Linux 使用的。

m0_46566336的博客 2103

【搭建实战】全国天气预报看板搭建

不仅如此,码匠还一站式提供了企业内部系统常用的租户管理、细粒度的权限控制、审计日志等功能,让您快速搭建后台应用的同时,也为您的企业信息安全保驾护航。是一款国内研发的开发者友好的低代码平台,您无需了解React/Vue等框架的开发、部署等各种细节,就可以快速打通前后端,连接RESTAPI、MySQL、MongoDB等多种数据源,然后通过一套开箱即用的组件,轻松搭建功能完善的数据看板、数据洞察、Admin管理后台等多种应用。天气预报对我们的各项活动有很大的帮助,可以让我们合理安排自己的出行等活动。...

weixin_39545889的博客 428

通过HTTP的方式克隆GitHub上的项目

通过HTTP的方式克隆GitHub上的项目 打开想要下载的项目的网页链接,点击Clone or download绿色的按钮,进行如下步骤实现通过HTP的方式下载项目。 点击红色框圈出的位置: 打开想要存放项目的文件夹,在空白处点击鼠标右键,选择Git Bash Here,打开命令行。 输入git clone 复制的下载地址,回车进行下载。 4.正在下载的界面 5.下载完成。 技多不压身 哦耶✌✌✌ ...

weixin_37826412的博客 3202

【C语言】什么是C语言

C语言是计算机特有的一种语言,就像人类的自然语言:中文、英文等。我们通过计算机语言给计算机下达指令,让计算机工作。

m0_73857315的博客 1024

[VT虚拟化驱动]正式启动VT

文章目录前言一、vmlaunch正式开始虚拟化二、使用步骤1.引入库2.读入数据总结 前言 本章开始真正实现一个最简单的VT框架,当然,只是能跑起来一个VT驱动了,没有并包括EPT,EPT后面再讲 提示:以下是本篇文章正文内容,下面案例可供参考 一、vmlaunch正式开始虚拟化 执行VMLAUNCH指令执行后,就正式进入虚拟化了,再该指令执行之前,得先保存Guest当前的环境,执行完VMLAUNCH后,要恢复Guest的环境,让Guest就像什么都没发生一样,所以需要保存和恢复Guest的各种寄存器的值

吾无法无天的博客 3661

什么是C语言,对C语言的基本认识,C语言开始。

C语言的一些最基础的知识

溟洵的博客 1861

【Unity】【Photon】Photon Fusion2 的核心Unity组件 NetworkRunner 学习笔记

本文是学习Photon Fusion2 的核心Unity组件 NetworkRunner的学习笔记。

O青草O的博客 Unity和游戏制作知识分享 1271

基于POD和神经网络的多工况温度场重构反演系统

本文提出了一种基于本征正交分解(POD)和神经网络的多工况温度场重构反演系统。该系统通过POD方法从多工况温度场数据中提取主要特征模态,构建神经网络模型建立工况参数与POD模态系数的映射关系,实现温度场的快速重构。系统采用Python实现,包含数据预处理、POD分解、神经网络训练和温度场重构等模块。实验结果表明,该方法能够有效降低计算复杂度,实现高精度的温度场预测。

huanghm88的专栏 275

C 语言到底为什么叫C 语言?

Dennis Ritchie 在贝尔实验室对 B 语言进行了重大改进,增加了数据类型、结构化编程支持等功能,形成了新的语言。由于它是 B 语言的继任者,按照字母顺序,自然被命名为“C”。的编程语言,它是由 Ken Thompson 在 1969 年开发的,主要用于早期 Unix 操作系统的开发。C 语言之所以叫“C 语言”,这是由。在 C 语言之前,有一种名为。

长风破浪会有时的博客 1241

【MATLAB-app】系列教程(含视频)第4、5、6课:实战_制作简单的图像处理软件

写作时间: 2020-12-27 我的教程目录 第1课:初步了解appdesigner 第2课:学会制作一个计算器 第3课:学习更多的控件(重点!) 第4课:实例1:制作一个图像处理软件 第5课:学习APPdesigner的设计精髓,框架 第6课:结合使用多种控件,函数等,丰富我们的实例1 第7课:app设计打包,完成工程应用导出 标题: 第4课:我的实例_学会制作一个图像处理软件 本文目录: 1.先看看我之前的一个工程 2.常用的基本组件控件 3.最常用且实用的控件的用法 -3.1 editfilel

wind 4054

【C语言初阶笔记】初识c语言

1.什么是c语言 C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件。 (1) 语言组成 数据类型 C的数据类型包括:整型(short、int、lon

ljp 3629

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

C语言的起源:认识C语言

C语言诞生于1972年贝尔实验室美,由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯尼斯·蓝·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来也就是说,C语言其实是B语言的Puls版本,C语言仍借用了B语言的一些特性,后续经过不断的完善和发展,最终形成了现在的C语言。至于B语言,在此不做赘述(右为丹..)(图片来源于百度)为什么选择C语言?从C语言出现至今,C语言已经成为最重要、最流行的编程语言。它的成长归功于使用过他的人都很满意。

YonIE_Wang的博客 1424

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C语言-C语言概述

详解C语言发展史、C语言特点、C语言标准、编程机制

mooczhimahu的博客 1255

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

上一篇: web安全入门基础知识,网络安全零基础入门到精通,收藏这篇就够了
下一篇: 8种编程语言对比,究竟谁更好用
披荆斩棘的GG
博客等级 码龄4年 1万+粉丝 2960原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值