C/C++
文章平均质量分 79
niuox
这个作者很懒,什么都没留下…
展开
-
C语言里的左移和右移运算
先说左移,左移就是把一个数的所有位都向左移动若干位,在C中用int i = 1;i = i 也就是说,1的2进制是000...0001(这里1前面0的个数和int的位数有关,32位机器,gcc里有31个0),左移2位之后变成000...0100,也就是10进制的4,所以说左移1位相当于乘以2,那么左移n位就是乘以2的n次方了(有符号数不完全适用,因为左移有可能导致符号变化,下面转载 2012-01-30 21:08:11 · 1227 阅读 · 0 评论 -
堆和栈
一 英文名称 堆和栈是C/C++编程中经常遇到的两个基本概念。先看一下它们的英文表示:堆――heap栈――stack二 从数据结构和系统两个层次理解 在具体的C/C++编程框架中,这两个概念并不是并行的。深入到汇编级进行研究就会发现,栈是机器系统提供的数据结构,而堆是由C/C++函数库提供的。这两个概念可以从数据结构和系统两个层次去理解:转载 2012-08-23 12:36:22 · 721 阅读 · 0 评论 -
编程中无穷大常量的设定技巧
如 果问题中各数据的范围明确,那么无穷大的设定不是问题,在不明确的情况下,很多程序员都取0x7fffffff作为无穷大,因为这是32-bit int的最大值。如果这个无穷大只用于一般的比较(比如求最小值时min变量的初值),那么0x7fffffff确实是一个完美的选择,但是在更多的情况 下,0x7fffffff并不是一个好的选择。很多时候我们并不只是单纯拿无穷大来作比较,而是会运算后再做比转载 2013-01-31 22:23:30 · 813 阅读 · 0 评论 -
Hoj 1057 Mileage Bank
本题超级简单,练习sscanf()使用,练习scanf()中正则表达式:[^ ]写法,练习ceil(),floor()函数用法。题目链接:http://acm.hit.edu.cn/hoj/problem/view?id=1057#include #include #include #include using namespace std;int main(){原创 2013-01-20 17:38:12 · 825 阅读 · 0 评论 -
sscanf和sprintf的高级用法
本文转自:http://www.cnblogs.com/gudu0723/archive/2012/11/02/2751400.htmlsscanf和sprintf是scanf和printf家族的一对成员,用于处理和分析字符串非常强大得两个函数头文件 stdio.h原型int sscanf(const char *buffer,const char *format,转载 2013-01-20 16:01:40 · 703 阅读 · 0 评论 -
Hoj 2991 Find the Point
本题也非常简单,主要练习sscanf()使用,以及sort()排序。题目:http://acm.hit.edu.cn/hoj/problem/view?id=2991#include #include #include #include #include using namespace std;struct point{ char s[100];原创 2013-01-20 20:17:01 · 617 阅读 · 0 评论 -
Hoj 2564 Regional Ranklist
题目:http://acm.hit.edu.cn/hoj/problem/view?id=2564本题有几点需要注意的:1:字典序排序时不区分大小写2:数据读入,我从没想过读第二个值时会覆盖掉第一个值,原来是因为我用于读入时间字符串的数组开小了,只开了8个单位,其实至少应有9个字节长度,于是就把表明题号的字符给覆盖掉了。。。失策失策,此生铭记。3:其余没什么好说的,熟悉一下Regi原创 2013-03-10 19:51:43 · 951 阅读 · 0 评论 -
Hoj 3029 Dictionary
题目连接:http://acm.hit.edu.cn/hoj/problem/view?id=3029题目是一个XML格式的文本,要筛选出相应缩进的词条。可以用栈来模拟这个过程。type = 0表示内容,1表示起始,2表示结束,其中1和2是对应关系。cur记录当前的缩进变化。如:范例中的XML格式的type分别是101021102102202另外注意string不能用scanf()原创 2013-02-28 19:23:35 · 601 阅读 · 0 评论 -
Hoj 1191 ID Codes
题目:http://acm.hit.edu.cn/hoj/problem/view?id=1191本题练习STL。生成排列有两个重要函数:头文件: #include bool next_permutation(begin, end);//改变区间内元素的顺序,产生下一个排列。bool prev_permutation(begin, end);//产生前一个排列。默认是从小到原创 2013-02-27 23:50:18 · 528 阅读 · 0 评论 -
STL源码学习----lower_bound和upper_bound算法
STL源码学习----lower_bound和upper_bound算法 STL中的每个算法都非常精妙,接下来的几天我想集中学习一下STL中的算法。 ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置转载 2013-02-27 19:52:38 · 724 阅读 · 0 评论 -
c/c++ 未知的陷阱——2元、3元转义字符
本文转自:http://www.54xue.com/w/80/n-32980.html 在编写程序时需要时时提防编译器背着我们干一些没有通知我们做的事,下面列举转义字符对程序的影响。 首先列出二字符组和三字符组对应的意思。 二元字符 等价字符 :> ] %> } %:或者转载 2012-12-28 22:57:30 · 927 阅读 · 0 评论 -
int、long、long long取值范围
Mark~~一下。。unsigned int 0~4294967295 int -2147483648~2147483647 unsigned long 0~4294967295long -2147483648~2147483647long long的最大值:9223372036854775807long long的最小值:-9223372036转载 2012-11-27 21:22:23 · 180586 阅读 · 8 评论 -
C++分割字符串函数
strtok的用法函数原型:char *strtok(char *s, char *delim); 函数功能:把字符串s按照字符串delim进行分割,然后返回分割的结果。 函数使用说: 1.strtok函数的实质上的处理是,strtok在s中查找包含在delim中的字符并用NULL(’\0′)来替换,直到找遍整个字符串。这句话有两层含义:(1)每次调用strtok函转载 2012-04-22 12:45:34 · 3654 阅读 · 2 评论 -
C++中数组名和指针的区别
记得在学习C++数组的时候,老师对我们说:数组名就是指针。这句话一直根深蒂固于我的脑袋里,直到我无意中编写一段程序时,发现两者并不完全等同,请看下面一段代码:int main(){ int number; int fullArray2[10]; cout<<"N:"<<endl; cin>>number; int * fullArray1= new i原创 2012-06-13 14:01:10 · 2504 阅读 · 1 评论 -
C++:STL标准入门汇总
第一部分:(参考百度百科) 一、STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。转载 2012-06-27 16:58:26 · 706 阅读 · 0 评论 -
C语言实现的Socket编程
接收端程序:#include #include #include #include #include #include #include #define myport 319char buf[200];int main(int argc , char *argv[]){ int sockfd,new_sockfd; struct sockad原创 2012-08-02 23:06:28 · 832 阅读 · 1 评论 -
基于sqlite数据库的C语言编程
转自:http://www.cnblogs.com/elect-fans/archive/2012/08/04/2622475.html一 SQLITE 操作入门 sqlite 提供的是一些 C 函数接口,你可以用这些函数操作数据库。通过使用这些接口,传递一些标准 sql 语句(以 char * 类型)给 sqlite 函数, sqlite 就会为你操作数据库。sqlite 跟 M转载 2012-08-13 16:26:34 · 1476 阅读 · 0 评论 -
12 Interesting C Interview Questions and Answers
英文原文来自:http://www.thegeekstuff.com/2012/08/c-interview-questions/本篇只是简要摘录和翻译:----------------------------------------------------------------分割线----------------------------------------------------翻译 2012-09-02 10:11:18 · 814 阅读 · 0 评论 -
getch()\getche()\getchar()的区别
简单的说:getch()读入一个字符不回显赋值给某一字符变量;此函数必须includegetche()带回显的读入一个字符赋值给某一字符变量;此函数必须includegetchar()函数也是带回显的读入一个字符,但等待输入直到回车才结束,回显的所有字符都会显示在屏幕上,但是只有一个字符作为返回值。运行下面的四个例子就明白了:1.这个例子是为了说明getch()和getche(原创 2012-10-18 12:18:30 · 873 阅读 · 0 评论 -
C++ fstream 的易错的用法
在写C++读写文件的时候,有时我们需要用到多种方式 ,读写是最基本的。但是IOS下有多种文件读写方式。我们应该认真的区分它们的异同点:均经过测试:1.iso::out (文件以输出方式打开)特点:如果这个文件不存在,那么执行此命令会新建文件。如果文件存在,那么会删除源文件,再新建一个(其实可以这样理解,它是从头开始写的)。即会将已存在文件内的内容都给清空。2.iso::in(文件以原创 2012-10-20 17:50:28 · 924 阅读 · 0 评论 -
c++ hash_map 详细介绍
文章转自:http://yujiawei.iteye.com/blog/409774为什么需要hash_map 用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑 张三丰-武当掌门人,太极拳创始人 东方不败-第一高手,葵花宝典转载 2013-09-15 16:45:42 · 2788 阅读 · 0 评论