0基础认识C语言(理论知识)

为了给0基础一个舒服的学习路径,就有了这个专栏希望带大家一起进步。

话不多说,开始正题。


一、C语言的一段小历史

C语言的设计要追溯到20世纪60年代末和70年代初,在那个时代美国有这么一号人叫做丹尼斯.里奇,他和同事肯.汤普逊合作开发了UNIX操作系统

PS:这里给大家普及一下目前有许多种操作系统,企业常见的为Unix系统和Linux系统,个人一般用Windows系统和MacOs系统

随后C语言逐渐取代了B语言,成为UNIX系统的主要编程语言。

之后为了统一标准,美国国家标准协会(ANSI)成立了一个委员会,发布了第一个C语言标准,之后国际标准化组织(ISO)也发布了标准,几乎是一样的。

到目前为止,C语言依然被广泛的运用,排名也保持在前五。

由此可见,C语言是极其重要的~

二、C语言的一些理论知识

1.编译和链接

C语言是一门编译型语言,C语言源代码是文本文件,本身无法执行,需要生成二进制可执行的文件才能执行,那么怎么变成二进制文件呢?

这个时候 .c 为后缀的文件就要提到编译和链接了,一般 .c 经过编译器编译成 .obj为后缀的目标文件(windows环境下),之后多个目标文件和链接库中的库文件在通过链接器变成可执行程序 .exe为后缀的文件。

2. 编译器的使用

新手来说VS2022是不错的选择,格式很好,比VS Code安装简单,比dev c++格式好,新手养成自己的代码风格的话VS是值得推荐的

VS唯一不足的是占用内存较大,大家自行选择~

三、C语言0基础入门小知识

1.main函数

一般在一个工程里,可能有多个 .c 文件,但是main函数只有一个,它是主函数,也是程序的入口,程序的指向从main函数第一行开始执行。

2.C语言的常见关键字

1.  auto  break  case  char  const  continue  defauult  do  double  else  enum  extern

2.  float  for  goto  if  int  long  register  return  short  signed  sizeof  static

3.  struct  switch  typedef  unino  unsigned  void  volatile  while  

PS:这些关键字不用背!!!不用背!!!因为以后大家都会见到,见一个学一个,效果更佳,贪多嚼不烂~

3.ASCII 编码

PS:不需要背诵!!! 

我们只要记住 :

                        a从97开始

                        A从65开始

                        数字 0~9是 48~57

                        \n 是10 (\n 的意思是换行)

                        0~31为不可打印字符 

4.字符&字符串

单独一个为字符,比如 'a'  '1'  ......(%c)

多个字符一起组成字符串  'achhsd' ......(%s)

这个时候大家要注意字符串的末尾放着1个 \0 ,此时这个  \0  是字符串结束的标志,举个例子:

char arr1[ ] = "abc";

此时arr1为:arr1[0] = 'a'    arr1[1] = 'b'   arr1[2] = 'c'    arr[3] = \0

PS:怕新手不理解,给大家解释一下,这个 arr1[ ] 是从0开始的,char类型是存放字符的,所以上面都是一个一个拆下来的

5.转义字符

\n                 换行

\0                 字符串结束的标志

\\                  避免打印不出 \ 因为 \ 会和其它一些字母形成新的意义,这个时候在 \ 前再加一                      个 \ 就可以让计算机认为我们只输出一个 \

\'                  同理,在 ' 前加一个 \ 就可以输出一个 '

\''                 同理,在 ' 前加一个 \ 就可以输出一个 '

\b                回退字符

\a                报警字符

\t                 水平制表符(这里就是让输入的一些数据始终  包含自己所占的空格和下一个数                     据前的空格之间始终保持在4 / 8个空格)

\v                垂直制表符

\ddd            表示 1~3 个八进制的数字

\xdd            表示 2 个十六进制的数字


这就是以上的内容了,大家需要自己下来多练习,至于安装VS的教程,b站上能找到,希望大家有所收获~

当你决定灿烂,山无拦,海无遮

下面这张图是从图书馆出来记录下的场景~

虽然现在很菜,但是坚持下去,只要进步,就会让人快乐

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学习编程对英语要求高吗?

学习编程并不一定需要高深的英语水平。我这里有一套编程入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习编程,不妨点个关注,给个评论222,私信22,我在后台发给你。 虽然一些编程资源和文档可能…

cesium开发实例分享

反正 cesium 看到的效果几乎都有

大字体学生出勤记录系统网页HTML源码

源码介绍 上课需要一个个点名记录出勤情况,就借助AI制作了一个网页版学生出勤记录系统, 大字体显示学生姓名和照片,让坐在最后排学生也能看清楚,显示姓名同时会语音播报姓名, 操作很简单,先导入学生姓名…

AI智能体|扣子Coze文生图功能接入微信公众号

大家好,我是无界生长。 AI智能体|扣子Coze文生图功能接入微信公众号本文分享了如何将Coze平台的文生图功能接入微信公众号的详细操作流程,包括创建图像流、创建并配置Bot、设置提示词和开场白、调试、发布等步骤。如果看完还没学会的话&…

云主机选购指南:如何选择适合自己的云主机

一、认识移动云 移动云是中国移动提供的专业云服务品牌,基于移动云计算技术构建。它实现了云网一体化,确保客户享有安全可控的服务。通过充分利用移动云计算能力,打造了N31X资源布局,结合各省级数据中心,通过专线互联…

