初识

语言发展史:

首先机器只能识别二进制1和0,分别代表正和负,因为电信号只有正和负。因此机器能直接识别0和1(其实本质为电信号,只不过人类给它安了个名字是0和1。)因此最最基本的是二进制。

接下来是汇编语言,由于二进制太长太过复杂,人们就发明了“短小精悍”的助记符,于是汇编语言出现了,(其实就是将特定的二进制代码用短小的助记符来代替)虽然即使降低了计算机门槛,但还是过于复杂。

之后还出现了B语言(C语言的前身),B语言是解释型语言,C语言是编译型语言。(个人认为B语言是低级语言到高级语言的过渡产品)

以下是编译型和解释型的区别(图片来自

wwanxinghao)

再后来就出现了C语言、Java这样的高级语言。

观察语言发展史,可以发现语言是:

由低级语言——高级语言。

由科学家用——专业人士用——普通人学用。

由特别复杂——复杂——相对简单。

由学习难度大(一般人学不了)——学习难度小(普通人也可以学)。

由原本各种标准——现在的统一的国际标准。


2:C语言基本框架

自上到下依次为:

①库函数:#include<>

<> 中间放一个.h为结                                                 尾的文件,文件名字叫头文件。

②主函数:int main ()

主函数是程序的入口,在一个工程中,必须有且仅有一个主函数。

()里面可以放参数。

③代码块:{}

{}和放在{}里面的代码统称为代码块。

注意代码是分步完成的,所以每写完一步,就要跟一个分号。(分号是语句完毕符。每一个语句必须以分号完毕,它表明一个逻辑实体的完毕)


3:C语言基本知识

数据类型

首先理解数据,其实就是数字和字母,计算机里分别叫整型和字符。(备注:字符用"

字符串用"")

自左到右依次为:

名称、数据类型、占用字节、表示数字范围

(备注:数据类型不止这些,但初学了解这些就够了。)

计算机中的单位

比特位(bit)——字节(B)——KB——MB——GB——TB——PB

(备注:①还有EB,ZB,YB等等。

②字节单位全称为Byte,简称B。)

1B=8bit

1KB=1024B

1KB=1024MB

1GB=1024MB

1TB=1024GB

1PB=1024TB

字符串+转义字符+注释

首先理解字符串:由双引号引起来的一串字符串称为字符串字面值,简称字符串。(空格也算)

(备注:可以把字符串放在字符数组里去。)

其次,字符串的结束标志是字符' \0 ',并且' \0 '的值是0。

常见转义字符及其释义

\?(在书写连续多个问号时使用,防止他们被解析         成三字母词)
\'(用于表示字符常量')
\“(用于表示一个字符串内部的双引号)
\\(用于表示一个反斜杠,防止它被解释为一个转义       序列符。)
\a(警告字符,蜂鸣)
\b(退格符)
\f(进纸符)
\n(换行)
\r(回车)
\t(水平制表符)
\v(垂直制表符)
\ddd(ddd表示1~3个八进制的数字。如:\130X)
\xdd(dd表示2个十六进制数字。如:\x300)

注释:

注释可以起到解释代码或者备注一些内容的作用,注释的内容不会被编译器当做代码编译。

备注:

%d-打印整型,              %c-打印字符,

%s-打印字符串,          %f-打印浮点数字,

%lf-打印双精度浮点数,%.mf-打印的浮点数保留m位小数,

%p-以地址的形式打印,%x-打印16进制数字,

%zd-专门用来打印scanf的返回值,……其他的以后说。

'\\0'的重要性实例:('\\0'也是转义字符)

char arr1[ ]="abc";

//在这个字符数组中,有四个字符,分别为'a',     'b','c','\\0'。可以看出使用双引号时,默认字符数组中最后一个字符为\\0。

char arr2[ ]={'a','b','c'};

//在这个字符数组中,不知道字符数组的大小。原因为:在使用英文大括号来表示数组时,没有写出'\\0'这个字符,计算机在计数此数组大小时,会生成乱码,直到'\\0'的出现。(由于\\0出现的不确定性,造成此数组大小的不确定性。)

