• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
小比丘
博客园    首页    新随笔    联系   管理    订阅  订阅
07 2012 档案
螺旋数组

摘要:写在前面:依然是在《程序员面试宝典》看到的例题:输入N,用C++生成N*N的螺旋数组,并打印出来。书上给了实现代码,http://www.cnblogs.com/lovell-liu/archive/2011/09/19/2181598.html也有很好的实现代码,当然我自己也实现了。/*螺旋数组是一个从中心螺旋形扩展的数组,如8*8的螺旋数组: 49 50 51 52 53 54 55 56 48 25 26 27 28 29 30 57 47 24 9 10 11... 阅读全文
posted @ 2012-07-25 17:25 小比丘 阅读(4178) 评论(0) 推荐(0)
输入范围内的整数(C++)

摘要:#include <iostream> using namespace std; int main() { int N; cout<<"请输入1~100之间的整数N:"; bool input_again=false; do { cin.clear(); cin.sync(); cin>>N; if(!cin) //输入整数不成功 { cout<<"N必须是1~100之间的整数,请重新输入N:"; ... 阅读全文
posted @ 2012-07-24 21:27 小比丘 阅读(1033) 评论(0) 推荐(0)
zigzag数组

摘要:写在前面:在《程序员面试宝典》看到的例题:输入N,用C++生成N*N的zigzag数组,并打印出来。书上给了实现代码,http://www.cnblogs.com/lovell-liu/archive/2011/09/19/2181598.html也有很好的实现代码,当然我自己也实现了。先贴代码/*zigzag数组是一个“之”字形排列的数组,如8*8的zigzag数组: 0 1 5 6 14 15 27 28 2 4 7 13 16 26 29 42 3 8 1... 阅读全文
posted @ 2012-07-24 20:45 小比丘 阅读(4758) 评论(1) 推荐(2)
查看C/C++程序执行结果的方法------system("pause"),getchar(),cin.get()

摘要:使用一些IDE(Visual C++,Dev C++等等)编写C/C++程序,经常会看到程序的执行结果一闪而过,为了查看程序的执行结果,可以在代码的最后加上system("pause"); 这是比较流行的做法,但是看看这篇文章吧 Things to Avoid in C/C++ -- system("pause") 这篇文章不推荐大家使用"system("pause"); ",因为: 1. 不可移植。只适合DOS或Windows,但是不适合Linux等 2. 耗费系统资源。调用系统命令system(),去做&quo 阅读全文
posted @ 2012-07-24 20:06 小比丘 阅读(3224) 评论(1) 推荐(1)
GCC默认的标准不是ANSI C,而是GNU C90

摘要:我以前以为GCC默认的C标准是ANSI C,但是看了文档才知道默认标准是C90 with GNU extensions。"extensions"有那些?看这里:http://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html#C-Extensions如果想要返璞归真,只遵循ANSI C,编译时加上-ansi选项即可(再加-pedantic选项,确保编译器使用该标准)。加上这个选项后,你会发现好多平时无错的地方,编译时却出错。最普遍的错误是"// 开头的单行注释",因为它在ANSI C中是不允许的,所以整行报错。来看一 阅读全文
posted @ 2012-07-21 05:14 小比丘 阅读(3363) 评论(2) 推荐(2)
VC++ 2010对C99的支持

摘要:VC++支持ANSI C毋庸置疑,不过对于是否支持C99,我倒看到两种说法:1. 不支持C99.http://en.wikipedia.org/wiki/Visual_C%2B%2B#Issues2. 支持C99的个别特性.http://en.wikipedia.org/wiki/ANSI_C#Compilers_supporting_ANSI_Chttp://social.msdn.microsoft.com/Forums/pl-PL/vclanguage/thread/8c3ce91d-e4bc-4a95-a122-b19cac1e94aa到底是神马情况? 我试验了VC++ 2010,可以 阅读全文
posted @ 2012-07-21 04:18 小比丘 阅读(5920) 评论(0) 推荐(0)
C/C++预定义宏

