ComputerLanuage
xiahouzuoxin
这个作者很懒,什么都没留下…
展开
-
Learning with python: Chapter3~4 Functions,Conditionals and Recursion
>>> x=math.exp(math.log(10.0))>>> x10.000000000000002Python 2.6.6 (r266:84292, Feb 21 2013, 23:54:59) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2Type "help", "copyright", "credits"原创 2013-08-13 21:09:24 · 1446 阅读 · 0 评论 -
C语言知识整理
C语言及程序设计偏底层相关知识整理,并持续更新中。。。转载 2013-09-10 09:05:51 · 3185 阅读 · 1 评论 -
#include "*.c"文件的妙用
在看uCOS II V2.91版本源代码时,在ucos_ii.c源文件中发现下面的代码:#include #include #include #include #include #include #include #include #include #include 在之前,我将ucos_ii.c与上面的os_core.c等都添加到工程编译,出现许多“重复定义”的原创 2013-09-04 20:58:30 · 6376 阅读 · 0 评论 -
小侃#pragma
#pragma是一个编译器指令。================================================================#pragma comment(lib, libname)将libname的库添加到工程中,与VC++中Linker->Input->Additional dependencies的功能相同。使用#pragma co原创 2013-09-04 21:49:48 · 2123 阅读 · 0 评论 -
C/C++源码编译警示录
近几年,国内开源越闹越火,不仅软件开源,硬件也开源。去开源中国看看,已经有专门的硬件开源专区,61ic代码工厂提供了许多的硬件(ARM、DSP等)相关的代码。在这种趋势下,从头开始写一个软件或算法已经是上个世纪的事了,我们多多少少会从开源代码中借鉴点经验,甚至好的算法或中间件都会直接拿来用,当然,工程需要付费的就需要掏money了,不过开源免费的代码却还真不少,最有名的有sourceforge,g原创 2013-08-09 15:19:47 · 4967 阅读 · 0 评论 -
C语言中应该避免构造复杂的前缀后缀表达式
一个例子:#include int main(){ int i = 0; int a[] = {10,20,30}; int r = 1 * a[i++] + 2 * a[i++] + 3 * a[i++]; printf("%d\n", r); return 0;}结果是什么呢?初学者半天想不明白;半桶水的立刻答道:“哇原创 2013-12-12 21:32:35 · 1826 阅读 · 2 评论 -
C语言中构造数据类型的初始化
1. 数组的静态初始化我们都知道,一维数组的静态初始化可以写成int A[] = {1,2,3,4};其实,可以指定数组元素进行初始化,比如int a[] = { [0] = 1, [1] = 2, [2] = 3};这种技巧在某些情况下其实很有用:(1)只想初始化数组中一些非连续的元素,其它元素都为0;(2)需要根据一组#define作为数组下标来保持某原创 2013-12-14 12:58:21 · 2347 阅读 · 0 评论 -
断言的实现方法
两种断言的实现方法:1. 利用结构体或数组的大小非负特性;2. 调用断言处理函数的方法原创 2013-12-14 13:21:45 · 3083 阅读 · 0 评论 -
整数转字符串的一种快速实现
整数转字符串的一种快速实现原创 2014-04-09 12:34:16 · 4352 阅读 · 0 评论 -
数组的指针特性
从一道小题下手(该考点曾被腾讯等大公司作为基础笔试题考过),#include int size(char a[10]){ return sizeof(a);}int main(void){ char a[] = {'C','h','i','n','a','\0'}; char *p = "China"; char *q = a; prin原创 2014-06-13 10:35:24 · 1799 阅读 · 0 评论 -
Learning with python: Chapter2 Variables, expressions and statements
20个关键词:and def exec if not return assert del finally import or try break elif for in pass while class else from is print yield continue except global lambda raise[root@CentOS python]# pyth原创 2013-08-13 20:49:45 · 1561 阅读 · 0 评论 -
Learning with python: Chapter5~8 Fruitful functions, Iterations, Strings, Lists
Examples:# Fruitful functionsprint "===========Fruitful functions============"import mathdef area(radius): return math.pi*(radius**2)mianji=area(2);print mianjidef fibonacci(n): if not isi原创 2013-08-13 21:25:14 · 1450 阅读 · 0 评论 -
fscanf与fprintf
int fscanf(FILE *stream, char *format,[argument...])【参数说明】stream 文件指针 format 数据格式,指%d,%c,%f等 argument 数据【返 回 值】整型,数原创 2012-07-18 22:46:40 · 1446 阅读 · 0 评论 -
程序性能分析工具gprof介绍
性能分析工具gprof介绍Ver:1.0目录1. GPROF介绍 42. 使用步骤 43. 使用举例 43.1 测试环境 43.2 测试代码 43.3 数据分析 53.3.1 flat profile模式 63.3.2 call graph模式 74.转载 2012-09-09 22:40:51 · 2438 阅读 · 0 评论 -
MATLAB调用C程序
通过把耗时长的函数用c语言实现,并编译成mex函数可以加快执行速度。Matlab本身是不带c语言的编译器的,所以要求你的机器上已经安装有VC,BC或Watcom C中的一种。如果你在安装Matlab时已经设置过编译器,那么现在你应该就可以使用mex命令来编译c语言的程序了。如果当时没有选,就在Matlab里键入mex -setup,下面只要根据提示一步步设置就可以了。转载 2012-09-25 08:56:49 · 6821 阅读 · 1 评论 -
C语言调用函数设计
在程序设计过程中,我们常常有这样的困惑,如何设计函数的数据输入和输出。一个函数从内存的角度来看,可将参数分为输入缓冲、输出缓冲和返回STATE。说白了,一个函数的功能就是对输入缓冲区的值执行某种操作,将执行的结果放入输出缓冲区中。如上图所示,设输入缓冲区为*in_buf,长度为in_len,输出缓冲区为*out_buf,长度为out_len。原创 2012-11-07 14:34:46 · 1447 阅读 · 0 评论 -
函数返回类型为指针类型时的一些问题
原文出处:http://blog.csdn.net/tigerjb/article/details/7425571#comments 1.先看程序:#includechar *returnStr(){ char *p = “tigerjibo”; return p;}int main(){ cha转载 2012-08-23 21:00:04 · 1152 阅读 · 0 评论 -
牛逼的验证码,printf返回值
牛逼的验证码,如下图,结果是4321,为什么呢,主要是printf返回值问题?那么printf到底返回什么?经查阅,printf的返回值是打印的字符个数,因此结果是4321就很明显了。原创 2013-07-09 21:18:30 · 1984 阅读 · 0 评论 -
#define命令的一些高级用法
#define 高级用法,其中附带包括了extern "C"部分的解释。原创 2013-07-26 13:14:43 · 20517 阅读 · 0 评论 -
C99标准和C89标准的区别
转载出处:http://blog.csdn.net/jsufcz/article/details/6051836GCC 支持C99,通过 --std = c99命令行参数开启。 例如:gcc --std = c99 test.c 1、增加restrict指针 C99中增加了适用于指针的restrict类型修饰符,它是初始访问指针所指对象的惟一途径,因此只有借转载 2013-08-21 13:27:16 · 4200 阅读 · 0 评论 -
C语言中的回调函数
C语言中通过函数指针实现回调函数(Callback Function)====== 首先使用typedef定义回调函数类型 ====== typedef void (*event_cb_t)(const struct event *evt, void *userdata);上面的语句表示event_cb_t类型函数范围值类型为void类型。====== 定义并实现一原创 2013-08-21 22:06:12 · 9334 阅读 · 1 评论 -
可变参数函数的实现
前提要求:包含#include ,该头文件中定义了一个va_list类型和三个宏——va_start、va_arg和va_end【实现过程实例】/* * 作者:夏侯佐鑫 * 日期: 2012.06.21 * 功能:可变参数计算平均值 */#include #include float average(int n_values, ...){ va_list var_ar原创 2012-06-22 16:35:17 · 1711 阅读 · 0 评论 -
关于怎样产生随机数的彻底研究
C语言/C++中怎样产生随机数C语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。(1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为转载 2013-08-11 23:00:06 · 4699 阅读 · 0 评论 -
删除C程序中的注释
搞神马软件著作权,什么,还得把所有注释去了,代码之间不能有空行。。。。好吧,删到手麻还不知道删干净没有,突然想到,干嘛不用程序呢?也不东藏西捏的,直接给出matlab的代码,matlab中直接可用:% 删除C文件中的注释内容,删除注释后删除空行% xiahouzuoxin% 2014.02.15% 测试OK,能删除C源文件中/**/和//格式的注释,能删除非首尾的空行原创 2014-02-15 17:44:48 · 6513 阅读 · 1 评论