C语言学习
文章平均质量分 67
张春俊
这个作者很懒,什么都没留下…
展开
-
sscanf用法
在处理字符串的程序当中,经常会分析字符串,从一大长串的字符串截取我们需要的数据,这如果通过自己手写函数来分析,虽然可以,但当你知道sscanf的功能,那就自己写函数分析就显得多此一举。这些函数的使用都很简单,总结一下,等下次使用一目了然。俗话说:好记性不如烂笔头,记录下来就是效率。以下源代码是本人测试的源文件,附带讲解注释。/****************************转载 2013-04-02 19:50:23 · 517 阅读 · 0 评论 -
链表基本操作及代码
这里介绍链表的基本操作及其C语言实现代码1、创建一般传入链表长度,返回头节点List *CreateList(int n){List *head = NULL;//头节点List *tail = NULL;//尾节点List *p = NULL;//临时接入节点printf("create a list with n length!\n");while(原创 2013-08-29 19:40:40 · 951 阅读 · 0 评论 -
reg51.h解释
是c51(用于单片机开发的一种c语言)的头文件。类似于头文件AT89X52.h。这两个头文件基本是一样的,只是在使用时对位的定义不一样,at89x52.h文件中对P1.1的操作是写成P1_1;reg52.h文件中的操作则写成P1^1。表示方法不一样而已。另外前者是特指ATMEL公司的52系列单片机,后者指所有52系列的单片机。单片机中用c编程时头文件reg51.h及reg52.h解析我原创 2013-09-04 16:26:43 · 1462 阅读 · 0 评论 -
约瑟夫问题总结及代码实现
约瑟夫问题,具体含义通过百度百科/维基百科查阅,实现代码如下1、用链表实现typedef struct List{int data;struct List *next;}List;List *CreatList(int n){List *p = NULL;List *head = NULL;List *tail = NULL;whil原创 2013-09-02 22:39:50 · 1117 阅读 · 0 评论 -
交换两数算法总结
交换两数的方法大概结共有两种一种需要第三变量,一种不需要第三变量(总结出三种)1、需要第三变量只能用指针实现void swap(Int *a, int *b){int temp;temp = *a;*a = *b;*b = temp;}2、00)用加法来实现void swap(int *a, int *b){ //这个仔细看下即可明白*原创 2013-08-28 16:31:57 · 595 阅读 · 0 评论 -
数组分析
一、一维数组如int p[5], p是指向数组第一个元素的常量指针,可以通过下标操作,但不能直接执行类似p+1的操作若为char类型,printf("%s",p)即可输出,整型只能逐个输出。一般可把p直接传给函数,事实参数传递后也是当作指针来操作的那&p为何方神圣呢,后来发现他将变成数组指针即( *p)[5],他指向的是p[5]这个数组,不再是元素地址,所以也不能进行指针移动,要对原创 2013-08-28 11:04:27 · 520 阅读 · 0 评论 -
C/C++时间函数大总结
这里从基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。然后通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法,最后再对sys/timeb.h(其为time.h的补充)作以总结。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),cl原创 2013-08-07 17:41:17 · 1257 阅读 · 0 评论 -
求数组最K大值下标
找出数组中第k大小的数,输出数所在的位置。例如{2,4,3,4,7}中,第一大的数是7,位置在4。第二大、第三大的数都是4,位置在1、3随便输出哪一个均可。函数接口为:int find_orderk(const int* narry,const int n,const int k),要求算法复杂度不能是O(n^2)按照选择排序或者冒泡排序每趟循环能找出一个最大或最小元素,那么只要K趟找到最原创 2013-08-27 20:19:48 · 1096 阅读 · 0 评论 -
程序员不应该再犯的五大编程错误
本文总结了程序员经常犯的五大错误,尤其是初学者。在编程的道路上,犯错也是学习道路上不可或缺的一部分,但一旦意识到某种错误的发生,就应该想办法避免,这样,代码就会越来越好,自己也会得到成长。 当你成为程序员后,你很容犯下文所提到的这些错误。 话说失败是成功之母,在编程的道路上,犯错也是学习道路上不可或缺的一部分。尤其是初学者,他们犯的错误可能会比其他人更多,那么该如何才能避免这些转载 2013-08-12 14:07:06 · 519 阅读 · 0 评论 -
各种排序算法总结及代码
排序算法作为最基本的算法,也是各大IT公司最喜欢的笔试题目,下面就各种排序算法作以总结并附代码(C/C++) 主要涉及冒泡排序,选择排序,插入排序,希尔排序,堆排序,快速排序,归并排序,计数排序,基数排序,桶排序1、冒泡排序基本思想:比较相邻的两个数,小的往前放,大的往后放(默认从小到大),这很类似冒泡,故称冒泡排序。这样每躺下来都能得到一个最大的数(即最后那个数),反复重新,即可完原创 2013-08-18 22:34:59 · 623 阅读 · 0 评论 -
C语言运算符优先级总结
C语言共有15个操作符优先级,从高到低如下1 () [] . ->2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof (注意这也是操作符,不是函数)3 * / %4 + - 5 >> 6 > >= 7 == != 8 & 9 ^ 10 |原创 2013-08-06 14:45:03 · 1125 阅读 · 0 评论 -
C语言关于图像处理的函数
头文件:graphics.h(一) 像素函数 56. putpiel() 画像素点函数 57. getpixel()返回像素色函数 (二) 直线和线型函数 58. line() 画线函数 59. lineto() 画线函数 60. linerel() 相对画线函数 61. setlinestyle() 设置线型函数 62. getlinesettings() 获转载 2013-06-14 22:46:26 · 11606 阅读 · 0 评论 -
字符串处理函数
void *memccpy (void *dest, const void *src, int c, size_t n);从src所指向的对象复制n个字符到dest所指向的对象中。如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置;否则返回NULL。void *memcpy (void *dest, const void *src, size_t n);从s转载 2013-05-22 12:25:19 · 430 阅读 · 0 评论 -
const在C++与C中的区别
http://www.cnblogs.com/xkfz007/archive/2012/02/27/2370478.html转载 2013-04-26 21:44:11 · 452 阅读 · 0 评论 -
calloc和malloc区别、分析
函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别 malloc()函数有一个参数,即要分配的内存空间的大小:void *malloc(size_t size); calloc()函数有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小。void *calloc(转载 2013-04-11 15:56:40 · 795 阅读 · 0 评论 -
VS2010 profiler
所有人都希望自己的程序能够飞速运行,但是性能的提升又是何等艰辛,就连起步都那么困难。浩如烟海的代码,哪一段才是性能提升的关键?哪一段才是程序运 行的瓶颈?难道你只能通过在每个函数前后都添加一段时间输出来寻找耗时最长的函数吗?你应当相信,在这个信息化的时代,在这个效率为先的时代,也许每一个需要重复的工 作,都会有一种自动的方式来替代。下面,我将为你介绍一个寻找应用程序瓶颈的分析利器—— Visual转载 2013-04-02 19:15:45 · 699 阅读 · 0 评论 -
将整型数组中的各个值进行比对,删除重复的数值,并向前对齐,多行输入,多行输出处理
#include #include#include#include/*将一个整型数组中的各个值进行比对,删除重复的数值,并向前对齐.输入: 多行,每行一组数据,用“,”隔开,其最大长度小于4096个字符。输出: 多行,每行对应删除重复后的结果。样例输入: 3,5,4,5,3 9,9,10,2,3,10,21,2,10原创 2015-03-20 14:12:22 · 918 阅读 · 0 评论