初识c语言,知识梳理相关推荐

  1. 【C语言知识梳理之分支语句】

    C语言的三种基本结构 C语言是结构化的程序设计语言:分为三种基本结构 顺序结构,选择结构,循环结构. 顺序结构 顺序结构就是从开到到结尾,依次往下. 选择结构 分支语句 if switch 循环结构 ...

  2. 数据结构(C语言版) 第 八 章 排序 知识梳理 + 习题详解

    目录 一.归并排序 二.交换排序 1.快速排序 2.冒泡排序 三.插入排序 1.直接插入排序(基于顺序查找) 2.折半插入排序(基于折半查找) 3.希尔排序(基于逐趟缩小增量) 四.选择排序 0.直接 ...

  3. 数据结构(C语言版) 第 六 章 图 知识梳理 + 习题详解

    目录 一. 图的基本定义和术语 一.图的基本概念 1.度 2.连通 (1)连通图 (2)强连通/强连通图 3.回路 4.完全图 二.图的三种存储结构 1.邻接矩阵表示法 2.邻接表(链式)表示法 3. ...

  4. 数据结构(C语言版) 第 三 章 栈与队列 知识梳理 + 作业习题详解

    目录 一.栈 0.栈的基本概念 1.栈的实现 2.栈与递归 3.Hanoi塔问题 二.队列 0.队列的基本概念 1.队列的实现 2.循环队列 2.1循环队列的相关条件和公式: 3.链队列 4.链队列完 ...

  5. 数据结构(C语言版) 第二章 线性表 知识梳理+作业习题详解

    目录 一.线性表顺序存储结构(顺序表) 0.线性表的基本概念 1.样例引入:多项式相加 二.线性表链式存储结构(链表) 0.链表的基本概念 1.前插法代码实例 2.链表尾插法完整代码附带各种操作 三. ...

  6. 初识C语言---(4)

    目录 指针初识 结构体 指针初识 学习指针知识,我们得首先了解内存方面的知识: 内存: 内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 . 所以为了有效的使用内存,就把内存划分成一 ...

  7. 《C Primer Plus(第6版)中文版》一第1章 初识C语言1.1 C语言的起源

    本节书摘来自异步社区<C Primer Plus(第6版)中文版>一书中的第1章,第1.1节,作者 傅道坤,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第1章 ...

  8. python入门题目及答案_Python基础自测题答案和基础知识梳理

    Python基础自测题答案和基础知识梳理 1.关于Python中的lambda表达式的函数体自能是单独一条语句,所以答案选择C. 例如:>>>g = lambda x: 2*x+1 ...

  9. python理论知识选择题_Python基础自测题答案和基础知识梳理

    Python基础自测题答案和基础知识梳理 1.关于Python中的lambda表达式的函数体自能是单独一条语句,所以答案选择C. 例如:>>>g = lambda x: 2*x+1 ...

  10. C Prime Plus 第一章 初识C语言

    初识C语言 C的历史和特性 选择C语言的理由 C语言的应用范围 计算机能做什么 高级计算机语言和编译器 语言标准 第一个ANSI/ISO C 标准 C99标准 C11标准 使用C语言的7个步骤 编译机 ...

最新文章

  1. org.apache.ibatis.binding.BindingException: Type interface XXX is not known to the MapperRegistry.
  2. Flot使用文档(转)
  3. php正则获取标签,PHP通过正则匹配中文字符 过滤html标签 获取文本内容
  4. 如何从Gitee中拉取项目到HBuilder中?
  5. 创建mysql数据库图解_mysql数据库怎么创建外键?(图文+视频)
  6. 【博弈】Codeforces Round #573 (Div. 1) Tokitsukaze, CSL and Stone Game
  7. java运行指定文件_java打开指定文件(运行指定程序exe)
  8. 【转】JQuery中$.each 和$(selector).each()的区别详解
  9. stm32的GPIO口PA0按键没按下就是低电平的分析
  10. 苹果手机通话声音小怎么调_通话音量小怎么办?教你安卓和苹果的解决教程,只需2步...
  11. Elang 学习笔记(二)
  12. 前端表单提交方式大全
  13. redis.set方法详解
  14. WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)
  15. 常见的英文单词(Java中的)
  16. python turtle 画动漫人物_用turtle画动漫人物表白【Python】
  17. 打印机能打印测试页但是无法打印的解决办法
  18. 计算机串口无法发数,单片机向电脑发送数据,为什么串口调试助手收不到数据 求助...
  19. shell脚本中的结构化命令(if-then-else、case、for、while、until) 脚本中的循环控制
  20. V-model的双向绑定原理

热门文章

  1. 如何在CSDN博客内容创作时设置首行缩进?
  2. 远程服务器总是自动断开连接解决办法
  3. 如果说7nm是制程工艺物理极限 那么1nm是什么概念?
  4. 芯片界总说的7nm到底有多细
  5. 少年,下班后你都做什么?
  6. 汇编 第九章 转移指令的原理
  7. ENSP-企业网/校园网ipv6设计-(千万不要选的课题)
  8. linux显卡常用查询命令
  9. 自攻螺丝与塑件底孔规格表
  10. 记:freeswitch-1.10.7 aarch64交叉编译