![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
文章平均质量分 54
xiaobo620
这个作者很懒,什么都没留下…
展开
-
c语言取整数,小于等于x的最大整数
C语言有以下几种取整方法: 1、直接赋值给整数变量。如: int i = 2.5; 或 i = (int) 2.5; 这种方法采用的是舍去小数部分,可以用于你的问题。 2、C/C 中的整数除法运算符“/”本身就有取整功能(int / int),而下面介绍的取整函数返回值是doub原创 2011-07-21 10:47:18 · 13548 阅读 · 1 评论 -
指向函数的指针
指针不仅可以指向数据,也可以指向函数,假设编写了integrated的函数用来求a和b点之间的函数f的积分。我们希望函数integrate通过传递f作为实际参数的方式变得更为通用函数integrate的原型如下:double integrate( double (*f)(double),double a, double b);在*f周围的圆括号说明f是个指向函数的指针,而不是函数的返回原创 2012-03-22 21:29:11 · 430 阅读 · 0 评论 -
atoi函数实现
int atoi(const char * str);函数说明参考:http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/功能:将str里整数字符,翻成整数该函数:1:忽略开始的空白字符串,知道非空白的字符开始转换2:处理正负+ - 字符3:如果字符串为空,或者字符串里首字符不为数字或者正负号,不做转换原创 2012-04-19 16:00:54 · 1373 阅读 · 4 评论 -
二叉树的操作 深度广度遍历,二叉树递归和非递归遍历
二叉树的操作参考:[1]http://www.cnblogs.com/dolphin0520/archive/2011/08/25/2153720.html [2]http://www.bccn.net/article/kfyy/sjjg/200706/4585.html#include"stdio.h"#include#includeusing namespace s原创 2012-03-29 21:15:23 · 791 阅读 · 0 评论 -
memcpy函数实现及其优化
1:函数原型void * memcpy ( void * destination, const void * source, size_t num );函数作用参考:http://www.cplusplus.com/reference/clibrary/cstring/memcpy/Copy block of memoryCopies the values of num b原创 2012-04-23 13:34:23 · 40807 阅读 · 15 评论 -
算法导论 归并排序解决逆序数
算法导论上对归并排序的算法描述如下基本思想是将序列分成两部分 L R,然后合并,L R 是有序的算法的合并过程:Pseudocode:MERGE(A, p, q, r )n1 ← q − p + 1n2 ←r − qcreate arrays L[1 . . n1 + 1] and R[1 . . n2 + 1]for i ← 1 to n1do L[i ] ← A[p + i原创 2011-07-06 01:24:00 · 1024 阅读 · 0 评论 -
全排列
来自http://dongxicheng.org/structure/permutation-combination/参考http://blog.csdn.net/whoismickey/article/details/3907334http://www.cnblogs.com/wonderKK/archive/2012/04/05/2433694.htmlhttp://www.c原创 2012-04-12 16:11:50 · 690 阅读 · 0 评论 -
两个队列实现栈和两个栈实现队列
栈:先进后出队列:先进先出1:两个队列实现栈:队列A队列B入栈:入队列A, 1,2,3,4 入栈,在队列A里为 A: 1,2,3,4出栈,将队列A中的元素入队列B直到队列A里的元素只剩下一个,则队A为4,队B为1,2,3,A:4,B:1,2,3,输出A队头4#include #include using namespace std;queue A,B;voi原创 2012-04-11 12:43:32 · 602 阅读 · 0 评论 -
二进制中1的个数
题目:实现一个函数,输出该数二进制表示中1的个数由于要考虑到负数等问题对数n移位,不能解决负数问题:解法1 flag = 1,向左移动flagint coutNumber1fun1(int n){ unsigned int flag = 1; int cout = 0; while(flag) { if(n&flag)cout++; flag = flag原创 2012-09-06 20:23:45 · 733 阅读 · 0 评论 -
C++转型
内容来自《21天C++》和《efective c++》c风格的类型转换char * pszString = "hello world!";int* pBuf = (int *)pszString;c风格的类型转换实际上是强迫编译器根据程序员的选择来解释目标对象C++提供了一种新的类型转换运算符,专门用于继承的情形,这种情形在c中并不存在4个类型转换运算符如下:c原创 2012-03-27 13:39:40 · 2933 阅读 · 0 评论 -
swap函数
//值传递void swap1(int p,int q){ int temp; temp = p; p = q; q = temp;}//指针传递(地址传递)void swap2(int *p,int *q)//不正确{ int *temp; //定义了指针,但并没有为指针指向的内容分配内存 *temp = *p;// 拷贝p指的内存到temp指向的内存,但temp指向的原创 2012-05-01 20:19:27 · 677 阅读 · 0 评论 -
指针做为形参
1,void GetMemory(char *p, int num){ p = (char *)malloc(sizeof(char) * num);}void Test(void){ char *str = NULL; GetMemory(str, 100); // str 仍然为 NULL strcpy(str, "hello"); // 运行错误原创 2012-04-23 22:35:44 · 1022 阅读 · 0 评论 -
ubuntu 10.04 vim配置笔记
vim 已经安装 vim -v 查看1:sudo apt-get install vim-addon-manager2: sudo apt-get install vim-scripts3:vim-addons status显示系统中安装了哪些扩展,哪些是对当前用户开启的,哪些是禁用的4sudo apt-get install exuberant-ctags5 vi原创 2011-11-09 14:24:55 · 813 阅读 · 0 评论 -
位图
STL里的位标识类,STL bitset是一个STL类,用于处理以位和位标志表示的信息,std::bitset不是STL容器类,因为它不能调整长度,也不具备容器的其他特征(见容器特征),如通过迭代器进行访问。这是一个实用类,针对处理长度在编译阶段已知的位序列进行了优化。示例:#include #include #include int main(){ bitset eig原创 2012-03-10 13:41:25 · 452 阅读 · 0 评论 -
指针与数组的区别
源自《c语言深度剖析》指针和数组的对比区别:1:存储的内容指针:保存数据的地址,任何存入指针变量p的值都会被当做地址来处理,p本身的地址,由编译器另外存储,存储在哪里 我们并不知道数组:保存数据,数组名a代表的是数组首元素的首地址,&a是整个数组的首地址,即这个对象的地址,a本身的地址由编译器另外存储,存在哪里我们并不知道2:访问数据的方式:----------原创 2011-09-13 22:44:42 · 426 阅读 · 0 评论 -
大小端存储模式
大端模式:低字节存储在高地址小端模式:低字节存储在低地址例如 int i = 1;占4个字节大端模式:低地址 ---- 0x0 0x0 0x0 0x1 ---高地址小端模式:高地址-----0x0 0x0 0x0 0x1 ----低地址程序检测:#include"stdio.h"//方法1void checkSysetem1(){ unsign原创 2011-08-31 20:13:11 · 545 阅读 · 0 评论 -
c复习笔记
1:switch()后必须是整形表达式,c语言把字符当成整形,所以可以处理字符,但是浮点型和字符串不可以2:char str = “xiaobo” sizeof(str)为7 有\0的长度3:http://blog.csdn.net/Veini/article/details/56338744:当数组作为函数的形式参数时,可以(而且是通常情况下)不说明数组的长度,例如 int fun原创 2011-09-13 22:47:09 · 431 阅读 · 0 评论 -
C字符串处理
1:字符串字面量char *p;p = "abc" // p指向字符串第一个字符char ch;ch = “abc”[1];//字符串字面量添加下标,c语言允许给指针添加下标只包含一个字符的字符串字面量不同于字符常量,字符串字面量“a”是用来指针来表示,字符常量 用整数表示(字符的ASCII值)2,字符串的输出 printf 和 putschar str[ ] = "I am原创 2011-09-08 13:56:05 · 1048 阅读 · 0 评论 -
mian函数之前执行函数,和main函数之后执行函数
1:怎样样在main函数未开始之前,执行一个函数呢?利用全局变量+类的构造函数#include using namespace std;class A{ public: A(int m);};A::A(int m){ cout<<"constructor fun"<<m<<endl;}A a(10);//先调用构造函数int main(){ cout<<"mia原创 2012-04-24 20:16:21 · 1065 阅读 · 2 评论 -
C编程小题
1:数组越界和unsigned char#define MAX 255void main(){unsigned char i; unsigned char A[MAX]; for(i = 0; i <= MAX; i++)//i达到255后,加1变为0,无线循环下去 { A[i] = i; printf("*%d*",A[i]); }}两个问题:原创 2012-03-26 10:40:52 · 583 阅读 · 0 评论 -
树的子结构
面试题目:输入两颗二叉树A,B,判断B是不是A的子结构;#include #include using namespace std;typedef struct BinaryTreeNode{ int value; BinaryTreeNode * lchild; BinaryTreeNode *rchild;}BinaryTreeNode;typedef BinaryTre原创 2012-09-08 12:07:12 · 1004 阅读 · 0 评论