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

2024-05-28 07:52

本文主要是介绍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站上能找到,希望大家有所收获~

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

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

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

这篇关于0基础认识C语言(理论知识)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1009972

相关文章

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

C#基础之委托详解(Delegate)

《C#基础之委托详解(Delegate)》:本文主要介绍C#基础之委托(Delegate),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 委托定义2. 委托实例化3. 多播委托(Multicast Delegates)4. 委托的用途事件处理回调函数LINQ

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件