初识c语言,知识梳理
初识
语言发展史:
首先机器只能识别二进制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语言,知识梳理相关推荐
- 【C语言知识梳理之分支语句】
C语言的三种基本结构 C语言是结构化的程序设计语言:分为三种基本结构 顺序结构,选择结构,循环结构. 顺序结构 顺序结构就是从开到到结尾,依次往下. 选择结构 分支语句 if switch 循环结构 ...
- 数据结构(C语言版) 第 八 章 排序 知识梳理 + 习题详解
目录 一.归并排序 二.交换排序 1.快速排序 2.冒泡排序 三.插入排序 1.直接插入排序(基于顺序查找) 2.折半插入排序(基于折半查找) 3.希尔排序(基于逐趟缩小增量) 四.选择排序 0.直接 ...
- 数据结构(C语言版) 第 六 章 图 知识梳理 + 习题详解
目录 一. 图的基本定义和术语 一.图的基本概念 1.度 2.连通 (1)连通图 (2)强连通/强连通图 3.回路 4.完全图 二.图的三种存储结构 1.邻接矩阵表示法 2.邻接表(链式)表示法 3. ...
- 数据结构(C语言版) 第 三 章 栈与队列 知识梳理 + 作业习题详解
目录 一.栈 0.栈的基本概念 1.栈的实现 2.栈与递归 3.Hanoi塔问题 二.队列 0.队列的基本概念 1.队列的实现 2.循环队列 2.1循环队列的相关条件和公式: 3.链队列 4.链队列完 ...
- 数据结构(C语言版) 第二章 线性表 知识梳理+作业习题详解
目录 一.线性表顺序存储结构(顺序表) 0.线性表的基本概念 1.样例引入:多项式相加 二.线性表链式存储结构(链表) 0.链表的基本概念 1.前插法代码实例 2.链表尾插法完整代码附带各种操作 三. ...
- 初识C语言---(4)
目录 指针初识 结构体 指针初识 学习指针知识,我们得首先了解内存方面的知识: 内存: 内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 . 所以为了有效的使用内存,就把内存划分成一 ...
- 《C Primer Plus(第6版)中文版》一第1章 初识C语言1.1 C语言的起源
本节书摘来自异步社区<C Primer Plus(第6版)中文版>一书中的第1章,第1.1节,作者 傅道坤,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第1章 ...
- python入门题目及答案_Python基础自测题答案和基础知识梳理
Python基础自测题答案和基础知识梳理 1.关于Python中的lambda表达式的函数体自能是单独一条语句,所以答案选择C. 例如:>>>g = lambda x: 2*x+1 ...
- python理论知识选择题_Python基础自测题答案和基础知识梳理
Python基础自测题答案和基础知识梳理 1.关于Python中的lambda表达式的函数体自能是单独一条语句,所以答案选择C. 例如:>>>g = lambda x: 2*x+1 ...
- C Prime Plus 第一章 初识C语言
初识C语言 C的历史和特性 选择C语言的理由 C语言的应用范围 计算机能做什么 高级计算机语言和编译器 语言标准 第一个ANSI/ISO C 标准 C99标准 C11标准 使用C语言的7个步骤 编译机 ...
最新文章
- org.apache.ibatis.binding.BindingException: Type interface XXX is not known to the MapperRegistry.
- Flot使用文档(转)
- php正则获取标签,PHP通过正则匹配中文字符 过滤html标签 获取文本内容
- 如何从Gitee中拉取项目到HBuilder中?
- 创建mysql数据库图解_mysql数据库怎么创建外键?(图文+视频)
- 【博弈】Codeforces Round #573 (Div. 1) Tokitsukaze, CSL and Stone Game
- java运行指定文件_java打开指定文件(运行指定程序exe)
- 【转】JQuery中$.each 和$(selector).each()的区别详解
- stm32的GPIO口PA0按键没按下就是低电平的分析
- 苹果手机通话声音小怎么调_通话音量小怎么办?教你安卓和苹果的解决教程,只需2步...
- Elang 学习笔记(二)
- 前端表单提交方式大全
- redis.set方法详解
- WEB请求过程(http解析,浏览器缓存机制,域名解析,cdn分发)
- 常见的英文单词(Java中的)
- python turtle 画动漫人物_用turtle画动漫人物表白【Python】
- 打印机能打印测试页但是无法打印的解决办法
- 计算机串口无法发数,单片机向电脑发送数据,为什么串口调试助手收不到数据 求助...
- shell脚本中的结构化命令(if-then-else、case、for、while、until) 脚本中的循环控制
- V-model的双向绑定原理