初识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个步骤 编译机 ...
最新文章
- linux 进程等待 wait 、 waitpid
- ASP.NET温故而知新学习系列之ASP.NET多线程编程—异步编程(九)
- [bzoj2186]沙拉公主的困惑
- ugui unity 图片缩放循环_Unity基础系列(四)——构造分形(递归的实现细节)...
- 深度学习-Tensorflow2.2-RNN循环神经网络{11}-RNN空气污染预测-26
- spark 中的RDD编程:基于Java api
- 基于Spring Boot的“课程设计”的设计与实现
- 角谷定理python输出变化过程,Python 100例——第十章----定理与猜想
- 静态资源Css基础语法
- leetcode 1011. 在 D 天内送达包裹的能力(二分法)
- web前端基础知识-(六)jQuery-补
- 用java来实现FIFO先进先出的队列
- 给div添加蒙版(遮罩?)
- 用python证明给定范围的欧拉常数
- 用CSS 实现水波扩散的特效
- 01 什么是数据结构
- 【Android】RecyclerView的好伴侣:详解DiffUtil
- 微信搜一搜将开放搜索入口给搜狗搜索
- 程序员常用mysql命令
- EOJ 3256:拼音魔法
热门文章
- Java实现 LeetCode 390 消除游戏
- 牛客多校2 - Link with Game Glitch(spfa求正环,套汇,二分答案)
- 【Cocos creator】绘图系统:Graphics组件之动态改变生成图像的透明度
- Hexo博客优化:在Next主题中设置进阶版Live2D看板娘————拒绝踩坑!!!!
- Linux九阴真经之九阴白骨爪残卷4(cobbler)
- 某计算机系的小周,某大学计算机系的小周现在是大二的学生,现在回想起自己在大一时大手大脚花钱还是 - 问答库...
- vue页面加载时闪现_解决使用Vue.js显示数据的时,页面闪现原始代码
- Flask - 闪现
- vscode 清理临时文件
- 二维与三维坐标系转换