- 博客(42)
- 收藏
- 关注
转载 几道面试题
原题大意是这样的:有N个大小不等的自然数(1--N),请将它们由小到大排序。要求程序算法:时间复杂度为O(n),空间复杂度为O(1)。(请你做做看,时间20分钟)#include #include print_ok(int a[],int num){ int i; for(i=0;i { printf("%d",a[i]); } printf("/n");}i
2005-01-20 10:16:00
1258
原创 唐僧在如来面前吐真言
【 以下文字转载自 Joke 讨论区 】【 原文由 apple0123 所发表 】 唐僧西天取得真经100年之后的一天,唐僧到如来家里做客。如来为了检验他这100年来修炼程度,席间谈话如下: 众所周知,你当年的成功,离不开你的三个得力徒弟,悟空,八戒,沙僧。那么你本人最喜欢哪个徒弟呢?唐僧给的答案多少有些出乎如来的意料,那就是:八戒。 "八戒最大的优点就是可爱。"唐僧满面笑容的说道,
2005-01-12 12:32:00
1320
原创 学编程的人不能不看的好文章
(枣子原创--www.vcroad.net wutao8@263.net) ◎流星 版权所有,拒绝转载◎3EQ2bJ3i0l做为一名大四的学生,我面试过不少的单位,有成功的也有失败的,但是对我来说所有的失败在某种意义上都是一种成功,特别是我下面写的这些,写这篇文章的时候,我已经签了南京的一家软件公司,但是想起今年2月21日我面试苏州台湾的IT公司的经历联想到我们现在 ◎流星 版权所有,拒绝转载◎R
2004-12-29 23:01:00
2518
3
原创 left operand must be l-value
-- 作者:maimarco-- 发布时间:2004-11-10 19:51:01-- 错了吗?不明白!!!!// sd.cpp : Defines the entry point for the console application.// #include "stdafx.h"#include struct classd{char name[8];int age;
2004-12-26 16:31:00
4909
原创 C语言之extern声明辨析
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。 2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗?
2004-12-21 11:19:00
1955
原创 堆和栈的区别
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,
2004-12-21 10:58:00
1257
原创 C的变长参数的思考
某些情况下希望函数的参数个数可以根据需要确定。典型的例子有大家熟悉的函数printf()、scanf()和系统调用execl()等。那么它们是怎样实现的呢?C编译器通常提供了一系列处理这种情况的宏,以屏蔽不同的硬件平台造成的差异,增加程序的可移植性。这些宏包括va_start、va_arg和va_end等。 ---- 采用ANSI标准形式时,参数个数可变的函数的原型声明是: type funcna
2004-12-21 10:29:00
957
原创 C语言中可变参数的用法
C语言中可变参数的用法 我们在C语言编程中会遇到一些参数个数可变的函数,例如printf() 这个函数,它的定义是这样的: int printf( const char* format, ...); 它除了有一个参数format固定以外,后面跟的参数的个数和类型是 可变的,例如我们可以有以下不同的调用方法: printf("%d",i); printf("%s",s); printf("the n
2004-12-21 10:10:00
971
原创 写给C语言初学者的话
学习C语言不要心急,要循序渐进,须知欲速则不达的道理。千万不要盲目的写大量的代码,这样做只会堆出大量的低档次代码,同时使你形成不好的代码习惯。先买本基础的教材来看看,使得对C语言有个初步的认识,其实我现在手头上还放着《The C Programming Language》和《C程序设计(第二版)》(大学教材)呢,有些时候我还会为了一些基本性的概念来翻翻看呢。 如果你的身边
2004-12-17 16:32:00
1120
原创 C语言之四书五经
作者:乾坤一笑 C语言教学早就进入了我国各大高校的教程,但是大家对它的认识以及重视程度还很是不够。很多人认为C语言无非是一种教学语言,是一种工业语言,它很老了,该淘汰了,比不上VC++、Java、C#等新兴语言牛B,所以不是很重视C语言。我认为,这些朋友是受了某些舆论的误导才会有此看法。C语言是各大操作系统的基础,Unix、Linux、Windows其内核都清一色是C语言开发的,(某些地方是
2004-12-10 17:16:00
1842
原创 C语言程序设计基础之联合
【简 介】 “联合”与“结构”有一些相似之处。但两者有本质上的不同。在结构中各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度。应该说明的是,这里所谓的共享不是指把多个成员同时装入一个联合变量内,而是指该联合变量可被赋予任一成员值,但每次只能赋一种值,赋入新值则冲去旧值。如前面介绍的“单位”变量,如定
2004-12-10 16:55:00
1146
原创 伪造IP包,禁止TCP连接
大家是否想过在局域网内如何禁止别人访问web server,pop3,ftp等。那么如何禁止呢?大家都知道TCP是面向连接的,连接时有三次握手,之后才能确认连接成功。那么我们就应该能在第一次握手之后伪造一个服务方的握手返回,从而达到TCP连接不成功,无法访问某端口。程序如下: void DeCodeIP(buf,iBufSize) //解析侦听到的IP数据包{IPHEADER * pIPhdr;T
2004-12-09 20:44:00
2250
原创 C程序开发规范
程序设计规范 1. 文件夹与文件的命名规则1.1 文件夹命名 ① 根据系统设计所规定的结构,建立相应的文件夹,根据需要建立子文件夹② 文件夹的名称应尽量能够表达其意义,尽量使用英文命名,绝对不能汉字③ 文件夹名称的必须全部使用小写字母 (如 “ /example ” )1.2 文件命名 ① 文件的名称应尽量能够表达其意义,尽量使用英文命名,绝对不能汉
2004-12-09 20:40:00
1443
原创 帮你免于失业的十大软件技术
能跟上关键技术的发展,是你在就业市场和未来保持优势的最佳手段。你对我们列出的十门技术精通吗?哪怕是大略精通? 罗素·琼斯,执行编辑 2002年12月11日 我不知道你的具体工作是什么。如果你是某冷门领域的专家而变得不可或缺,或者你们的公司十分稳固,以你现有的技术就足以安度你的职业生涯,那我不知道你是否有失业的危险。不管怎样,请你先不要急着寄出那些告诉我你们的公司对用VB3十分满意或你们除C以外永不
2004-12-09 20:37:00
992
原创 C语言:陷阱和缺陷
原著:Andrew Koenig - AT&T Bell Laboratories Murray Hill, New Jersey 07094翻译:lover_P0 简介 C语言及其典型实现被设计为能被专家们容易地使用。这门语言简洁并附有表达力。但有一些限制可以保护那些浮躁的人。一个浮躁的人可以从这些条款中获得一些帮助。 在本文中,我们将会看一看这些未可知的益处。这是由于它的未可知,我
2004-12-09 20:35:00
1106
原创 学编程,决不可心浮气燥。任何实践都是……
学编程,决不可心浮气燥。任何实践都是…… 来自http://blog.youkuaiyun.com/joohnnie 注:该文章话语虽然有些偏激,但是也并不是全无道理,值得一读. 对于这个问题,我的基本观点是:任何实践都是理论的载体或表现形式。而理论也是由实践上升而来的。两者是辨证的。今天,我们只关注它的前一部分:任何实践都是理论的载体和表现形式。 我不是想故弄玄虚,
2004-12-09 20:23:00
1442
原创 一个高精度计时的办法(gcc版)
根据MSDN的资料http://support.microsoft.com/default.aspx?scid=kb;en-us;172338,api提供的计时器最精确的就是使用QueryPerformanceCounter了,在我公司celeron2.4g的机器上通过QueryPerformanceFrequency再计算得到的计时单位大约是2.79e-7,如果需要再精确一点的计时,就需要采用获
2004-12-09 20:11:00
1527
原创 华为公司三层以太网交换机基本原理及转发流程
1. 二层转发流程1.1. MAC地址介绍MAC 地址是48 bit 二进制的地址,如:00-e0-fc-00-00-06。可以分为单播地址、多播地址和广播地址。单播地址:第一字节最低位为0,如:00-e0-fc-00-00-06多播地址:第一字节最低位为1,如:01-e0-fc-00-00-06广播地址:48 位全1,如:ff-ff-ff-ff-ff-ff注意:1)普通设备网卡或者路由器设备路由
2004-12-09 20:07:00
2325
原创 C/C++的思索 C++之父访谈录
在1998年的元旦,Bjarne Stroustrup(C++之父)接受了IEEE《计算机》杂志记者的专访。编辑很自然的认为他会对于过去七年来使用他创建的语言进行面对对象设计做一个历史性的回顾。而在这个专访中,记者获得了更有价值的新闻,但是最后编辑决定为了整个IT产业,这个稿子不能发表,但是就像其它被砍掉的新闻,往往还是弄得路人皆知的。 这一篇适当时专访的完全拷贝,没有被编辑、删改或者做过什么润色
2004-12-09 20:05:00
891
1
原创 makefile简明指南
先说几句废话以前看书时经常遇到makefile,nmake这几个名词,然后随之而来的就是一大段莫名其妙的代码,把我看得云里雾里的。在图书馆和google上搜了半天,也只能找到一些零零星星的资料,把我一直郁闷得不行。最近因缘巧合,被我搞到了一份传说中的MASM6手册,终于揭开了NMAKE的庐山真面目。想到那些可能正遭受着同样苦难的同志以及那些看到E文就头晕的兄弟,所以就写了这篇文章。假如大
2004-12-09 19:54:00
1753
2
原创 指针的爱情
zz-freecity observer1 指向变量的指针变量: 出身: int * point; 遭遇: 两人都另有新欢 心声: 你可以变心,我也可以爱别人,很公平。2 指向常量的指针变量: 出身: const int * point; 遭遇: 抛弃对方 心声: 说过多少回了,我们之间已经结束了,你别再缠着我了,告诉你,我已经有了新的女朋友了3 指向变量的指针常量: 出身:
2004-12-09 19:44:00
873
原创 C与Java中取精确到毫秒的时间
我们在编程中经常会为了测试性能,要取一个操作前后的时间差。在java中很简单,用System.currentTimeMillis()函数,就能够得到当前时间,精度为毫秒。在c语言中,大多数的日期类函数都是精确到秒的,如time(),localtime()。精确到毫秒的函数有ftime(),gettimeofday(),都是返回一个结构。其中ftime()在time.h中定义,返回一个struct
2004-12-09 19:38:00
2496
原创 DOS命令集
(一)MD——建立子目录 1.功能:创建新的子目录2.类型:内部命令3.格式:MD[盘符:][路径名]〈子目录名〉4.使用说明:(1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;(2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。例:(1)在C盘的根目录下创建名为FOX的子目录;(2)在FOX子目录下再创建USER子目录。
2004-12-09 19:33:00
810
原创 C语言之static辨析
1、概述 static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。2、问题:Static的理解 关于static变量,请选择下面所有说法正确的内容: A、
2004-12-09 19:05:00
955
原创 C语言之指针、数组和函数
基本解释 1、指针的本质是一个与地址相关的复合类型,它的值是数据存放的位置(地址);数组的本质则是一系列的变量。 2、数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。 3、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。 问题:指针与数组 听说
2004-12-09 18:53:00
688
原创 C语言之内存使用
问题:内存使用 有人写了一个将整数转换为字符串的函数:char *itoa (int n){ char retbuf[20]; sprintf(retbuf, "%d", n); return retbuf;} 如果我调用这个函数:char *str5 = itoa(5),str5会是什么结果呢? 答案分析: 答案是不确定,可以确定的是肯定不是我们想要的 “5”。 re
2004-12-09 18:49:00
743
原创 C语言之typedef的问题
1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。 至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。 2. typedef &
2004-12-09 18:46:00
733
原创 C语言之指针综合谈
1、概述 static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。 2、问题:Static的理解 关于static变量,请选择下面所有说法正确的内容:
2004-12-09 18:44:00
647
原创 经典C程序100例
【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。2.程序源代码:main(){int i,j,k;printf("/n");for(i=1;i for(j=1;j for (k=1;k { if
2004-12-06 19:05:00
1172
原创 C语言编程风格
第一章:缩进格式 Tab是8个字符,于是缩进也是8个字符.有很多怪异的风格,他们将缩进格式定义为4个字符(设置为2个字符!)的深度,这就象试图将PI定义为3一样让人难以接受. 理由是:缩进的大小是为了清楚的定义一个块的开始和结束.特别是当你已经在计算机前面呆了20多个小时了以后,你会发现一个大的缩进格式使得你对程序的理解更容易. 现在,有一些人说,使
2004-12-06 18:56:00
905
原创 C语言初学者易踩十八颗“地雷”
C语言的最大特点是:功能强、使用方便灵活。C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,本人通过对C的学习,积累了一些C编程时常犯的错误,写给各位学员以供参考。 1.书写标识符时,忽略了大小
2004-12-06 14:25:00
962
1
原创 C++提高篇之const的深入提高
我们也许学习过const的使用,但是对于const的细致的技术细节却不一定掌握。const的用法在许多的教材上只是简单的介绍,在这里我们对const进行细致的概念以及用法剖析。const 是由c++采用,并加进标准c中,但是他们的意义完全不同,在旧版本(标准前)的c中,如果想建立一个常量,必须使用预处理器:#define PI 3.14159此后无论在何处使用PI,都会
2004-12-06 13:50:00
684
原创 C++中static 和const的解释
作者:yuxq 发表于:2003-08-20 08:37:03 static 是c++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实质。 static 的两大作用: 一、控制存储方式: static被引入以告知编译器,将变量存储在程序的静态存储区而非栈上空间。 1、引出原因:函数内部定义的变
2004-12-06 13:42:00
971
原创 C++中的static
一、在面向过程设计中的static关键字1、静态全局变量定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量。特点: A、该变量在全局数据区分配内存。 B、初始化:如果不显式初始化,那么将被隐式初始化为0。 C、访变量只在本源文件可见,严格的讲应该为定义之处开始到本文件结束。 例(摘于C++程序设计教程---钱能主编P103): //file
2004-12-06 13:25:00
817
原创 C语言中正确使用const
基本解释 const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的健壮性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。虽然这听起来很简单,但实际上,const的使用也是c语言中一个比较微妙的地方,微妙在何处呢?请看下面几个问题。问题:const变量 & 常量 为什么我象下面的例子一样用一个const
2004-12-06 13:21:00
949
原创 C语言中const的使用
CONST AND PASS-BY-VALUE 使用一个常量前缀(const)可以避免传址变量的修改: void f(const string & s); 一些开发者即使针对传值变量也用 const : void f(const int n); /*n is passed by value, why const?*/ const 是否真的必要? 不, 不需要. 记住, 在你使用传值变量的时候, 调
2004-12-06 13:06:00
1262
原创 C语言中const应注意的一些地方
Const我们经常要用到,但有时不注意就会导致程序异常,而你还不知道怎么回事,一些是在用const要注意的:1. 函数返回值为const时,返回的东西赋给一个类型相同的标示后其不能为左值;2. 用const定义的int可用来开辟数组,但const定义的常量数组中的元素,不能用来定义数组。 3. const int *i; int const *i; int * const i; 前两个
2004-12-06 13:01:00
952
原创 C语言中用const改善程序的健壮性
关于C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,现将本人的一些体会总结如下,期望对大家有所帮助:一 const基础如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况: int b = 500;const int* a = &b; [1]int const *a = &b; [2]int* const a = &b; [3]const int
2004-12-06 12:47:00
1348
原创 const修饰指针和引用释疑(转载)
const修饰指针和引用的用法,对于初学C++的人直是讳莫如深,不知所云.一旦你了解了其用法,一切便不值一哂了.下面我为读者一一释疑: 大致说来其可分为三种情况: const修饰指针,const修饰引用,const修饰指针的引用. 1.const修饰指针 const修饰指针又可分为三种情况: const修饰指针本身 const修饰指针所指的变量(或对象)
2004-12-06 12:41:00
881
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人