
C语言
文章平均质量分 53
kinglyjn
Simple is Beautiful | Eamil:admin@keyllo.com | Welcome: http://www.keyllo.com
展开
-
C语言基础(一)- 背景
当你成为C语言的高手,那么机就很容易进入到操作系统的平台里去;当你进入到小做系统的平台里实际做程序时,就懂得进行调试;当你懂得调试的时候,你就会发现恩呢该轻而易举地了解整个平台的架构。这时候,计算机基本上一切都在你的掌握之中了,美哦与什么东西能够逃出你的手掌心。 —《编程箴言》梁肇新概述和发展过程概述C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存原创 2016-12-15 12:47:32 · 1485 阅读 · 0 评论 -
C指针编程之道(五)- 排序算法
冒泡排序算法介绍:算法的基本思想:冒泡法排序是交换排序的一种,我们可以将待排序的数组 array[0...n-1] 理解为一个圆柱,将数组中的每一个元素都看成是重量为array[i]的气泡,其中array[0]在最上面,array[n-1]在最下面。排序时根据轻气泡在上重气泡在下的原则,则上而下扫描数组,遇到违反原则的气泡,就使其向下沉,直到所有的气泡都是轻气泡在上,重气泡在下为止。算法的基本原创 2016-12-23 10:29:10 · 363 阅读 · 0 评论 -
C指针编程之道(四)- 指向文件类型的指针
文件结构体和文件指针// 在c语言中,对文件的操作一般是用库函数来实现的// ANSI(美国国家标准学会)规定了标准的输入输出函数,用他们对文件进行读写以规范和提高编程效率// 每个被使用的文件在内存中都会开辟一个区,用来存放文件的有关信息,而这些信息都保存在文件结构体FILE中// FILE 用于访问一个流,若同时激活了几个流,那么每个流都有一个相应的FILE与之相关联// 为了在流上执行原创 2016-12-23 10:28:09 · 3468 阅读 · 0 评论 -
C指针编程之道(三)- 数据结构中指针的应用
循环队列(数组实现)# include <stdio.h># define CIRQUEUE_LENGTH 8typedef struct { int font; //对头标识 int rear; //队尾标识 int counter; //计数器 int data[CIRQUEUE_LENGTH]; //队列数据} cirqueue;int main() {原创 2016-12-23 10:27:30 · 593 阅读 · 0 评论 -
C指针编程之道(二)- 指针与函数
指向函数的指针(函数指针)/*** 测试函数指针*/# include <stdio.h>int main() { int a=1, b=2; int max(int, int); int min(int, int); int add(int, int); void func(int, int, int (*p)(int,int)); //该函数的第三个参数原创 2016-12-23 10:26:08 · 351 阅读 · 0 评论 -
C指针编程之道(一)- 指针与数组
数组的下标表示法和指针表示法# include <stdio.h>int main() { char title[] = {"C language pointer!"}; //等价于char title[]="C language pointer!"; char *ptitle; /* 这段程序很清楚地表达了数组指针变量指向数组的概念。 数组在内存中是一段连原创 2016-12-23 10:25:48 · 535 阅读 · 0 评论 -
C语言基础(十二)- 数据结构概览
相关术语: 数据—----类 数据对象--集合 数据元素--类对象 数据项-———属性什么是数据结构? 概念:相互之间存在一种或多种特定关系的数据元素(类对象)的集合。 数据结构包括: 数据的逻辑结构(数学形式) 集合结构 线性结构(1:1) 树形结构(1:n)原创 2016-12-23 10:24:57 · 616 阅读 · 1 评论 -
C语言基础(十一)- 文件和目录操作运算
C\C++关于FILE结构定义说明//此结构VC定义于stdio.h头文件中,struct _iobuf { char *_ptr; //文件输入的下一个位置 int _cnt; //当前缓冲区的相对位置 char *_base; //指基础位置(应该是文件的其始位置) int _flag;原创 2016-12-23 10:24:35 · 409 阅读 · 0 评论 -
C语言基础(十)- 预处理
预处理就是在编译之前所做的事情,所以也叫预编译,主要有宏定义、文件包含处理和条件编译。宏定义宏定义指令是指用一个指定的标识符代表一个字符串,可以减少程序中重复书写某些字符串的工作量,使用宏可以达到“一改全改”的代码规范。宏定义主要分为不带参数的宏定义 和 带参数的宏定义。//不带参数的宏定义# define N 10# define PI 3.14# define R 2*N*N//带参数的原创 2016-12-23 10:24:03 · 400 阅读 · 0 评论 -
C语言基础(九)- 链表
数组和链表的比较数组优点:存取速度快,并且每个元素有标号,方便找到缺点:只能够连续存储,如果需要存数的信息量特别大,可能就会定义数组失败!当删除数据或增加数据时,数组也不能够做到自动做到将分配空间迁移。链表优点:每个结点包括存储的数据和指针两部分,插入和删除元素效率高,且它的元素之间可以不连续缺点:没有编号,所以找到某个位置的链表的元素效率低,只能一个个挨个的找相关术语:首结点:原创 2016-12-23 10:23:41 · 431 阅读 · 0 评论 -
C语言基础(八)- 进制转化、计算机补码、位运算符
进制转化一个数字的大小本质上都是表示状态数的多少数字的表示可以用不同的进制十进制转r进制:整数部分–除r取余,直至商0,余数倒置即可,小数部分–乘r取整,直至积为0,整数正序排列即可二进制转10进制:8421码补码的相关知识在介绍补码之前先来认识其他的一些二进制码:1、原码:也叫符号—绝对值码,最高位0表示正、1表示负,其余二进制是该数字的绝对值的二进制位如-5的原码是10101,原创 2016-12-23 10:23:13 · 755 阅读 · 0 评论 -
C语言基础(七)- 动态内存
静态内存和动态内存静态内存是由系统自动分配,由系统自动释放,是在栈中分配的;动态内存是由程序员手动分配,手动释放,是由堆分配的!动态内存的开辟/*** 2013年12月24日13:26:57* malloc函数的简单用法; malloc是memory(内存)allocate(分配)的缩写*/# include <stdio.h>//# include <mm_malloc.h> //或原创 2016-12-23 10:22:36 · 322 阅读 · 0 评论 -
C语言基础(六)- 结构体、共用体、枚举和typeof自定义类型
什么是结构体?结构体的本质就是把一些基本类型数据组合在一起形成的一个新的复合数据类型。利用结构体可以造出一种新的数据类型,这种新的数据类型是由基本数据类型组合在一起的,利用结构体,我们就可以模拟现实生活中任何一个比较复杂的事物。结构体的定义和结构体变量的初始化/*** 三种定义结构体的方式(等价)* 定义的同时可以同时赋初值* 如果定义完后则只能单个地赋初值*///第一种方式,纯粹定义结构体原创 2016-12-23 10:22:08 · 1889 阅读 · 0 评论 -
C语言基础(四)- 函数
什么叫做函数? –(结合数据结构和面向对象的语言才能理解的更深刻)逻辑上:能够完成特定功能的独立的代码单元物理上:能够接收数据【当也可以不接受】,能够对接收的数据处理【当然也可以不处理】,能够将数据处理的结果返回【当然也可以不返回任何值】的功能代码;总结:函数是个工具,他是为了解决大量类似问题而设计的,函数可以被当做一个黑匣子(外部有接口,内部结构未知(机密哦?!))为什么需要函数?对于不原创 2016-12-23 10:20:23 · 334 阅读 · 0 评论 -
C语言基础(三)- 数组
数组的特点:连续的存储空间所有变量的数据类型必须相同所有数据占用的字节大小都相等为什么需要数组:为了解决大量同类型数据的存数和使用问题用数组可以模拟线性的现实世界、//如向量、矩阵、张量等大部分语言提供了数组这种数据存储结构数组的缺点:数组的长度是一定的,无法改变查找数据不方便我们通常用一种以数组为内核的工具代替原始的数组来用/*** 数组基本定义*/int a[5]原创 2016-12-23 10:19:58 · 355 阅读 · 0 评论 -
C语言基础(二)- 流程
什么是流程控制?程序代码的执行顺序流程控制的分类顺序选择循环顺序没啥好说的,略。选择/*** 测试if*/#include <stdio.h>int main() { int a, b, c; int t; printf("please input a b c:\n"); scanf("%d %d %d", &a, &b, &c); //编写核心代码原创 2016-12-23 10:19:15 · 403 阅读 · 0 评论 -
C语言基础(五)- 指针
什么事指针?指针就是内存地址(注意:通常我们叙述时,会把指针变量简称为指针,实际上他们含义并不一样),指针的本质是一个变量房间的“门牌号”,是一个操作受限的非负整数!(可以进行相减运算(表示两个地址的间隔),但是不能进行相加、相乘和相除类的运算!)指针的优点指针变量的重要性:(使用指针的优点!)通过指针我们可以表示一些复杂的数据结构(例如链表、树、图等等);快速地传递数据、减少内存耗用、大大提高原创 2016-12-19 17:36:32 · 535 阅读 · 0 评论