c语言基础
_Shorey_
这个作者很懒,什么都没留下…
展开
-
关于sprintf
printf 可能是许多程序员在开始学习C 语言时接触到的第二个函数(我猜第一个是main),说起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf 了解多吗?在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命转载 2014-11-27 14:52:11 · 295 阅读 · 0 评论 -
Floyd算法
参考:http://www.cnblogs.com/twjcnblog/archive/2011/09/07/2170306.html参考:http://www.cnblogs.com/dolphin0520/archive/2011/08/27/2155542.htmlFloyd算法用于求有向图中任意两点间的最短路径问题。主要需要的参数为图的邻接矩阵。基本思想:任意一点i到j的最转载 2015-04-27 10:04:38 · 372 阅读 · 0 评论 -
Dijkstra算法(单元点最短路径)
Dijkstra算法解决图中某特定点到其他点的最短路径。迪杰斯塔拉(Dijkstra)算法思想:按路径长度递增的次序产生最短路径的算法。设集合S存放已经找到最短路径的顶点,V为所有节点的集合,S的初始状态只包含源点V0,对Vi∈V-S。假设从源点V0到Vi的有向边为最短路径,以后每求得一条最短路V0……Vk,就把Vk加入集合S里,并将路径V0……Vk,Vi与原来的假设比较,取路径较短者原创 2015-04-27 10:42:25 · 2471 阅读 · 0 评论 -
Prim算法
Prim算法用于生成最小生成树,根据的性质为最小生成树的MST性质MST性质:假设G=(V,E)是一个无向联通网络,U是顶点集合V的一个非空子集,若(u,v)是一条有最小权值的边,其中u∈U,v∈V-U,则必存在一棵包含边(u,v)的最小生成树。Prim算法思想:设G=(V,E)是一个无向连通图,令T=(U,TE)(U代表顶点,TE代表边)是G的最小生成树。T的初始状态为U={原创 2015-04-27 11:22:43 · 442 阅读 · 0 评论 -
C++用位运算实现循环移位
转自:http://www.cnblogs.com/alex4814/archive/2011/09/08/2171862.html循环移位区别于一般移位的是移位时没有数位的丢失。循环左移时,用从左边移出的位填充字的右端。循环右移时,用从右边移出的位填充字的左侧。这种情况在系统程序中时有使用,在一些控制程序中用得也不少。例如:a = 0111转载 2015-04-19 17:10:01 · 9611 阅读 · 2 评论 -
C/C++中有关const的用法
整理自网络1、const修饰普通变量和指针①const修饰普通变量有两种写法: const TYPE value;TYPE const value;两种写法效果一致,含义为:const修饰的类型为TYPE的变量value是不可变的②const修饰指针变量分四种写法如下:A: const char *p;B: char * const p;C: char转载 2015-04-19 07:21:50 · 295 阅读 · 0 评论 -
C语言实现只用加法和减法实现两个正整数的乘除运算
1、乘法a*b如下#include#includeint main(){ int a,b; int i,result=0; scanf("%d%d",a,b); for(i=0; i<b; i++) { result = result+a; } printf("%d\n",result); return原创 2015-04-07 11:01:25 · 4710 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2015-04-22 09:32:25 · 248 阅读 · 0 评论 -
malloc free和new delete的使用
1、malloc c和c++,都有,申请空间后必须手动释放,但是在申请类的空间的时候,不会自动调用构造函数。2、new c++专有,申请空间后可以自动进行空间回收,而且申请类的空间的时候,可以自动调用构造函数。3、free(与malloc对应)和delete(与new对应)通过free释放空间的时候不会自动调用类的析构函数,但是delete会自动调用类的析构转载 2015-04-22 09:35:03 · 318 阅读 · 0 评论 -
struct和typedef struct
转自:http://www.cnblogs.com/qyaizs/articles/2039101.html分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1转载 2015-04-05 10:34:09 · 233 阅读 · 0 评论 -
C/C++中不同数据类型所占用的内存大小
32位 64位 char 1 1 int 4 大多数4,少数8 short 2 2long 4转载 2015-03-24 09:40:13 · 685 阅读 · 0 评论 -
UVA 10815安迪的第一个字典
10815 - Andy's First DictionaryTime limit: 3.000 secondsProblem B: Andy's First DictionaryTime limit: 3 secondsAndy, 8, has a dream - he wants to produce his very own dictionary.原创 2014-11-27 17:20:20 · 1153 阅读 · 0 评论 -
c语言fgets函数
从流中读一行或指定个字符, 原型是char *fgets(char *s, int n, FILE *stream); 从流中读取n-1个字符,除非读完一行,参数s是来接收字符串,如果成功则返回s的指针,否则返回NULL。 形参注释:*string结果数据的首地址;n-1:一次读入数据块的长度,其默认值为1k,即1024;stream文件指针fgets的返回值是个指针,*fgets转载 2014-11-27 15:00:48 · 548 阅读 · 0 评论 -
数组名和数组名取地址&
转载自:http://blog.163.com/njut_wangjian/blog/static/16579642520139289599840/在C中, 在几乎所有使用数组的表达式中,数组名的值是个指针常量,也就是数组第一个元素的地址。 它的类型取决于数组元素的类型: 如果它们是int类型,那么数组名的类型就是“指向int的常量指针“。 在以下两种场合下,数转载 2015-05-05 15:12:24 · 408 阅读 · 0 评论