摘要:写在前面:这是我看一些资料然后总结的,肯定会有出入。不妥之处,望多批评指正。预定义宏,顾名思义,就是事先已经定义好的宏。有两个特性:无需提供它们的定义,就只可以直接使用。预定义宏没有参数,且不可被重定义。预定义宏一般分为两类:标准预定义宏,编译器预定义宏。1 标准预定义宏(Standard Predefined Macros) 标准预定义宏由相关语言标准指定。因此所有使用该标准的编译器都可以使用这些宏。ANSI C指定了以下预定义宏:__FILE____LINE____DATE____STDC____TIME____TIMESTAMP__ C99在__FILE__、__LINE__的之外... 阅读全文
posted @ 2012-07-21 01:00 小比丘 阅读(2684) 评论(0) 推荐(1)
GCC对C标准的支持

摘要:写在前面:GCC支持C90, 不完全支持C99。在不指定C标准的情况下,GCC默认使用GNU C。用一个式子表示GNU C:GNU C = C90 + GNU Extensions = C90 + (some features in C99 + some features in C11)GCC(GNU Compiler Collection,GNU编译器套装),是一套由GNU开发的编程语言编译器。原名为GNU C语言编译器(GNU C Compiler),因为它原本只能处理C语言。GCC很快地扩展,变得可处理C++。之后也变得可处理Fortran、Pascal、Objective-C、Java 阅读全文
posted @ 2012-07-20 13:07 小比丘 阅读(10577) 评论(3) 推荐(2)
VC++对C标准的支持

摘要:写在前面:VC++的C编译器,只支持C89,不支持C99和C11。而且微软也不打算在未来的VC++版本中支持C99和C11,他们把更多的精力放在C++上。以下内容摘自wiki:Visual C++Microsoft Visual C++ (often abbreviated as MSVC or VC++) is a commercial (free version available), integrated development environment (IDE) product from Microsoft for the C, C++, and C++/CLI programming 阅读全文
posted @ 2012-07-20 10:40 小比丘 阅读(3247) 评论(0) 推荐(0)
C语言标准

摘要:写在前面:K&R C不用说。个人以为,我们平常说的标准C,指的是ANSI C,ISO C,C89,C90。K&R C 1978年,丹尼斯•里奇(Dennis Ritchie)和布莱恩•柯林汉(Brian Kernighan)合作出版了《C程序设计语言》的第一版。书中介绍的C语言标准也被C语言程式设计师称作“K&R C”,第二版的书中也包含了一些ANSI C的标准。K&R C主要介绍了以下特色:结构(struct)类型长整数(long int)类型无符号整数(unsigned int)类型把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处 阅读全文
posted @ 2012-07-20 08:37 小比丘 阅读(11713) 评论(2) 推荐(5)
一道智力题

摘要:一道智力题有十二枚鸡蛋,其中一枚坏掉了(重量与其余不同),现要求用天平称三次称出哪个鸡蛋是坏的。解:首先对于本题,有两点知识:知识1:在知道轻重的情况下,一次称量可以在3个蛋中,确定哪个是坏的。知识2:在不知道轻重的情况下,一次称量也可以在2个蛋中,确定哪个是坏的。对于知识1,随便拿两个蛋进行称量,如果平衡,则第三个蛋是坏的。如果不平衡,那么根据坏蛋的轻重,也可以判断这两个蛋中哪个是坏的。对于知识2,从已确定是好的蛋中取一个,和2个待选坏蛋中一个,进行称量,如果平衡,那么这个蛋是好的,另一个蛋是坏的。如果不平衡,那么这个蛋是坏的。(1) 将12个鸡蛋编号,然后平均分成三组,记为A,B,C。A组 阅读全文
posted @ 2012-07-09 09:46 小比丘 阅读(600) 评论(0) 推荐(0)
一道笔试题

摘要:已知两个1~30之间的数字,甲知道两数之和,乙知道两数之积。 甲问乙:"你知道是哪两个数吗?"乙说:"不知道";乙问甲:"你知道是哪两个数吗?"甲说:"也不知道";于是,乙说:"那我知道了";随后甲也说:"那我也知道了";请问这两个数是什么?解:设这两个数为x,y. 甲知道两数之和 A=x+y; 乙知道两数之积 B=x*y;该题分两种情况l 允许重复, 有(1 <= x <= y <= 30);l 不允许重复,有(1 <= x < y <= 阅读全文
posted @ 2012-07-01 21:21 小比丘 阅读(1064) 评论(0) 推荐(0)

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3