基于OrangePi AIpro的后端服务器构建

一. OrangePi AIpro简介 1.1 OrangePi AIpro外观 1.2 OrangePi AIpro配置 OrangePi AIpro(8T)采用昇腾AI技术路线,具体为4核64位处理器AI处理器,集成图形处理器,支持8TOPS AI算力,拥有8GB/16GB LPDDR4X,可以外接32GB…

VS Code开发Python配置和使用教程

在Visual Studio Code (VSCode) 中配置和使用Python进行开发是一个相对直接的过程,下面是一份简明的指南,帮助你从零开始设置环境: 1. 安装Visual Studio Code 首先,确保你已经安装了Visual Studio Code。如果还没有安装&#x…

图生文模型llava

llava-llama-3-8b-v1_1 是一个 LLaVA 模型,由 XTuner 使用 ShareGPT4V-PT 和 InternVL-SFT 从 meta-llama/Meta-Llama-3-8B-Instruct 和 CLIP-ViT-Large-patch14-336 进行微调。 https://huggingface.co/xtuner/llava-llama-3-8b-v1_1-gguf

AURIX TC3xx单片机介绍-启动过程介绍1

从各个域控制器硬件解决方案来看,MPU可能来自多个供应商,有瑞萨,有NXP等,但对于MCU来说,基本都采用英飞凌TC3xx。 今天我们就来看一下TC3xx的启动过程,主要包含如下内容: uC上电过程中,会经过一个上电时序,从复位状态“脱离”出来;Boot Firmware是复位后第一个执行的…

设置 border 边框单侧样式 - HarmonyOSNext

设置 border 边框单侧样式,通过 api 中查看 border(value: BorderOptions): T; BorderOptions 又包含了若干个子属性 1.width?: EdgeWidths | Length; 2.color?: EdgeColors | ResourceColor; 3.radius?: BorderRadiuses | Length; 4.style?: EdgeStyles | BorderStyle; 其…

【Docker】docker-compose 常用命令

启动服务: docker-compose up 如果你想在后台运行服务,可以添加 -d 标志: docker-compose up -d 开启所有服务 docker-compose start 停止服务: docker-compose down 查看服务状态: docker-compose ps 查看…

React(4): 使用 unocss + react-ts + vite 开发

React(4): 使用 unocss react ts 开发 之前一直使用 css-module 开发页面,觉得太过繁琐,看到 unocss , 眼前一亮,觉得可以拿来快速开发页面(偷懒) vite官网 unocss tailwindcss 说明 该方法需要对 tailwindcss 有一…

ROS学习笔记(16):夹缝循迹

0.前言 在笔记的第15期对巡墙驾驶的原理进行了简单讲解,而这期我们来讲一下夹缝循迹,也常被叫follow the gap,也更新一些概念。 1.探索式路径规划与避障 1.概念 无预先建图的路径规划叫探索式路径规划,例如巡墙循迹和夹缝循迹&…

操作系统 - 文件管理

文件管理 考纲内容 文件 文件的基本概念;文件元数据和索引节点(inode) 文件的操作:建立,删除,打开,关闭,读,写 文件的保护;文件的逻辑结构;文件的物理结构目录 目录的基…

ubuntu_概念

su(switch user) wget(Web Get) cd(change directory) dpkg(Debian Packager)为 “Debian” 专门开发的套件管理系统,方便软件的安装、更新及移除。 chmod(Change Mode)用于改变文件或目录的权限 ps(Process Status)进程状态 grep(Global Regular Expression Print)…

Linux shell编程学习笔记50:who命令

0 前言 2024年的网络安全检查又开始了,对于使用基于Linux的国产电脑,我们可以编写一个脚本来收集系统的有关信息。比如,我们可以使用who命令来收集当前已登陆系统的用户信息,当前运行级别等信息。 1. who命令 的功能、格式和选项…

亚马逊高效广告打法及数据优化,亚马逊高阶广告打法课

课程下载:https://download.csdn.net/download/m0_66047725/89342733 更多资源下载:关注我。 课程内容: 001.1-亚马逊的广告漏斗和A9算法的升级变化.mp4 002.2-流量入口解析和广告的曝光机制.mp4 003.3-标签理论 .mp4 004.4-不同广告类…

AI智能体研发之路-模型篇(四):一文入门pytorch开发

博客导读: 《AI—工程篇》 AI智能体研发之路-工程篇(一):Docker助力AI智能体开发提效 AI智能体研发之路-工程篇(二):Dify智能体开发平台一键部署 AI智能体研发之路-工程篇(三&am…

计算机组成原理易混淆知识点总结(持续更新)

目录 1.机器字长,存储字长与指令字长 2.指令周期,机器周期,时钟周期 3.CPI,IPS,MIPS 4.翻译程序和汇编程序 5.计算机体系结构和计算机组成的区别和联系 6.基准程序执行得越快说明机器的性能越好吗? 1.机器字长,存储字长与指令字长 不同的机器三者…

QGraphicsView实现简易地图17『涟漪效果』

前文链接:QGraphicsView实现简易地图16『爆炸效果』 模仿水波荡漾时的涟漪效果,参考了echarts中的散点图 支持设置散点大小、颜色、涟漪线条宽度。 动态演示效果 静态展示图片 核心代码 #pragma once #include "../AbstractGeoItem.h" #incl…