01_c语言再学习_基础部分(1)】的更多相关文章

目录: 1.编译基础 2.c语言关键字 3.c语言数据类型 4.二进制/8进制/16进制 5.计算机内存数值存储方式:sizeof/原码/反码/补码 6.c语言中的字符和字符串 7.c语言中的数组和字符串(字符数组和字符串) 7.1 数组的逆置,冒泡排序(含优化) 编译基础: C代码编译成可执行程序经过4步: 1)预处理:宏定义展开.头文件展开.条件编译等,同时将代码中的注释删除,这里并不会检查语法 2)编译:检查语法,将预处理后文件编译生成汇编文件 3)汇编:将汇编文件生成目标文件(二进制文件…
天下莫柔弱于水,而攻坚强者莫之能胜,以其无以易之也.弱之胜强,柔之胜刚,天下莫不知行,莫能行. —老子 我近来每天都在坚持读书,所以我一直沉浸于古人的智慧中无法自拔.所以如果我这篇博文被你有幸看到,那上面的话便赠予君子了. 言归正传,这篇博文是C语言再学习系列的第一篇.虽然我已经学习了C语言两年多之久,但是我觉得自己并没有学明白C语言,所以我利用寒假时间再次学习了一遍,并且我将我学习到的东西记录下来.学习的过程虽然苦涩寂寞,但是自己能看到自己一步一步对C语言有新的认识也是值得了. 此篇博文主题是…
君子远庖厨,万物皆备于我.—孟子 这篇文章主要总结程序的主要要素,以及程序的构成是什么样子的.最后说说我学到的一种奇特的表示算法的方式—伪代码. 让我们开始吧! 一个程序应该包括以下两个主要要素: 1.对数据的描述.在程序中要指定数据的类型和数据的组织形式,即为数据结构. 2.对操作的描述.即为操作步骤,也就是算法. 那么程序是什么呢? 程序=算法+数据结构+程序设计方法+语言工具和环境[1] 最后来说说被忽略的伪代码.伪代码不同于汇编语言中的伪指令. 伪代码是用介于自然语言和计算机语言之间的文…
昨天看Q3的代码,看到有个_INTSAIZEOF的宏,着实晕了一阵.一番google后,终于明白,这个宏的作用是求出变量占用内存空间的大小,先看看_INTSAIZEOF的定义吧: #define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) (ANSI C标准下,_INTSAIZEOF宏定义在stdarg.h中,Q3中定义在bg_lib.h中:bg_lib.h -- standard C library…
迷阳迷阳,无伤吾行.无行郗曲,无伤吾足.—庄子 C语言词汇: 标识符 在程序中的变量名.函数名.标号等等成为标识符.其中标识符相在C中只能是字母A~Z,a~z,数字0~9,下划线(_)组成的字符串,并且开头必须是字母或者下划线.例如a,BOOK_1等等. 关键字 它是指由C语言中具有特定意义的字符串,也称作保留字.有以下几类,类型说明符,例如int,double等.语句定义符 例如if else.预处理命令字 例如include. 运算符 它是指加减乘除之类的. 分隔符 通常有逗号或者空格.逗号…
前不久在阅读Quake3源代码的时候,看到一个陌生的函数:setjmp,一番google和查询后,觉得有必要针对setjmp和longjmp这对函数写一篇blog,总结一下. setjmp和longjmp是C语言独有的,只有将它们结合起来使用,才能达到程序控制流有效转移的目的,按照程序员的预先设计的意图,去实现对程序中可能出现的异常进行集中处理. 先来看一下这两个函数的定义吧: setjmp和longjmp的函数原型在setjmp.h中 函数原型: int setjmp(jmp_buf envb…
1.基础数据结构 1.1 向量 # 创建向量a a <- c(1,2,3) print(a) 1.2 矩阵 #创建矩阵 mymat <- matrix(c(1:10), nrow=2, ncol=5, byrow=TRUE) #取第二行 mymat[2,] #取第二列 mymat[,2] #第一行第五列的元素 mymat[1,5] 1.3 数组 #创建数组 myarr <- array(c(1:12),dim=c(2,3,2)) print(myarr) #取矩阵或数组的维度 dim(m…
学Linux就学命令行 === cd / 转到根目录,相对当前路径 cd dev 转到dev目录 whoami 查阅当前用户 pwd 查阅当前目录 ls 查阅当前目录下的目录和文件 === Linux下所有硬件都是一个目录或文件 ===分区的命名=== /dev/ xx             hd IDE磁盘 | sd SCSI磁盘 y               分区所在的设备,/dev/had(第一个IDE磁盘) N              主分区或逻辑分区(1~4) ===挂载点===…
语法 h1 {color:red; font-size:14px;} 共享声明 h1,h2,h3,h4,h5,h6 { color: green; } 继承 通过 CSS 继承,子元素将继承最高级元素(在本例中是 body)所拥有的属性(这些子元素诸如 p, td, ul, ol, ul, li, dl, dt,和 dd).不需要另外的规则,所有 body 的子元素都应该显示 Verdana 字体,子元素的子元素也一样. 如果你不希望 "Verdana, sans-serif" 字体被…
MQTT 源码分析,搜索了一下发现网络上讲的很少,多是逍遥子的那几篇. 参看:逍遥子_mosquitto源码分析系列 参看:MQTT libmosquitto源码分析 参看:Mosquitto学习笔记 一.目录结构首先我们还是来看一下 mosquitto-1.4.14 的源码目录结构 我们主要关注 client.lib.src 这三个目录.其中 src 和 lib 目录下主要放置 mosquitto 的实现代码以及部分底层与网络相关的操作,client 目录主要为两个客户端程序的实现源码. 我们…