TOC


选择这条路 - 收藏于 2011-09-12

选择这条路,就是选择了孤独

唯一的动力是,爸妈因为我而高兴和骄傲

从家回来,需要转车,爸从我在车站等车,到北京,再到晚上九点多到天津,一站一个电话,而且时间都算的刚刚好

在家呆了两天,突然又来到一个人的城市,心理空空的

每天晚上自己要走夜路回来

甚至是下着大雨,自己淌着水回来

我不想过这种生活

可能我命不好,越是害怕孤独,越是过这种生活

而且是没有尽头的孤独,和自我拼搏

肉体的辛劳,我能承受

可心理的孤独,没人能帮我

世上懂你的人,怎么会几个呢

选择了这条路,自己就要承担,不管以什么方式

我有一点小虚荣,但绝不是物质

我很谦虚好学,勤奋低调

更不会仗势欺人,自私爱财

最终还是要走这样的一条人生路

命中注定,我只能接受


五月计划 - 收藏于 2011-04-21

1.带爸爸来天津检查一下身体,顺便玩几天

2.回家一次

3.找家医院,弄一下脸上的小痣

 

差不多了,一个月就四个周末...其他时间还是要按部就班的上班.


预算一下 - 收藏于 2011-04-05

最近想买的东西:

1.NIKE的运动鞋   400左右

2.防晒霜              300左右

3.白衬衫              200左右

4.卡其裤              300左右

5.tata的凉鞋        400左右

6.太阳伞              200左右

7.吊带                 100左右

8.佰草集白泥      260


the social network 社交网络 - 收藏于 2011-03-24

《社交网络》,一部急风骤雨般的电影。它似乎在模仿着主人公的成功之路。让人喘不过气来的急速上升之后,Mark Zuckerberg,facebook的创始人,史上最年轻的亿万富翁,不过是个住在租来的房子里的26岁年轻人。
  
  那天在离Google总部不远的电影院看这部电影。片中当Zuckerberg决定将当时的the facebook推广到Stanford时,全场欢呼。我忽然有种感觉,好像自己正生活在世界的中心。而那些因为某个想法就能改变世界——改变我们认识世界的方式——的奇客们正坐在附近某幢房子里猛敲键盘。他们是这个时代真正的先锋,因为在网络上发生的一切,比任何其他的技术革新都能更快速更深入地影响我们的日常生活。
  
  可为什么让作家,电影人,媒体抓住不放的单单是Zuckerberg,而不是Yahoo, Google, Youtube, Twitter…的创始人和CEO?也许是他们的发家史太波澜不惊了吧,不像Facebook几年来不断在官司和关于网络隐私的讨论中挣扎。《社交网络》的故事也正围绕着直指Facebook原罪的两场官司,在听证会和凌乱的过去间跳跃闪回。Zukerberg到底有没有窃取Winklevoss兄弟的创意?他是不是有意背叛自己最好的朋友和合伙人?就像《社交网络》的编剧,大名鼎鼎的Aaron Sorkin所说,Facebook早期的故事囊括了艺术作品中恒久不变的主题:友谊、忠诚、嫉妒和背叛。在鲜明的时代感之下,它其实有着19世纪现实主义小说的影子。
  
  Zuckerberg是个让人捉摸不透的人物。他的动机不明,似乎永远躲藏在密不透风的语言背后。Sorkin给这部电影奉献了异常凌厉的台词。词句与词句的短兵相接,往往比拳打脚踢的动作场面还过瘾。大卫·芬奇似乎也回到了他拍MV的早期时代,剪辑快速利落,一扫《本杰明· 巴顿奇事》的故作深沉。在这样的节奏下,每一个人物似乎都被卷入了难以阻挡的漩涡中,每一个人的道德和能力都一样接受审视。如果Zuckerberg是个混蛋,那么与他对簿公堂的人也都得为自己的平庸付出代价。
  
  一个“混蛋”与他周围人的关系始终是这部电影的中心。其实,让Zuckerbeg的故事变得引人入胜的不仅仅是那些争端,而是那些争端在Facebook编织的巨大社交网络的笼罩下形成的反讽意味。Facebook之所以比Google更能引起话题,是因为Google旨在改变我们接触事物的方式,Facebook却直接插入了我们的人际关系。不论科技的发展达到了怎样的程度,人与人之间如何共处都是一个社会所要解决的最基本的问题。Facebook的横空出世似乎扰乱了很多东西。当一个人动不动就能拥有几百一千个“好友”时,朋友到底意味着什么?当人际交往越来越变成单方面的展示与观看时,我们是不再孤独还是越发孤独?
  
  Zuckerberg拥有五百万个“好友”,他最好的朋友却在起诉他——这部电影随处可见这样的黑色幽默。对于这样一个略显阴暗的故事,它甚至都有点过于好笑了。
  
  无奈,这就是我们这个时代的史诗。讽刺正成为唯一可信的时代精神(相比起纯情和悲壮)。《社交网络》一方面似乎在反省,可在某种程度上,它与它试图呈现的对象如出一辙,终将成为一个巨大的影响制造机器的一部分,超高速地记录、展示人类的历史。
  
  今天,Zuckerberg会坐在黑漆漆的戏院里看着几年前自己说过的话被另一个自己念出来。我们或许也会面对那样一天when we are taking the picture even before the event has happened.


The King's Speech - 收藏于 2011-02-26

转帖:

《国王的演讲》气势十足的横扫今年各大颁奖礼。作为一部英国本土的皇室题材电影,在来势汹汹的势头下,其实就像现实生活中皇室对外的姿态一样,这部片子无论是宣传形式还是实质内容始终保持着既温文尔雅又底气十足的态度。

  摘下王冠,Bertie只是一个因为童年阴影致使失去自信,脾气暴躁而且口吃的普通人。但是作为乔治五世的二儿子,意味着他必须面对两个选择。要么结巴着在全英国面前丢尽皇室的脸,要么解开心结放下所有心理包袱承担起一个国王在国家危难时应该承担的一切责任。

   尚且忽略外界是用何种眼光看待皇室成员,但在片中观众感受到的乔治六世是一个平常人般的存在,而且这个普通人还带着由心理发展为生理的障碍。当然我并非有挖苦这个国王的意思,相反,通过这种近乎是管中窥豹的方式,让观众看到一国之首表面风光实质隐忍着成长的过程,远比被那些真假难辨的新闻野史左右来得更积极,因为艺术创作总是被允许对现实做出一些改动。尽管甚至有史料披露乔治六世与其妻子间存在恶劣关系,但至少在电影中,能塑造出一个事实上存在或不存在人物,使他成为观众心中的精神英雄,给观众以积极的心理暗示,这也是电影之所以能发展至今的原因之一。

 每个人的成长中总得有也总会有那么一两个人在鼓励扶持着你,并非因为身份,而只是纯粹因为信赖。对于Bertie,妻子和语言导师Lionel就是那两个人。正如Lionel所说,“This fellow would be somebody great, he just afraid of his own shadow.”他的确有资格成为伟人,而不是龟缩在自己的精神世界中无法自拔。

   尽管作为皇室题材电影,但相当出色的剪辑和配乐使电影摆脱了沉闷单调,平淡的叙事顺序依然难掩片中主演们奥斯卡级的演技。口吃会导致吐字时的发音气流显得格外清晰,镜头的特写甚至能明显看到Colin的唇部肌肉紧张且不规则的张弛,努力想要读出的单词因无法吐出而涨红了脸,面对Lionel有意的咄咄逼人而作出暴跳如雷的反驳。乔治六世敏感脆弱又无奈的心理在他的演绎下被彻底展现在观众面前。再加上Geoffrey,Helena,Timothy, Jennifer等一众戏骨,不可否认,是主演们的演技让这部皇室题材电影显得更具观赏性。

 之所以会产生口吃,始终归咎于Bertie的心理阴影和缺乏自信。在片中他有六次不同时间段的演讲,而这些演讲又与他当时的心理有密切联系。因此将这六次演讲与当时的心理活动结合起来,能更准确的揣摩出这位从有身体障碍的约克郡公爵成长为具有反战象征的乔治六世的艰难过程。

   温布利球场里皇室博览会的闭幕演讲是作为约克郡公爵的Bertie第一次在公开场合亮相。在全场观众的注视下,麦克风将他的口吃无限放大,同时也往他作为一个有身体缺陷的人脆弱的心里再撒一把盐。像一只受伤的刺猬,竖起身上的棘刺,将所有人拒于千里之外。镜头没有对Bertie的心理状态进行刻意的描写,而是通过他的言行举止反映出他当时内心既无助又抗拒的心态。

   父亲乔治五世圣诞演讲后,特意让Bertie练习刚发表的演讲稿,这是他第二次面对演讲稿。在父亲的严厉斥责下,他不由自主的缩紧胳膊。再明显不过的,又一次挣扎着吐不出字。不停地抽烟从另一个角度来说,证明他只能通过烟来缓解内心的紧张感和不自信。当天晚上边抽烟边骂着“骗子,混蛋”表示Bertie此时的内心充满愤恨。他恨自己的口吃,更恨别人给他的精神压迫。所以这时候从录音带中听到自己在Lionel的诊室里那段流利的朗读,对他与他的妻子,无疑意味着一个希望。在这刻,Bertie内心第一次出现希冀。

   在同意并接受Lionel的训练期间,他和妻子两人也在尽皇室成员应尽的义务去参观工厂并发表即时演讲。这次的演讲虽然依然令人失望,但因为Lionel之前的教导,至少使他能吞吐着说完一句话。信任已经逐渐在他内心占去大部分,此时Bertie的性情在Lionel,妻子和两个女儿的鼓励下显得越发沉稳。

   父亲的去世以及哥哥的卸任,使他在二战前夕匆忙地登上皇位。希特勒的脚步不断逼近,整个国家笼罩在战前的恐惧中。即将成为乔治六世的Bertie强烈的责任感在口吃这一障碍前显得更加力不从心,与Lionel的争执充分显示他的极度不自信。就职委员会上的内部演讲反映出他内心的压迫感不断加强。镜头在墙上壁画中游移说明Bertie当时的紧张感与压迫感的强烈。之后在妻子面前无助的抽泣,是因为他得面对的责任因他的口吃而转变成他的心理压力,假如无法治愈他的口吃,乔治六世这个头衔对于他也就只意味着难以想象的心理负担。这也不难理解为什么一直拖到现在,心高气傲的他才向Lionel提出道歉。

   紧接着的加冕大典Bertie需要宣誓完成,Lionel的故意刺激让他意识到自己有能力相信自己说的话有人会在乎,而不会因为他的口吃而将他忽略。Lionel想通过激将法令他有说话的勇气,抛下不自信的包袱。可以说自此,Bertie已经有足够信心与成熟作为一个君王来面对接下来的一系列挑战,包括二战的打响。

   首相的辞职使国家的形势变得更加严峻,群龙无首的政局在二战到来之际显得越发风雨飘摇。在国家危在旦夕的时刻,成为乔治六世的Bertie必须以一国之首的身份稳握大局,在人心惶惶的此刻给全英人民以警示,信心与支持,发出团结一致以捍卫正义的口号。即便依旧会妄自菲薄,但在这一刻,在他的内心,坚强和责任感已经战胜了胆怯,国家的危难远比他的个人顾虑更重要。他的国家和人民需要一个勇敢的国王,即便这个国王依然拥有曾经令他难以启齿的身体障碍。在演讲直播过程中,Lionel对他的肢体鼓励与提示是有所变化的。由一开始的边带动其放松边核对稿子,到后来完全放开手让Bertie独自朗诵,最后在演讲结束后第一次称呼他“国王先生”,证明Bertie已经彻底战胜过去的自己,真正成长为Lionel之前说的“最勇敢的人”。

  作为一个国王的成长故事,所有跌宕起伏的经历终将在皇家外表的金碧辉煌中沉淀下来,成为一段鲜为人知的历史。而对于外界的所有评价,无论褒贬与否都只是过眼云烟。所要在乎的,唯有自己有否曾经真正努力,去战胜从前那个不成熟的自己。

 


购房总结一 - 收藏于 2011-02-26

  最近一段时间,一直在关注房子问题,今天空下来了,想总结一下,以便大家参考。现在房价很不理性,房子的购买对一个家庭来说,是一件大动元气的事情,所以一定要谨慎。大家都说买房子要找人才靠谱,身为外地人,只能全靠自己了。谨根据个人看房的经历,按照购房流程顺序,总结如下:(仅供和我同样处境的xdjm参考)

一、选房,看房。

       1、二手房vs新房。最开始我在二手房和新房之间比较,由于限购性的出台,彻底粉碎了我买二手房的想法。二手房的购买需要交纳中间差价及营业税,其中涉及到低、高评。买家肯定都倾向于低评,这样可以少缴纳税款,但对买家的资金也是要求较高的。手里资金要充裕。我资金非常有限,所以,看了几家二手房,我就把目标锁定在了新房上。

      2、新房的比较。通过朋友,同事,搜房网等了解在售楼盘的情况。大量搜集信息后,确定几个备选项,进行比较。比较点有:位置;产权问题,有大产权,小产权之分;是否70年产权;周边配套,如公交,地铁,学校,医院,超市等;周围环境,是否有工厂,污染源;开发商,物业管理公司的口碑;小区的绿化率;容积率;公摊面积;楼盘目前可供挑选的楼层位置。比较后,对符合自己要求的楼盘,进行实地考察。最终确定要买的楼盘。

     3、楼层位置选择。

           (1)楼的位置选择,需注意:是否临街,是否被遮挡。

           (2)楼层选择。如果是电梯房,9-11层为灰尘停留层,不太好;1-6层采光效果不好;电梯房的算法是:楼层=总楼层*2/3为最佳, 如果是洋房就是金三,银四的说法。楼层的讲究很多,可以在网上多查看一些。

           (3)同层选择。金角最贵,银角次之。偏单的通透性好,中单的阳关充足,但通透性不太好。

选房主要参考网站:搜房网 http://tj.soufun.com/

二、签订认购书&缴纳定金

        选好房后,到售楼处签订认购书及缴纳定金。这个期间需注意,除注意保留手续单外,还应查看开发商的五证,五证:《建设用地规划许可证》、《建设工程规划许可证》、《建筑工程施工许可证》、《国有土地使用证》和《商品房销售(预售)许可证》。要看清楚,是否是自己所买楼盘位置的五证。我去交定金时,就发现开放商提供给我的《国有土地使用证》是106块的,不是我买的105块地的证书。所以要细心一些。一般不会有问题的,只是每个环节要谨慎些。

 

三、缴纳房款&签订正式合同

   签订正式合同时,一直是那个售楼小姐在忙,我们只负责签字,看合同。合同条款都是一样的,没有我们选择的余地,所以就是一直在签字,盖章。需要注意的就是,带好他们要求的证件。

    签完正式合同,就要交首付+税款了。我交了三成的首付,税款都是一样的维修基金、印花税一共是总房款的4点。

 

四、房管局备案

      开发商协助到当地的房地产交易管理部门办理预售合同的登记手续,并按规定交纳印花税。

     开发商说他们统一备案,不需要我们去。只是身份证、户口本和印章要留给他们一段时间。

 

五、办理贷款

    办理贷款选银行,周折了很久。赶上国家出政策取消了首套房的85折优惠。可有些银行又有松口,所以很想能办到85折。同事有办理中信银行的,说还可能办到85折优惠。

    可我的那个开发商很强硬,贷款一定要办理他们指定的银行:中国银行、中国农业银行、建设银行、浦发银行。所以我选择的余地很少,把四家银行都咨询了一遍,中行和浦发坚决没有优惠了;农行说可能能办到85折,但必须成为他们银行的VIP,所谓的VIP就是一系列的条件,买他家的基金和黄金,共计需要2.8万。我很怕麻烦,况且他说的是可能是办到,农行也就放弃了。最后是和建行咨询,他们提出的条件是首付3成,就是基准利率;首付4成,就是9折优惠;首付5成,才是85折优惠。本来有首付4成的打算,可再算算1成就是10万钱,我觉得对自己的青春不值得,而且后面的装修还要花一笔钱,10万块钱对我来说很重要。最后,就很无奈的选择了建行、基准利率。

   哎...最后就是优惠政策都没有捞着。就和建行签了空白合同,开发商强硬、银行强硬,就没有商量的余地,很被动。建行承诺还款可以无限次大额还款,不收违约金;有一次缩短年限的机会。

   如果大家遇到的开发商,允许自己办理贷款,选择银行,大家一定要多咨询几家银行。银行有人就最好了,有没有折扣,相差十几万块钱。很多钱了。

  办理贷款有等额本息和等额本金之分,贷款年限、每月还款多少等问题。自己可以在各银行的官方网站上计算,会很详细的列出还款详单。可参考中行贷款计算器:http://www.boc.cn/custserv/cs6/cs62/200811/t20081117_130536.htm

 

六、办理入住手续

 

六是我接下来的要做的,后续补充中......

同时希望大家多多补充,资源共享....

 

     


交定金了,纪念一下 - 收藏于 2011-02-22

今天终于鼓足勇气,去交了房子的定金。交定金前,好徘徊,现在好多了。

房子还挺喜欢的,就是位置偏了一些。不过是洋房,我喜欢。不太喜欢高层,站在高层阳台上面,好害怕。

嘿嘿... 还挺高兴的...

可能是因为是农村长大的孩子,更喜欢后现代一些。

梦想以后老了,有一间小木屋,屋前一排竹林,前面是一片山,山下有一条小河,偶尔去走走弯弯曲曲的山路...

最好院子里有个秋千,小时候好喜欢荡秋千...

不遐想了,反正今天挺开心的...


生活小常识 - 收藏于 2011-02-12

生活常识

1、炒菜时,不要加冷水,冷水会使菜变老变硬不好吃,而加开水炒出来的菜又脆又嫩。

2、炒藕丝时,一边炒一边加些水,能防止藕变黑。

3、炒鸡蛋时,一个蛋加一汤匙温水搅匀,就不会炒老,而且炒出的蛋量多,松软可口。
4、豆腐下锅前,可先放在开水里浸渍一刻钟,这样可清除泔水味。
5、用冷水炖鱼无腥味,并应一次加足水,若中途再加水,会冲淡原汁的鲜味。
6、蒸鱼或蒸肉时待蒸锅的水开了以后再上屉,能使鱼或肉外部突然遇到高温蒸气而立即收缩,内部鲜汁不外流,熟后味道鲜美,有光泽。
7、熬骨头汤时,中途切莫加生水,以免汤的温度突然下降导致蛋白质和脂肪迅速凝固,影响营养和味道。
8、煎荷包蛋时,在蛋黄即将凝固之际,可浇上一汤匙冷开水,会使蛋熟后又黄又嫩,色味俱佳。
9、熬猪油时,先在锅内放入少量水,再将切好的猪油放入,这样熬出来的油,颜色晶亮而无杂质。

生活巧用醋
1、外出容易晕车,如喝下不很酸的食醋水,可以清爽精神,减轻晕车症状。
2、失眠,可将一汤匙食醋倒入冷开水中,搅匀喝下,即可迅速入睡。如果加入等量的蜂蜜,则效果更佳。
3、有人发生昏厥,可把手帕浸过食醋后捂在昏厥者的鼻子上,刺激患者清醒。
4、新购的瓷制餐具、茶具、酒具、放入10%的醋水内煮上两三小时后再用,可除去新瓷器所含的微量铝,避免铝毒危害身体。
5、在烹调水产品蟹、是、海蜇时,先用1%的醋液浸泡一小时,可防止嗜盐杆菌引起的食物中毒。
6、醋煮花生米或黄豆,是高血脂、肥胖症和高血压、冠心病患者的佳肴,具有隆脂、隆压的疗效。
7、宴饮进食,如感胸满腹胀,可用醋50毫升加水至100毫升冲淡服下,增加胃酸,促进消化。
8、饮酒过量已有醉意者,可服50%食醋100至200毫升,解酒毒、养肝肾。
9、餐后的食具,如果使用1%食醋液煮沸消毒,可防止病毒性肝炎、痢疾等传染病。


醋的妙用
1、醋是家庭烹调的必备调味品。 在醋内加上两滴白酒和一点盐,即可成为香醋。在煮肉或马铃薯时,加上少量醋就容易炖烂,味道亦好。煮甜粥时加点醋,可使甜粥更甜。
2、擦皮鞋时,滴上一滴醋,能使皮鞋光亮持久:铜、铝器用旧了,用醋涂擦后清洗,就能恢复光泽;宰鸡杀鸭前20分钟,给鸡鸭灌上一汤匙醋, 拨毛就变得轻而易举了。
3、玻璃上的油漆,用醋浸软后一擦就掉;丝品洗净后,放在加入少量醋的清水中浸泡几分钟,晾干后光泽如新:毛料衣服磨光的地方,用50%浓度的醋水抹,然后用湿布铺垫熨烫,亮斑即可消失。
4、醋还有消毒杀菌作用。用醋拌的凉菜卫生爽口;用醋蒸熏房间,能杀菌防流感;每天用40%的醋水溶液,加热后洗头可防治脱发,头屑过多;用醋调石灰粉,涂敷腋下,每日二次能治疗狐臭。
赶走烦人的水垢

残茶的妙用
1、湿茶叶可以取掉容器里的鱼腥味和葱味。
2、可以煮茶叶鸡蛋,其味道清香,非常可口。
3、用残茶叶擦洗有油腻的锅碗、木、竹桌椅,可使该物品更为光洁。
4、把残茶叶晒干,铺撒在潮湿处,能够去潮。
5、残茶叶晒干后,还可以装入枕套充当枕芯,枕之非常柔软。
6、把茶叶撒在地毯或路毯上,再用扫帚拂去,茶叶能带走全部尘土。
7、将残茶叶浸入水中数天后,浇在植物根部,可以促进植物生长。
8、残茶叶还可以喂养刚出的小蚕。
9、把残茶叶晒干,放到厕所或沟渠里燃熏,可消除恶臭,具有驱除蚊绳的功能。

西瓜皮的妙用
1、削去青皮,将其切成小方快或细丝,加上盐、酱油、糖等佐料,与辣椒同炒,清脆、香甜、可口。
2、将去皮切成的小块或小条的瓜条,入水煮沸,再下入番茄、鸡蛋、些汤不仅味佳色艳,而且能消署利尿。
3、把去皮后的瓜皮切成细长小条,用食盐腌2~3小时后,将盐水沥出,再加酱油、醋或麻油等佐料搅拌,即可食用。
4、将去皮瓜皮、切成薄片,入在碗里,上铺火腿片,加上调料,上锅清蒸,其味鲜美,清香四溢。

淘米水的妙用
1、用淘米水洗浅色衣服易去污,而且颜色鲜亮。
2、沉淀后的淘米水再加热水,可以用来浆衣服。
3、用淘米水洗手,可用滋润皮肤作用。
4、用淘米水漱口,可以治疗口臭或口腔溃疡。
5、将带腥味的菜,放入加盐的淘米水中搓洗,再用清水冲净,可去腥味。
6、把咸肉放在淘米水里浸泡半天,可去些咸味。
7、用淘米水洗腊肉要比用清水洗得干净。
8、用淘米水洗猪肚,比用盐或骨矾搓洗省劲、省事、且干净、节约。
9、常用淘米水洗泡的菜刀不易生锈。生锈的菜刀泡在淘米水中数小时后,容易擦干净。
10、淘米水浇灌花木或蔬菜,可使其长得更茁壮。
11、用淘米水擦洗后的油漆家具,比较明亮。
12、用淘米水擦拭新漆器,4~5次后,能除去臭味。

食盐的妙用
1、想让花开得更鲜色,在花盆里浇一点点盐水即可。
2、用盐水洗冻疮可止痒。
3、早上喝一杯淡盐水,有助大便通畅。
4、将盐水搽在被开水烫了的皮肤上,可减轻疼痛。
5、用盐可以擦掉铜器上的黑点。
6、洗澡时,水里放点盐,可治疗皮肤病。
7、用油炸食物时,将一点盐放入油锅内,油就不会向外溅了。
8、煮破了壳的鸡蛋时,水里放点盐,蛋白就不会流出来了。
9、将胡萝卜捣碎拌点盐,可以将衣服上血迹擦掉。
10、为防止洗衣服时衣服褪色,可在水中放些盐。
11、每天早晨嘴里含一含淡盐水,可以清洁口腔,消除口臭,减轻牙龈肿痛出血,帮助治疗牙周炎。
12、洗水果时先把水果表面的污渍揉搓掉,然后把水果浸泡在盐水中,半小时后再冲洗干净,即可放心吃。
13、当嗓子内小舌红肿下垂时,用盐末点治,可减轻喉部不适。
14、用淡盐水和绿茶或菊花洗眼,可以使红肿热痛的急性眼结膜炎很快好转。
15、用盐和辣椒或茄子根一起煮水,浸洗双脚,可以治疗脚气病,对手、脚冻疮也有一定的消肿、止痒作用。 16、用热盐汤浸泡双脚,或用炒盐熨贴腰背,对风湿筋骨病,有一定的止痛作用。
17、有虫蔬菜虽无农药污染,但叶上小虫非常难洗,只要将蔬菜拆叶泡在淡盐水中3-5分钟,虫子便会自动掉入水中。
18、清洗平菇表面的粘稠物时,可将平菇放在淡盐水中浸泡5分钟左右,然后用细软净布沿菇纹轻轻擦洗。
19、夏季豆腐很难保存,但将食盐溶解于水后烧沸,冷却后把豆腐浸放于盐水中却能使豆腐保存很长时间。
20、煎鱼前将鱼放在盐水中洗净,鱼就没有泥土味和腥味。
21、新买的碗碟或玻璃杯先放在盐水中煮过,以后就不易破裂。
22、菜刀用钝后,将刀放在盐水中浸泡半小时左右,然后在磨刀石上边磨边浇盐水,能使刀刃锋利,且经久耐用。

食盐美容法
1、雪肤洗澡时,用干净的纱布装入适量的细盐,在脸上、颈部及全身上下进行摩擦拍打,约五六分钟即可,可除去已殆的角质皮肤,有助血液循环,使皮肤细嫩白皙。
2、祛斑食盐1份,白蓝粉6份、兰花粉3份、白糖半份,加少话水调成糊状,敷抹于斑处,隔日一次,可使斑色变浅至无。
3、除痘食盐一匙、白醋半匙、开水半小标,溶解后以棉花蘸洗患处,每日一次,连续数日即可见效。经常使用粉刺去无踪。
4、嫩肤食盐15克,杏仁粉100克,加冷水调成糊状敷于面部,每周2—3次,可使肌肤爽滑细润有光泽。
5、美齿每日早晚用淡盐水漱口,或在牙膏上洒上少许精盐,可有效地祛除烟茶垢,预防龋齿发生,使牙齿洁白有光泽。

牛奶的妙用
1、除鱼腥味-炸鱼前先把鱼浸入牛奶中片刻,既能除腥,又能增强佳味。
2、做冻鱼-在做冻过的鱼时,汤中加些牛奶,会使鱼的味道更鲜。
3、除蒜味-喝杯牛奶,可消除留在口中的大蒜味。
4、去酒迹-如果白衬衣上留下了酒迹,可用煮开的奶擦拭,即可去起污迹。
5、去水果迹-变味的牛奶能去掉花衣服上的水果迹,在痕迹处涂上牛奶,过几小时再用清水洗,就能洗干净。 6、去墨水迹-衣服上沾染了墨水迹,先用清水洗,再用牛奶洗,然后用洗洁精洗,即除。
7、去铁锈-衣服挂在钉子上,或沾到了铁锈,是很难洗得掉的,如果先把有铁锈的地方,用沸水浸湿, 涂上发酸的牛奶,在抹上肥皂,就可洗干净了。
8、消除眼肿-早晨起床眼皮肿了,用牛奶加一点醋和开水混合,然后用棉球蘸着在眼皮上反复擦5分钟,再用热毛巾捂一下,很快就会消肿。
9、使硬鞋油变软-打开的鞋油放久了,会变得发硬而不好再用,如向里面加入几滴鲜牛奶,鞋油就会变软,用起来仍然同新鞋油一样。
10、治轻微烧烫伤-在患处敷上点烧开的牛奶,可迅速消除因烧、烫伤的灼痛。
11、贴标签-要使玻璃上的标签贴得牢,可先将标签放在牛奶中泡一泡。


不可不知牙膏十大妙用
1.用布蘸点牙膏擦拭水龙头,可使水龙头光亮如新。
  2.用海绵蘸点牙膏刷洗脸盆和浴缸,效果很好。
  3.用棉布蘸点牙膏后,轻轻擦拭泛黄的白色家具,可使家具颜色还原如新。
  4.用温热的湿抹布将灶台上的焦垢润软,然后用尼龙洗碗布蘸牙膏用力刷洗污垢,再用干净的布擦干净即可。
  5.烹调完鱼后,手上仍残留有鱼腥味,不妨在手上挤点牙膏搓洗,鱼腥味便能立刻消除。
  6.手上沾了食用油、签字笔油、汽车蜡或机油等难洗的油污,用牙膏搓洗就能清除。
  7.衣服的袖口和衣领是比较难洗涤的,用牙膏涂在污处,反复搓洗,效果不同凡响。
  8.白球鞋穿久后常会泛黄,先用专用清洗剂处理,再用牙刷一刷,清水冲洗,球鞋便可洁白如新。
  9.手电筒的反光屏用得太久了会变黄,将牙膏涂在上面,3~5分钟后,用绸布轻轻擦拭,便可使其光亮如新。
  10.如果不经意间身体某部位被烫伤,可以涂抹一些牙膏,减轻疼痛

开始上班了... - 收藏于 2011-02-11

每天下班路上,是心情最不好的时候。最近几天又冷,风又很大,一路走回来,心理很不是滋味...

每次走到单位门口,都好羡慕有人接的感觉。

有人说我爱抱怨,老觉得像个可悲的人。难道生活的命运,不是这样的吗?我不知道自己还要走过多少这样孤独无助的下班路,可能几年,可能几十年,可能到生命的终结。

越是害怕孤独的人,命运越会安排孤独的生活给她。每天这样上班下班走着,心理没有任何期盼。


做好女人 - 收藏于 2011-02-10

1.吃早饭比化妆更重要。
2..吃相好的女人比较有福气。
3.饮茶。(饱饭后不饮浓茶)
4.吃点粗粮。
5.别太胖。改变体重没那么难,只要有恒心。
6.少喝可乐及一切碳酸饮料。
7.偶尔喝些红酒。
8.多喝水多吃水果。

9.身上不要同时出现三种主色以上。

10整洁是必须的。

11.鞋子一定要舒服。

12.经常整理衣柜,保持柜内精简。

13.关注时尚。

14把看韩剧的时间用在自我保养上,会看到惊人的变化。

15.有条件就去泡温泉,汗蒸,SPA。

16.少折腾你的头发。

17气质比样貌重要,气质与年龄无关。

18奥黛丽赫本的胸部也会下垂,请正确看待衰老。

19装清纯装可爱比不清纯不可爱本身更要命。

20过了25岁不要买地摊货。

21性感不是一种装扮,而是一种气质。

22有条件请午睡。

23 不要熬夜。

24运动。

25做面膜。

26做你自己。

27.用电脑后要仔细洗脸。

28.微笑不花钱。
29.把目光放长远。
30要有>=3个知心朋友。

31有本好的枕边书。
32多听讲座。

33不要轻易放弃梦想。

34看世界经典电影。

35读过《红楼梦》。

36学会宽恕
37.低调做人,高调做事。
38每一天你都可以选择自己的心情,快乐,OR像个怨妇。

39. 享受孤独。

40.Tomorrow is another day.

41付出时不要要求回报,回报是意外收获。

42小事不计较,大事不马虎。

43.对待很多事情,一笑而过。

 44. 不犯贱,对任何人。

45即使愤怒也要保持风度

46.不打断别人讲话。

47.知恩图报。

48.跟心爱的父母,朋友,他,说晚安。,没修养的人才好大吵大叫。
49爸妈永远是你最重要的人。
50子欲养而亲不在比失恋痛苦几百万倍。

51.学会换位思考。
52谁都不容易,学会体谅他人。
53不要对衣着过时样貌平平的人满脸傲气
54 别太矫情,蟑螂吃不了你。


幸福过,就好 - 收藏于 2011-02-02

因为爱情来源:雷凌霄 • Rabbit的日志

姚晨和老凌离婚了,所有的人都在惋惜、失落与觉得不可思议,因为这一对夫妻的爱情承载了我们太多人的向往。毕业就结婚的大学同学,七年的相互鼓励相互扶持,每次看姚晨在围脖上写她和老凌的小幸福心里都觉得很温暖,也希望自己未来能够遇见那样的一个人,无论富贵还是贫穷,不离不弃白头偕老,可是。

真的没有爱情童话吗,永恒的真爱果真像鬼一样所有人都听说过却没什么人真正见过吗。

连静秋的原型,后来去了美国的那个山楂树女孩,都在访谈中说过每次她的丈夫对不起她让她伤心失望的时候她都会想如果那时老三没有死如果她和老三最终在一起,老三也应该不会永远那样爱她那样对她好一辈子。

人生怎可能永如初见,除非故事根本不开始,既然享受了故事的美好过程,就必须接受最终潦草的结局。

“永远”这个词语,你还相信吗。

 

翻看着姚晨曾经发的围脖,

“匆匆走进小区院门,远远就望见家里的灯亮着,老凌的身影在里面晃来晃去,放慢了脚步,站在楼下仰头望了一会儿,希望这一副画面永远的保存在我的脑海中。 ”

我们可以保存回忆,但却保存不了爱情。

“一路格桑花,矮矮的它们像新娘的捧花,把盛夏的高原打扮得异常漂亮。 藏族有一个传说:不管是谁,只要找到了八瓣格桑花,就找到了幸福。老凌曾在海拔最高的地方,为我带回过一束美丽的格桑花,我如获至宝,小心将它装进瓶中,希望这幸福之花能开得久一些,再久一些。。。”

再美的幸福都终有凋零的一天,很多年后,你还记得你曾经愿意为他赴汤蹈火的那个人吗,他在哪里。

“恩泰:和你合作过的男演员谁最帅?我:老凌!恩泰:除了老凌呢?我:韩国的苏志燮!恩泰:长啥样啊?我:长得特象老凌!”

那个曾经让我们骄傲地跟别人提起,骄傲地拿他打趣,一言一语都有他的人,后来为什么再也不敢提起。

姚晨曾经说“最适合我的那个人还是凌潇肃”,凌潇肃曾经说“那是我媳妇儿,她成功我只会高兴,我不介意她比我强。”

曾经,现在,曾经,现在。我们的一切伤悲都来自于这样的对比,物是人非,言犹在耳,君心已变。

姚晨今早写道“昨夜,西安大雪。晨起,一片白茫茫,午后,太阳照常升起,暖化了积雪,所有的一切又还原了本来的模样、、、”

我们常常安慰自己,大不了只是回到原点,可是我们心里都明白,没有什么能回到原点,记忆作祟,时光荏苒,看似从孑然一身又回到孑然一身,但我们再也不是原点的那个自己。

 

《海边的卡夫卡》中说“回忆会从内侧温暖你的身体,同时又从内侧剧烈切割你的身体。”回忆与现实的反差总是大到让我们不知所措。说着心疼你会永远陪你的那个人现在也会是说着不要再来烦我的人,说着你最重要的那个人现在也会是说你不比别人更特别的人,为博你一笑再辛苦也在所不惜的那个人现在也会是连接你的电话都成为恩赐的人。

“你自以为了解一个人,当一切出乎意料时,才明白原来那个人是你幻想出来的… ”(姚晨)

“这个世界,时常浪漫美好得让人以为是在梦境;时常又残酷冰冷得让人怀疑是在做梦。反正,活着就象做梦。鬼知道,哪天能醒?”(姚晨)。

确实如此。

以为亲密无间的人终于变得陌生,以为能战胜一切的感情终于败下阵来,以为能牵一辈子的他的手终于剩下自己的左手牵着右手。

后来,我们只好告诉自己,要好好爱自己。

后来,我们只好告诉自己,只有回不去的,没有过不去的。

后来,我们只好告诉自己,去爱吧,就像从来没有受过伤一样。

 

周迅曾经说“我非大齐不嫁”,刘烨曾经说“只要谢娜愿意嫁给我,我明天就可以娶她”,梁咏琪曾经为了郑伊健通宵学习打电子游戏。

你听过多少人对你说“非你不可”,后来他们在哪里。

那个说你是他的真命天女的男生,他最后会牵了谁的手,你们曾经一起燃烧着最美好的时光,你们牵着手聊着闹着笑的蹲在路边都站不起来,后来,他在哪里。

明明是握紧的手,明明是那般珍惜过的人,为什么走着走着,却都散了呢。人生的路,那般复杂吗,让他不小心走岔了一个路口就再也找不到你。

你大声呐喊,我还在这里啊,可是他已经回过头离开了。

 

后来我们越来越现实,越来越有所保留,终于听到再美的誓言也一笑而过,终于明白“永远”其实是最多被人相信的谎言。

可是即使知道最后的结局,还是会选择和他在一起吧。青春没有被浪费,因为如果没有那个人,我们还有什么青春可言。

后来,我们不再期许“幸福就好”,我们很坦然很淡然地说“幸福过,就好”。

即使现在回忆起来那样难过,恨不得自己可以选择性失忆,然而相信终有一天,我们会感恩曾经的相遇,灿烂阳光斑驳树影,校园里单车的爱情,谢谢你给我的一切美好。

宋丹丹今早在围脖里写“十九岁那年,天天盼着他残废哪怕骨折也行这样就可以整日守着他并向他证明自己多爱他,今天凌晨两点多他去世了。坐在阳台上带上耳机听着音乐看着大海流着泪,谢谢你给了我作为女人可以有的最好的初恋。五年,每天都想写诗的五年我们守在一起。通往天堂的路你走好,祈祷你的灵魂安息。丹丹”。心底能藏着这样的一个人,真的很好,他承载着你的青春,即使垂垂老去,你想起他,眼前看见的一定还是当年那个穿着碎花长裙帆布鞋在校园里横冲直撞的自己。

我只恐怕有一天,我连自己那样爱过的人去世也不会知道,因为也许已经多年不联系。但可能那样也好,他在记忆里一直是年轻的模样,好像只要回去那个校园还能找到他,他骑着单车穿着白衬衫头发蓬乱笑容灿烂,他还在那里等着你,给你递一杯奶茶,你坐上他的车后座,一起去到哪里。

如果一直一直骑下去,我们能骑到哪里。

 

因为爱情不会轻易悲伤,所以一切都是幸福的模样。

因为爱情简单的生长,依然随时可以为你疯狂。

因为爱情怎么会有沧桑,所以我们还是年轻的模样。

因为爱情在那个地方,依然还有人在那里游荡,人来人往。

单曲循环。

 

运气好的人,最后爱情变成了习惯和亲情依旧牵绊着彼此,而更多的爱情都默默的消失了,就如同当初默默的产生一般。

要怎么将爱情进行到底。

如果每个人都只有本能没有感情,一切都会简单很多,悲伤痛苦都消失殆尽,我们都变回树上的猴子,香蕉、繁育、生存、躲避天敌。

如有来生,愿鲁且愚。


2011年的许愿瓶 - 收藏于 2011-01-12

瓶1.转正。转正赚更多的钱,可以给爱的人买东西。工作两个月了,突然发现一个问题,赚到钱后,最想把钱花给自己爱的人。而不是给自己买东西。一直想买一套保暖内衣,但更想给爸妈买回去,他们肯定开心。

瓶2.房子。想结束租房子的生活。刚毕业的时候,什么都想尝试。找工作的时候很辛苦,精神上也倍受折磨。当时鼓励自己的话就是,多争取,做尝试,不要后悔。工作了,找房子,租房子,自己去菜市场,回来做饭,交物业水电费,以及合租的快乐和容忍。生活中的这些,我都看做是尝试,生活中酸甜苦辣都要尝一些的。这些都经历了,我想自己能稳定下来了。其实不想太辛苦,很早就想稳定下来了,只是命运安排,生活所迫,让我成了现在的尴尬局面。

瓶3.稳定的家。不想看到同事身边人,异样的眼光和惊讶,面对年龄,我从大学就很自卑。记得刚上大学时,所有舍友的成绩都比我高,年龄却都比我小,那个时候特别敏感。本以为来到工作的大环境可以包容我了,可还是一样的尴尬和难堪。我想稳定下来,让人没有权利和理由再给我异样的眼光.


水煮鱼做法 - 收藏于 2011-01-08

材料:新鲜淡水鱼1条  黄豆芽或绿豆芽1把  生菜1棵  芹菜2根  香菜2根

 

调料:花椒1大把  干辣椒段1大把  盐1小勺  鸡精1小勺  胡椒粉1小勺  淀粉1大勺  蒜瓣5粒切片  姜片10片  葱段6段  料酒50毫升  郫县豆瓣酱1大勺  辣椒粉1大勺  蛋清1个  清水500毫升

 

作法:1、把鱼片成薄薄的鱼片,然后用胡椒粉、蛋清、料酒、5片姜片、3段葱、淀粉和盐来腌制20分钟

 

      2、炒锅内倒入适量油烧热,然后放入剩下的姜片、蒜片、1半的花椒和1半的干辣椒段爆香,待香味出来后放入豆瓣酱一起翻炒

 

      3、然后往锅内倒入约500毫升清水(1碗左右),放入鱼骨鱼头一起煮至沸腾,沸腾后将鱼片放入烫2分钟,并放入剩下的葱段,即可关火

 

      4、在另一个大容器里放入豆芽、生菜和芹菜(我用的是绿豆芽,直接放入即可,如果是黄豆芽请事先用开水焯一下,另外我家没有大容器,所以我就用砂锅来装:)

 

      5、将烫好的鱼片等全部倒入装了蔬菜的大容器里,再在表面撒上辣椒粉

 

      6、把炒锅洗干净然后倒入较多油烧热,放入剩下的一半花椒粒和干辣椒爆香,但是注意不要把干辣椒烧糊哟

 

      7、将麻辣油倒入鱼片上,然后放入香菜即可

 

分解图……

地瓜的贴心建议:

1、  鱼片尽量不要切厚,但也不能太薄哟,太厚了烫的时间长口感则差,太薄则容易碎

2、  天气热的时候可以把鱼片放进冰箱腌制,待别的都准备好了再拿出

3、  烫鱼片的时候用大火,1、2分钟即可,时间久了口感较差

4、  如果你使用的是黄豆芽,事先要烫熟哦,生菜和芹菜易熟,不用焯水

 

 


见与不见 - 收藏于 2011-01-02

你见,或者不见我
我就在那里
不悲不喜


你念,或者不念我
情就在那里
不来不去

你爱,或者不爱我
爱就在那里
不增不减

你跟,或者不跟我
我的手就在你的手里
不舍不弃

来我怀里
或者
让我住进你的心里
默然相爱
寂静喜欢


My 2010 - 收藏于 2010-12-31

2010年沉重纠结的一年,也是让我更成熟的一年。工作和感情的煎熬与迷茫,让我身心疲惫。可以说2010年是不堪回首的一年,与此同时,2010年也应该算是幸运的一年,命运的垂帘,让我的工作不是很辛苦,可以自由的做自己喜欢的,想做的事情。
人生可能就是这样厄运与好运的交织,波峰和波谷的交替,当这个正弦曲线趋于平和,成为直线的时候,就是淡然的平静。
有人问,在容貌,感情,事业面前你会选择什么,我想所有的所有应该最终追求的是心理的那种感情。感情才是终极目标,其他的都是浮云...
2011年即将开始,我要守住自己的心底那份情感,努力生活,做自己喜欢的。


PS:嘿嘿...还有点俗气的希望,转正 涨工资 福利好一点 工作能给我一个平台 稍微实现一下自我。


写在圣诞节 - 收藏于 2010-12-25

上班三个多月了,终于稳定下来了。周末在家里洗洗衣服,做做饭,上网联系一下朋友。感觉好轻松....

毕业后,一直想学校的事情,想自己在那个时段留下了什么,收获了什么。当时拼命的学习,想让自己做到最好,想追求身边人都想追求的东西。优秀的成绩,幸福的爱情,一份好的工作... 尕娃说过,我们每个人都是带着面具,披着枷锁。我就是这样的,披着枷锁一路走下来,好累。

也许就是梦想与现实的交织,才构成了生活。还是很满意自己现在的生活,上班,学学做饭,跳跳操,打打球...很好的同事,很好的朋友,有很多时间可以自己支配...

知足常乐哦~~~

哎,什么时候才上班啊 - 收藏于 2010-09-06

无业游民两个月了,感觉还不错。不过还是挺想上班的,上班有money,我就可以买东西给自己,给别人,体现一下自身价值。

最近无聊,脑子乱想,所以理想特别多,真想把理想都存在储蓄罐里,一个月抽出一个理想,然后去实现。

理想如下:
1. 去小美容一下,去掉脸上的几颗小黑点
2. 学会几道主打菜
3. 买到佰草集那个大罐子面膜
4. 买到6折的耐克女鞋
5 .买个帅气的遥控车给小侄子
6. 能去报个瑜伽班,要是能瘦下我的小腿最好了

无聊的人,就是喜欢这么遐想,真的工作了还不知道怎么样,不过有理想开心啊,有奋斗目标。

天气凉快了 - 收藏于 2010-09-03

夏天终于过去了,我不太喜欢夏天。本来长的就黑,夏天一晒更黑了。
现在凉快了,又不用上班,要想想怎么出去玩一下。。。

女装品牌排行榜 - 收藏于 2010-08-22

时尚女装品牌排名:

NO.1 CHANEL (香奈儿) : 永远的传奇,相信大家一定忘不了5号的经典。

NO.2 Dior (迪奥) :法国巴黎(1946年),路过Dior时装店,霎时觉得高贵的气息逼人。

NO.3 Prada (普拉达) : 意大利(1913年),穿prada的女魔头更是让它家喻户晓。

NO.4 Louis Vuitton (路易·威登) : 典雅巴黎气质,LV大包是不落的时尚。

NO.5 Gucci (古奇):身份与财富之象征。

NO.6 Versace (范思哲):意大利的奢华经典,典雅的晚礼服是人们念念不忘的。

NO.7 FENDI (芬迪)  : 意大利罗马(1925年)

NO.8 Coach(蔻兹) : 美国纽约(1941年),也许coach的包包更让你感觉到它的魅力。

NO.9 Giorgio Armani (乔治.阿玛尼) : 意大利(1934年)

NO.10 VALENTION (华伦天奴) : 意大利。


【转】常见洗涤标志说明 - 收藏于 2010-08-22

点此在新窗口浏览图片 dryclean 干洗 点此在新窗口浏览图片 do not dryclean 不可干洗 点此在新窗口浏览图片 compatible with any drycleaning methods 可用各种干洗剂干洗 点此在新窗口浏览图片 iron 熨烫 点此在新窗口浏览图片 iron on low heat 低温熨烫 (100oC) 点此在新窗口浏览图片 iron on medium heat 中温熨烫 (150oC) 点此在新窗口浏览图片 iron on high heat 高温熨烫 (200oC) 点此在新窗口浏览图片 do not iron 不可熨烫 点此在新窗口浏览图片 bleach 可漂白 点此在新窗口浏览图片 do not bleach 不可漂白 点此在新窗口浏览图片 dry 干衣 点此在新窗口浏览图片 tumble dry with no heat 无温转笼干燥 点此在新窗口浏览图片 tumble dry with low heat 低温转笼干燥 点此在新窗口浏览图片 tumble dry with medium heat 中温转笼干燥 点此在新窗口浏览图片 tumble dry with high heat 高温转笼干燥 点此在新窗口浏览图片 do not tumble dry 不可转笼干燥 点此在新窗口浏览图片 dry 悬挂晾干 点此在新窗口浏览图片 hang dry 随洗随干 点此在新窗口浏览图片 dry flat 平放晾干 点此在新窗口浏览图片 line dry 洗涤 点此在新窗口浏览图片 wash with cold water 冷水机洗 点此在新窗口浏览图片 wash with warm water 温水机洗 点此在新窗口浏览图片 wash with hot water 热水机洗 点此在新窗口浏览图片 handwash only 只能手洗 点此在新窗口浏览图片 do not wash 不可洗涤 其他常用的服装洗涤标志

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

手洗须小心

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

只能手洗

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

可用机洗

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

可轻轻手洗
不能机洗
30℃以下洗涤液温度

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

水温40℃
机械常规洗涤

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

水温40℃
机械作用弱
常规洗涤

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

水温40℃
洗涤和脱水时强度要弱

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

最高水温50℃
洗涤和脱水
时强度要逐渐降弱

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

水温60℃
机械常规洗涤

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

最高水温60℃
洗涤和脱水
时强度要逐渐降弱

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

不能水洗
在湿态时须小心

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

可以熨烫

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

熨烫温度不能超过110℃

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

熨烫温度不能超过150℃

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

熨烫温度不能超过200℃

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

须垫布熨烫

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

须蒸气熨烫

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

不能蒸气熨烫

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

不可以熨烫

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

洗涤时不能用搓板搓洗

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

适合所有干洗溶剂洗涤

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

仅能使用轻质汽油及三氯三氟乙烷洗涤,干洗过程无要求

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

仅能使用轻质汽油及三氯三氟乙烷洗涤,干洗过程有要求

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

适合四氯乙烯、三氯氟甲烷、轻质汽油及三氯乙烷洗涤,

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

干洗时间短

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

低温干洗

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

干洗时要降低水份

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

不能干洗

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

可以在低温设置下翻转干燥

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

可在常规循环翻转干燥

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

可放入滚筒式干衣机内处理

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

不可放入滚筒式干衣机内处理

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

可以用洗衣机洗,但必须用弱档洗

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

不能使用洗衣机洗涤剂

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

悬挂晾干

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

使用30℃以下洗涤液温度,机洗用弱水或轻轻手洗,用中性洗涤剂

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

使用40℃以下洗涤液温度,可机洗也可手洗,不考虑洗涤剂种类

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

使用40℃以下洗涤液温度,机洗用弱水流也可轻轻手洗,中性洗涤剂

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

使用60℃以下洗涤液温度,可机洗也可手洗,不考虑洗涤剂种类

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

使用95℃以下洗涤液温度,可机洗也可手洗,家用洗衣机不可承受

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

平摊干燥

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

阴干

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

滴干

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

可以氯漂

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

不可以氯漂

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

可以拧干

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

不可以拧干

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

衣物需挂干

常见洗涤标志 - liccmyxyk - liccmyxyk的博客

衣物需阴干


心平气和 - 收藏于 2010-08-20

当一个人能什么事情 都心情气和,不再生气,不再介意的时候,
可以说这个人成熟了,可喜;
也可以说这个人心死了,也可悲。

两道菜 - 收藏于 2010-08-03

1. 冬瓜羊肉汤

    先把羊肉放上盐、酱油、胡椒粉,放一段时间...

    把水烧开,把切好的冬瓜片放进去,煮开后,在把羊肉放进去煮开即可。

2. 烩菜

   先把肉片里放上盐、胡椒粉和酱油...   把土豆、豆腐、豆角切成块...    

   把肉用油炒过,放些葱姜蒜 和 大料

再把土豆放进来,放些水,炖一会 (水在菜之下)

   最后把豆角、豆腐放进去,一起炖,再试一下盐多少...


zz - 收藏于 2010-07-31

如何在宝宝降生前,优化你的基因?

——我跟老公都长得挺黑的,可我不想生下来的宝宝也是个黑天使。

——黑夫妻想生白宝宝,孕妇可多吃富含维C的食物。维C对皮肤黑色素生成有干扰作用,减少黑色素沉淀,婴儿皮肤会白嫩细腻。

推荐食品:番茄、葡萄、柑桔、菜花、冬瓜、洋葱、大蒜、苹果、刺梨、鲜枣等蔬菜和水果,其中以苹果为最佳。

——我跟老公都是干性皮肤,一到冬天就很容易皲裂,怎样才能让宝宝不受这份罪呢?

——夫妻皮肤粗糙,孕妇应常吃富含维A的食物,能保护皮肤上皮细胞,使日后孩子的皮肤细腻有光泽。

推荐食品:动物的肝脏、蛋黄牛奶、胡箩卜、番茄以及绿色蔬菜、水果、干果和植物油等。

——我家有遗传黄头发的基因,姐姐家的孩子现在一岁头发还是黄黄的,我的宝宝会不会也会遗传啊?

——如果夫妻头发不好,孕妇可多吃含有维生素B族的食物,可以使孩子发质得到改善,不仅浓密、乌黑、而且光泽油亮。

推荐食品:瘦肉、鱼、动物肝脏、牛奶、面包、豆类、鸡蛋、紫菜、核桃、芝麻、玉米以及绿色蔬菜


需要好心情 - 收藏于 2010-06-21

昨天体检,心电图貌似有异常。。。
突然意识到健康对人的重要,昨天心慌的坐在医院的大厅里,感觉在等待生命的宣判。。。
生命有时顽强无比,有时又那么脆弱。
最近要多吃好的,养好心情。。。可能不能再承受更多了。。。
需要好心情,需要胃口。。。钱如果没了,还可以再赚到,身体和心情经历了苦痛后,就没法再补救。。。
所以用循环的东西,换取不可再生的东西是值得的。。。

期待好胃口,好心情。。。

最近痴迷魔方 - 收藏于 2010-06-04

小的时候和哥哥玩魔方,永远是个失败者。。。看着哥哥拼好的魔方又羡慕又嫉妒,有的时候干脆毁灭性地把魔方拆散了,然后一块一块拼对好。。。给自己一点心理安慰,呵呵。。。

昨天看完魔方的教程,七步,完成。。。第一次按正规程序把魔方拼好,好高兴啊。。。

决定买个魔方,继续练习,练到两分钟之内。。。

最近事情不多了,让自己开心吧。。。

”哎呦,不错哦“ ,开始喜欢周杰伦了。。。

选择BJ,选择坚强 - 收藏于 2010-06-02

要坚强哦。。。

源地址:http://blog.renren.com/GetEntry.do?id=454219036&owner=137447866

如果毕业后选择留在北京,就要选择坚强!


晨起的时候,情绪都点低落,怀疑毕业后的去向,怀疑留在北京的价值。

留 在北京有什么好的?

1、每天早起,要去挤那爆满的地铁,下班后仍要忍受那堵心的交通。

2、有男女朋友的还好点,两人相依相 靠,刚开始日子辛苦点,但不至于空虚寂寞。而那些剩男剩女们,就没那么幸运。毕业了,几个女生合租一块,几个男生住到一起,刚开始都挺好,时间长了,下班 回来就看见那些熟悉的老脸,夜里,各回各的床铺,昏暗的夜灯下,看着天花板和四壁,心里就会变得寂寞惆怅煎熬,没有那个人,有什么值得留恋的呢?

3、 每年除了过年那一周,还能有多少天和父母在一起?前几天看了一位网友写的文章,说他已经4个月没有回家了,母亲今年已经50,如果她母亲还能活50年。那 么按照4个月一次见面机会的话,他还能见母亲150次,可实际上会更少。每每想到这里我就有负罪感,父母生我们养我们,难道就是这样的结局?

4、 在这里混多少年,都没有属于自己的完整的车子房子(都是贷款欠贷),在这里,生儿育女也是问题,虽说老人们可以远赴千里帮你照顾一下,可老人们毕竟老 了,忍心吗?老人不适应这里的气候生活,你还得照顾他们,无疑多了一个负担。

5、还有那变态的房价,究竟要飚到什么时候?如果买了,丫的被 调控跳水,你的投入就被强奸了。如果不买,没被调控,还往上飙,以后更买不起。我们都不是神仙,不知道以后怎样,我们充满恐惧。

。。。。。。

 

对于像我这样家境不是很拮据的人来说,尚且压力重重,那些条件比我差 点的或者那些根本很困难的,他们又怎么活?

小时候,我们幼稚,被别人唆导,唱高调,以后学成本事回去建设家乡。可当你真的离乡背井来到发达 的城市,你就不愿意倒退回去了。因为我们不甘心,如果人最终要回到原点,当初又何苦往高处走,费那劲费那心机闯那独木桥。

回了家,我们至少 有以下的好处:

1、房子解决了,住几层的小楼,还带个小小花园

2、车也解决了,那宽阔的马路任你跑,

3、唱个 K也便宜,不必等那钱柜午夜场60元熬通宵

4、回报父母的心愿也能尽到,在他们老的时候,在他们身边,陪他们说说话,他们病的时候,至少端 上一碗热汤

5、抚养后代也没有那么大的压力,亲戚朋友那么多,能给你很多支持

。。。。。。

生活的乐趣不也就这 样了吗?

图什么呢?

 

说来说去,还是因为我们内心深处不甘心!我们想过的更好,我们希望十 年二十年以后过的更有尊严更有地位更有面子。我们珍惜我们在大学中遇到和培养起来的友谊与感情,我们不希望若干年后的同学聚会,当年周围的朋友一个个出类 拔萃时,自己却低人一等。尤其是那些从很穷很偏远的地方来的同学们,从他们这一代开始,他们必须要改写自己家族的历史和命运,于是他们更要想尽办法留下 来。

 

我恐惧!真的恐惧!

也知道任何想留下的同学都恐惧。

我们恐惧自己忍受不了长期快速的节奏 身体一天天变弱,我们恐惧付出的一切没有换来自己设想的回报,我们恐惧父母年华老去突然某个时刻给自己一个措手不及而你却远在他乡,我们更加恐惧一个人的 时候内心深处无尽的孤独和寂寞。。。。。。

可我想通了,我决定还是要留下来一会,只为守候心中的某些东西。

如果想过家里滋润 轻松的生活,那就不要留下来了,北京本来就不是那样一个城市。即使是最地道的北京人,他们也过不上那样的生活。这个城市的性格决定他与清闲是无缘的。

这 里是冒险者的天堂,这里是淘金的矿场,如果用闲适的思维来考虑未来的问题,那只是奢望,这里永远没有答案,会越想越痛苦。

留下来就要承担那 份寂寞惆怅,忍受那些无助和苦难。而这,才是这个城市性格中最值得你去珍惜和拥抱的东西。

 

于是,

留下来的男生们,你们要无比地坚强,比坚强还要 坚强!

留下来的女生们,你们更要无比的坚强,比坚强的坚强还要坚强!

跟积极上进的人走到一起,他们会带给你力量和鼓励;

坚 定自己的选择,能把一样东西做透了,变得不可替代,成功就在手中;

感恩你正牵手的人,爱他(她),正是他(她),辛苦的日子才变得有依有 靠;

珍惜那些一路走来一同留下的兄弟,因为有了他们,才不会孤单无助!

要经常问候父母,当无情的空间距离阻隔了你们的守望, 那细细的电线传递的爱,就是你表达爱的唯一方式!

 

那苦难和艰辛的价值诱惑我要留下了

很多事情要自己默默承担 下来

尽管一个人

有时也觉得孤独

但也是难得的自我成长机遇

精彩就在不久以后

 

终有一天我要离开的,

带着成就和精彩,微笑着离开,在 三年或五年之后

这里的好我已经历,

我不会把一生交给一个地方,

我要去更多的城市,体验更多的色彩,

只 因这是我的生活态度。

 

选择留下,那就选择坚强

微微笑

冰天雪地都已走来

还有什么 大不了的!



好久没写东西了 - 收藏于 2010-05-31

好就没在这里发牢骚了。
最近比较忙,昨天终于答辩结束了。学生阶段的生活即将结束。

六月份想放松一下,算是对自己的奖励,这一年好累。。。不管结果怎么样,我努力过。。。

ppt 设置漂亮的多级项目编号 - 收藏于 2010-05-14

1.视图/幻灯片母板;
2.在母板视图下,选中左侧最前面那张母板,设置中部幻灯片的格式。你可以每一级设置不同的项目符号。
然后,关闭母板视图。
3.回到幻灯片里以后,可以通过tab 和 shift+tab来降级和升级,控制每一项内容的级别。

linux vi指令大全 - 收藏于 2010-05-11

Vi指令大全

1 进入vi的命令

2 移动光标类命令

3 屏幕翻滚类命令

4 插入文本类命令

5 删除命令

6 搜索及替换命令

7 选项设置

8 最后行方式命令

9 寄存器操作

[编辑]进入vi的命令
vi filename: 打开或新建文件,并将光标置于第一行首

vi +n filename: 打开文件,并将光标置于第n行首

vi + filename: 打开文件,并将光标置于最后一行首

vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处

vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filename

vi filename....filename: 打开多个文件,依次进行编辑

[编辑]移动光标类命令
h: 光标左移一个字符

l: 光标右移一个字符

space: 光标右移一个字符

Backspace: 光标左移一个字符

k或Ctrl+p: 光标上移一行

j或Ctrl+n: 光标下移一行

Enter: 光标下移一行

w或W : 光标右移一个字至字首

b或B : 光标左移一个字至字首

e或E : 光标右移一个字至字尾

): 光标移至句尾

(: 光标移至句首

}: 光标移至段落开头

{: 光标移至段落结尾

nG: 光标移至第n行首

n+: 光标下移n行

n-: 光标上移n行

n$: 光标移至第n行尾

H: 光标移至屏幕顶行

M: 光标移至屏幕中间行

L: 光标移至屏幕最后行

0: 光标移至当前行首

$: 光标移至当前行尾

[编辑]屏幕翻滚类命令
Ctrl+u: 向文件首翻半屏

Ctrl+d: 向文件尾翻半屏

Ctrl+f: 向文件尾翻一屏

Ctrl+b: 向文件首翻一屏

nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

[编辑]插入文本类命令
i: 在光标前

I: 在当前行首

a: 光标后

A: 在当前行尾

o: 在当前行之下新开一行

O: 在当前行之上新开一行

r: 替换当前字符

R: 替换当前字符及其后的字符,直至按ESC键

s: 从当前光标位置处开始,以输入的文本替代指定数目的字符

S: 删除指定数目的行,并以所输入文本代替之

ncw或nCW: 修改指定数目的字

nCC: 修改指定数目的行

[编辑]删除命令
ndw或ndW: 删除光标处开始及其后的n-1个字

do: 删至行首

d$: 删至行尾

ndd: 删除当前行及其后n-1行

x或X: 删除一个字符,x删除光标后的,而X删除光标前的

Ctrl+u: 删除输入方式下所输入的文本

[编辑]搜索及替换命令
/pattern: 从光标开始处向文件尾搜索pattern
?pattern: 从光标开始处向文件首搜索pattern
n: 在同一方向重复上一次搜索命令
N: 在反方向上重复上一次搜索命令
:s/p1/p2/g: 将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g: 将文件中所有p1均用p2替换

[编辑]选项设置
all: 列出所有选项设置情况

term: 设置终端类型

ignorance: 在搜索中忽略大小写

list: 显示制表位(Ctrl+I)和行尾标志($)

number: 显示行号

report: 显示由面向行的命令修改过的数目

terse: 显示简短的警告信息

warn: 在转到别的文件时若没保存当前文件则显示NO write信息

nomagic: 允许在搜索模式中,使用前面不带“\”的特殊字符

nowrapscan: 禁止vi在搜索到达文件两端时,又从另一端开始

mesg: 允许vi显示其他用户用write写到自己终端上的信息

[编辑]最后行方式命令
:n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d: 将 n1行到n2行之间的内容删除
:w: 保存当前文件
:e filename: 打开文件filename进行编辑
:x: 保存当前文件并退出
:q: 退出vi
:q!: 不保存文件并退出vi
:!command: 执行shell命令command
:n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之, 若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command: 将命令command的输出结果放到当前行

[编辑]寄存器操作
"?nyy: 将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyw: 将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyl: 将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字

"?p: 取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字

ndd: 将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中


戒指的戴法 - 收藏于 2010-05-11

右手小指:   不谈恋爱。

 

右手无名指: 热恋中。

 

右手中指:   名花有主。 

 

右手食指:   单身贵族 

 

左手小指:   不婚族。 

 

左手无名指: 结婚。 

 

左手中指:   订婚。 

 

左手食指:   未婚 

 

大拇指都是代表权势的意思, 也可以做自信的意思。


按照我国的习惯,
订婚戒一般戴在左手的中指,
结婚戒指戴在左手的无名指;
未婚姑 娘应戴在右手的中指或无名指

 

 

 

国际上比较流行的戴法是: 
戴在拇指——自我、率性;正在寻觅对象
戴在食指——已有情人;想结婚 而尚未结婚。 
戴在中指——处于热恋之中,订婚
戴在小指——表示单身或离婚或决心独身
无名指上——已订婚或结婚
右手无名 指——表示具有修女的心性。 
戴设计性比较强的戒指时,可以和表搭配

对女士来说—— 
.喜爱粉红者,感 情丰富而浪漫。 
.喜爱红者,热情似火。 
.喜爱蓝者.较内向冷淡。 
.喜爱绿者,情感纤弱。 

 

 

 

对男士来说—— 
.戴纯银戒指表示性情温和,易迁就他 人,容易沟通。 
.戴金戒指者较重视利益,往往会有精明的生意头脑。 
.戴翡翠玉石者有实力,注重品味素质,处事严谨。 
不喜欢 戒指有纹饰者,是个坚信爱情的人。

戒指戴在不同的手指上,能体现与性格有关的心理含义。 
.喜戴在食指者,性格 较偏激倔强。 
.喜戴在右中指者,心理平衡,态度客观;崇尚中庸的人生观念。 
.喜戴在左中指者,有责任感,重视家庭。 
.喜戴 在小手指者,有自卑感。 
.喜戴在无名指者,无野心,随和,较不计较得失。 

戴戒指应该注意: 
戴在食 指上的戒指,要求有立体感的造型。
戴在中指上的戒指,要求大气、有重量感,能够给人以较正式、积极的感觉。 
戴在无名指的戒指,适合正统 造型
戴在小指上的戒指,适合可爱、秀气的造型,因为小手指给人以女性化的感觉。 
手指修长,适宜宽戒和有体积感的戒指 
肥胖型的 手适合戴螺旋造型的戒指,这样能使手指稍显纤细。 
短粗型的手可选择流线造型的戒指。 

指上心愿: 
小 指:小指传达的是一种媚惑性感的讯息,戒指戴在其上将会有意想不到的事发生; 
无名指:相传无名指与心脏相连,最适合发表神圣的誓言; 
中 指:戒指戴在中指上最能营造自由爽朗的气氛,能让人灵感涌现,变得更有魅力、有异性缘; 
食指:而把戒指戴在食指上个性会变得开朗而独立; 
拇 指:戒指戴在拇指可助你达成心愿。 

指甲戒,则是戴在手指尖上的,专门修饰你的指甲和指尖。

为 什么结婚戒指要戴在无名指上——奇妙的生理现象 
将两手中指向下弯曲,背跟背对靠在一起,其它4指指尖对碰。 
下面开始游戏的正题: 
1. 请张开你们那对大母指,大母指代表我们的父母
2.请大家合上大母指,再张开食指,食指代表兄弟姐妹 
3.请大家合上食指,再张开小母指, 小母指代表子女
4.那么,请大家合上小母指,再试着张开无名指,无名指怎么也张不开——夫妻


linux修改系统时间 - 收藏于 2010-05-11

1. su  root                # 进入超级用户权限
password:
[root@locahost  ] #        提示符变成了#

我们一般使用“date -s”命令来修改系统时间。比如将系统时间设定成1996年6月10日的命令如下。 

#date -s 06/10/96 
将系统时间设定成下午1点12分0秒的命令如下。
#date -s 13:12:00 

注意,这里说的是系统时间,是linux由操作系统维护的。 
在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与 CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s 后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。 

#clock -w 

这个命令强制把系统时间写入CMOS。

2. sudo  date  -s  ***
password:    

linux上传下载 - 收藏于 2010-05-11

1 rzsz 是Linux/Unix同Windows进行ZModem文件传输的命令行工具
windows端需要支持ZModem的telnet/ssh客户端,SecureCRT可以用SecureCRT登陆到Unix/Linux主机 (telnet或ssh均可)。
2 命令执行

   运行命令rz, 上传文件,SecureCRT就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到当前目录。
运行命令sz file1 file2 下载文件到windows上(保存的目录可以配置) 比ftp命令方便多了,而且服务器不用再开FTP服务了

3 ZModem

ZModem is a full-duplex file transfer protocol that supports fast data transfer rates and effective error detection. ZModem is very user friendly, allowing either the sending or receiving party to initiate a file transfer. ZModem supports multiple file ("batch") transfers, and allows the use of wildcards when specifying filenames. ZModem also supports resuming most prior ZModem file transfer attempts.

4 xshell 也是一个不错的工具,支持一个页面中多个层显示

5 上传、下载路径设置

   SecureCRT:options–>session options–>Xmodem/Zmodem

   xshell: Sessions->Properties->ZMODEM


没有,没有,没有, - 收藏于 2010-05-10

没有。。,没有。。,没有。。,没有。。。
孤注一掷为了什么。。。。。。。。。。

mistake - 收藏于 2010-04-25

在么 大论文发现一个小错误 24页(2.15)式上面应该是2.14

还有 就是段落里有些mathtype的符号偏高


脑子一片空白 - 收藏于 2010-04-15

最近一直比较低沉,脑子一片空白。。。。

每天这样的宿舍、餐厅。都是一个人,一个人什么都不想做,我在想如果这样下去两个月,我是不是就不会说话了。

孤独、迷茫。。。我深深理解着这两个词的内涵。

写这个帖子不是我无病呻吟,一是为了发泄下心里的难受;二是记录下这一时刻,记住自己这个痛苦的状态。


shell中的引号 - 收藏于 2010-04-14

http://blog.chinaunix.net/u/24098/showart_385997.html

经过前面的学习,应该很清楚当你在shell prompt后面敲打键盘、直到按下enter的时候,你输入的文字就是command line了,然后shell才会以进程方式执行你所提交的命令。但是,你又可知道:你在command line输入的每一个文字,对shell来说,有什么类别之分呢?

简单而言,command line的每一个charactor分为如下两种:   *literal:也就是普通纯文字,对shell来说没有特殊功能。   *meta:对shell来说,具有特定功能的保留字。literal没有什么好说的,凡是 abcd、123456 等这些“文字”都是literal。但是meta确常使我们困惑。事实上,前两章我们在command line中已碰到两个几乎每次都会碰到的meta:    *IFS:由<space> <tab> <enter>三者之一组成(我们常用space)。    *CR:由<enter>产生。IFS是用来拆分command line的每一个词(word)用的,因为shell command line是按词来处理的。而CR则是用来结束command line用的,这也是为何我们敲<enter>命令就会执行的原因。除了IFS和CR外,常用的meta还有:= :   设定变量。
$ :   做变量或运算替换(请不要与 shell prompt 搞混了)。
> : 重定向 stdout。
< : 重定向 stdin。
|:   管道命令。
& : 重定向 file descriptor ,或将命令置于后台执行。
( ): 將其內的命令置于 nested subshell 执行,或用于运算或命令替换。
{ }: 將其內的命令置于 non-named function 中执行,或用在变量替换的界定范围。
; : 在前一个命令结束时,而忽略其返回值,继续执行下一個命令。
&& : 在前一個命令结束时,若返回值为 true,继续执行下一個命令。
|| : 在前一個命令结束时,若返回值为 false,继续执行下一個命令。
!:   执行 history 列表中的命令
....假如我们要在command line中将这些保留元字符的功能关闭的话,就要用到 quoting 处理了。在bash中,我们常用的 quoting有如下三种方法:    *hard quote:''(单引号),凡在hard quote中的所有meta均被关闭。    *soft quote:""(双引号),在soft quote中的大部分meta都会被关闭,但某些保留(如$)。    *escape:\ (反斜线),只有紧接在escape(跳脱字符)之后的单一meta才被关闭。
下面的例子將有助于我们对 quoting 的了解:

        $ A=B C # 空白键未被关闭,作为IFS 处理。
$ C: command not found.
$ echo $A

$ A="B C" # 空白键已被关闭,仅作空白符号处理。
$ echo $A
B C
在第一次设定 A 变量时,由于空白键没有被关闭,command line 将被解读为:
* A=B 然后碰到<IFS>,再执行 C 命令
在第二次设定 A 变量时,由于空白键置于 soft quote 中,因此被关闭,不再作为 IFS :
* A=B<space>C
事实上,空白键无论在 soft quote 还是在 hard quote 中,均会被关闭。Enter 鍵亦然:

        $ A='B
> C
> '
$ echo "$A"
B
C
在上例中,由于 <enter> 被置于 hard quote 当中,因此不再作为 CR 字符來处理。
这里的 <enter> 单纯只是一个断行符号(new-line)而已,由于 command line 并沒得到 CR 字符,
因此进入第二個 shell prompt (PS2,以 > 符号表示),command line 并不会结束,
直到第三行,我们输入的 <enter> 并不在   hard quote 里面,因此并沒被关闭,
此时,command line 碰到 CR 字符,于是结束、交给 shell 來处理。

上例的 <enter> 要是被置于 soft quote 中的话, CR 也会同样被关闭:

        $ A="B
> C
> "
$ echo $A
B C
然而,由于 echo $A 时的变量沒置于 soft quote 中,因此当变量替换完成后并作命令行重组时,<enter> 会被解释为 IFS ,而不是解释为 New Line 字符。

同样的,用 escape 亦可关闭 CR 字符:

        $ A=B\
> C\
>
$ echo $A
BC
上例中,第一个 <enter> 跟第二个 <enter> 均被 escape 字符关闭了,因此也不作为 CR 來处理,
但第三个 <enter> 由于没有被跳脱,因此作为 CR 结束 command line 。
但由于 <enter> 鍵本身在 shell meta 中的特殊性,在 \ 跳脱后面,仅仅取消其 CR 功能,而不会保留其 IFS 功能。

您或许发现光是一个 <enter> 鍵所产生的字符就有可能是如下这些可能:
CR
IFS
NL(New Line)
FF(Form Feed)
NULL
...


至于 soft quote 跟 hard quote 的不同,主要是对于某些 meta 的关闭与否,以 $ 來作说明:

        $ A=B\ C
$ echo "$A"
B C
$ echo '$A'
$A
在第一个 echo 命令行中,$ 被置于 soft quote 中,將不被关闭,因此继续处理变量替换,
因此 echo 將 A 的变量值输出到屏幕,也就得到   "B C" 的结果。
在第二个 echo 命令行中,$ 被置于 hard quote 中,则被关闭,因此 $ 只是一个 $ 符号,
并不会用來作变量替换处理,因此结果是 $ 符号后面接一个 A 字母:$A 。

--------------------------------------
练习与思考:如下结果为何不同?

        $ A=B\ C
$ echo '"$A"' # 最外面的是单引号
        "$A"
$ echo "'$A'" # 最外面的是双引号
        'B C'
       
--------------------------------------

在 CU 的 shell 版里,我发现有很多初学者的问题,都与 quoting 理解的有关。
比方说,若我们在 awk 或 sed 的命令参数中调用之前设定的一些变量时,常会问及为何不能的问题。
要解决这些问题,关键点就是:
* 区分出 shell meta 与 command meta

前面我们提到的那些 meta ,都是在 command line 中有特殊用途的,
比方说 { } 是將其內一系列 command line 置于不具名的程序中执行(可简单视为 command block ),
但是,awk 却需要用 { } 來区分出 awk 的命令区段(BEGIN, MAIN, END)。
若你在 command line 中如此输入:$ awk {print $0} 1.txt
由于   { } 在 shell 中并没关闭,那 shell 就將 {print $0} 视为 command block ,
但同时又沒有" ; "符号作命令区隔,因此就出现 awk 的语法错误結果。

要解決之,可用 hard quote :

$ awk '{print $0}' 1.txt
上面的 hard quote 应好理解,就是將原本的 {、<space>、$(注三)、} 这几个 shell meta 关闭,
避免掉在 shell 中遭到处理,而完整的成为 awk 参数中的 command meta 。
( 注三:而其中的 $0 是 awk 內建的 field number ,而非   awk 的变量,
awk 自身的变量无需使用 $ 。)
要是理解了 hard quote 的功能,再來理解 soft quote 与 escape 就不难:

awk "{print \$0}" 1.txt
awk \{print\ \$0\} 1.txt
然而,若你要改变 awk 的 $0 的 0 值是从另一个 shell 变量读进呢?
比方说:已有变量 $A 的值是 0 ,那如何在 command line 中解決 awk 的 $$A 呢?
你可以很直接否定掉 hard quoe 的方案:

$ awk '{print $$A}' 1.txt
那是因为 $A 的 $ 在 hard quote 中是不能替换变量的。

聪明的读者(如你!),经过本章学习,我想,应该可以解释为何我们可以使用如下操作了吧:

A=0
awk "{print \$$A}" 1.txt
awk \{print\ \$$A\} 1.txt
awk '{print $'$A'}' 1.txt
awk '{print $'"$A"'}' 1.txt     # 注:"$A" 包在 soft quote 中

shell中grep命令详解 (搜索文本文件,过滤目录) - 收藏于 2010-04-13

用‘grep’搜索文本文件
如果您要在几个文本文件中查找一字符串,可以使用‘grep’命令。‘grep’在文本中搜索指定的字符串。举个例子:假设您正在‘/usr/src/linux/Documentation’目录下搜索带字符串‘magic’的文件:
$ grep magic /usr/src/linux/Documentation/*
sysrq.txt:* How do I enable the magic SysRQ key?sysrq.txt:* How do I use the magic SysRQ key?其中文件‘sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。

默认情况下,‘grep’只搜索当前目录。如果此目录下有许多子目录,‘grep’会以如下形式列出:
grep: sound: Is a directory
这可能会使‘grep’的输出难于阅读。这里有两种解决的办法:
明确要求搜索子目录:grep -r
忽略子目录:grep -d skip

当然,如果预料到有许多输出,您可以通过 管道
将其转到‘less’上阅读:
$ grep magic /usr/src/linux/Documentation/* | less
这样,您就可以更方便地阅读。
有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用*)。如果您忘了,‘grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按ctrl+c,然后再试。(important!!)

下面是一些有意思的命令行参数:
grep -i pattern files:不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files:只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files:匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配pattern2 的行。

这里还有些用于搜索的特殊符号:
\< 和 \> 分别标注单词的开始与结尾。
例如:
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
grep '\<man' * 匹配‘manic’和‘man’,但不是‘Batman’,
grep '\<man\>' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。

'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,
如果您不习惯命令行参数,可以试试图形界面的‘grep’,如 reXgrep 。这个软件提供 AND、OR、NOT 等语法,还有漂亮的按钮 :-) 。如果您只是需要更清楚的输出,不妨试试 fungrep 。

shell中awk详解 (模式提取) - 收藏于 2010-04-13

您正在学习 Linux 吗?本文对于非常有用的 AWK 文本操作工具进行了介绍,非常有价值。

AWK 实用工具带有其自己的自包含语言,它不仅是 Linux 中也是任何环境中现有的功能最强大的数据处理引擎之一。这种编程及数据操作语言(其名称得自于它的创始人 Alfred Aho、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母)的最大功能取决于一个人所拥有的知识。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。

AWK 是什么?

最简单地说,AWK 是一种用于处理文本的编程语言工具。AWK 实用工具的语言在很多方面类似于 shell 编程语言,尽管 AWK 具有完全属于其本身的语法。在最初创造 AWK 时,其目的是用于文本处理,并且这种语言的基础是,只要在输入数据中有模式匹配,就执行一系列指令。该实用工具扫描文件中的每一行,查找与命令行中所给定内容相匹配的模式。如果发现匹配内容,则进行下一个编程步骤。如果找不到匹配内容,则继续处理下一行。

尽管操作可能会很复杂,但命令的语法始终是:

awk '{pattern + action}' {filenames}

其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。花括号 ({}) 不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。

了解字段

实用工具将每个输入行分为记录和字段。记录是单行的输入,而每条记录包含若干字段。默认的字段分隔符是空格或制表符,而记录的分隔符是换行。虽然在默认情况下将制表符和空格都看作字段分隔符(多个空格仍然作为一个分隔符),但是可以将分隔符从空格改为任何其它字符。

为了进行演示,请查看以下保存为 emp_names 的员工列表文件:

46012 DULANEY EVAN MOBILE AL
46013 DURHAM JEFF MOBILE AL
46015 STEEN BILL MOBILE AL
46017 FELDMAN EVAN MOBILE AL
46018 SWIM STEVE UNKNOWN AL
46019 BOGUE ROBERT PHOENIX AZ
46021 JUNE MICAH PHOENIX AZ
46022 KANE SHERYL UNKNOWN AR
46024 WOOD WILLIAM MUNCIE IN
46026 FERGUS SARAH MUNCIE IN
46027 BUCK SARAH MUNCIE IN
46029 TUTTLE BOB MUNCIE IN

当 AWK 读取输入内容时,整条记录被分配给变量 $0。每个字段以字段分隔符分开,被分配给变量 $1、$2、$3 等等。一行在本质上可以包含无数个字段,通过字段号来访问每个字段。因此,命令

awk '{print $1,$2,$3,$4,$5}' names

将会产生的打印输出是

46012 DULANEY EVAN MOBILE AL
46013 DURHAM JEFF MOBILE AL
46015 STEEN BILL MOBILE AL
46017 FELDMAN EVAN MOBILE AL
46018 SWIM STEVE UNKNOWN AL
46019 BOGUE ROBERT PHOENIX AZ
46021 JUNE MICAH PHOENIX AZ
46022 KANE SHERYL UNKNOWN AR
46024 WOOD WILLIAM MUNCIE IN
46026 FERGUS SARAH MUNCIE IN
46027 BUCK SARAH MUNCIE IN
46029 TUTTLE BOB MUNCIE IN

值得注意的一项重要内容是,AWK 解释由空格分隔的五个字段,但当它打印显示内容时,在每个字段间只有一个空格。利用为每个字段指定了唯一号码的功能,您可以选择只打印特定的字段。例如,只打印每条记录的姓名时,只需选择第二个和第三个字段进行打印:

$ awk '{print $2,$3}' emp_names
DULANEY EVAN
DURHAM JEFF
STEEN BILL
FELDMAN EVAN
SWIM STEVE
BOGUE ROBERT
JUNE MICAH
KANE SHERYL
WOOD WILLIAM
FERGUS SARAH
BUCK SARAH
TUTTLE BOB
$

您还可以指定按任何顺序打印字段,而无论它们在记录中是如何存在的。因此,只需要显示姓名字段,并且使其顺序颠倒,先显示名字再显示姓氏:

$ awk '{print $3,$2}' emp_names
EVAN DULANEY
JEFF DURHAM
BILL STEEN
EVAN FELDMAN
STEVE SWIM
ROBERT BOGUE
MICAH JUNE
SHERYL KANE
WILLIAM WOOD
SARAH FERGUS
SARAH BUCK
BOB TUTTLE
$

使用模式

通过包含一个必须匹配的模式,您可以选择只对特定的记录而不是所有的记录进行操作。模式匹配的最简单形式是搜索,其中要匹配的项目被包含在斜线 (/pattern/) 中。例如,只对那些居住在阿拉巴马州的员工执行前面的操作:

$ awk '/AL/ {print $3,$2}' emp_names
EVAN DULANEY
JEFF DURHAM
BILL STEEN
EVAN FELDMAN
STEVE SWIM
$

如果您不指定要打印的字段,则会打印整个匹配的条目:

$ awk '/AL/' emp_names
46012 DULANEY EVAN MOBILE AL
46013 DURHAM JEFF MOBILE AL
46015 STEEN BILL MOBILE AL
46017 FELDMAN EVAN MOBILE AL
46018 SWIM STEVE UNKNOWN AL
$

对同一数据集的多个命令可以用分号 (;) 分隔开。例如,在一行中打印姓名,而在另一行中打印城市和州名:

$ awk '/AL/ {print $3,$2 ; print $4,$5}' emp_names
EVAN DULANEY
MOBILE AL
JEFF DURHAM
MOBILE AL
BILL STEEN
MOBILE AL
EVAN FELDMAN
MOBILE AL
STEVE SWIM
UNKNOWN AL
$

如果没有使用分号 (print $3,$2,$4,$5),则会在同一行中显示所有内容。另一方面,如果分别给出两个打印语句,则会产生完全不同的结果:

$ awk '/AL/ {print $3,$2} {print $4,$5}' emp_names
EVAN DULANEY
MOBILE AL
JEFF DURHAM
MOBILE AL
BILL STEEN
MOBILE AL
EVAN FELDMAN
MOBILE AL
STEVE SWIM
UNKNOWN AL
PHOENIX AZ
PHOENIX AZ
UNKNOWN AR
MUNCIE IN
MUNCIE IN
MUNCIE IN
MUNCIE IN
$

只有在列表中找到 AL 时才会给出字段三和字段二。但是,字段四和字段五是无条件的,始终打印它们。只有第一组花括号中的命令对前面紧邻的命令 (/AL/) 起作用。

结果非常不便于阅读,可以使其稍微更清晰一些。首先,在城市与州之间插入一个空格和逗号。然后,在每两行显示之后放置一个空行:

$ awk '/AL/ {print $3,$2 ; print $4", "$5" "}' emp_names
EVAN DULANEY
MOBILE, AL

JEFF DURHAM
MOBILE, AL

BILL STEEN
MOBILE, AL

EVAN FELDMAN
MOBILE, AL

STEVE SWIM
UNKNOWN, AL
$

在第四和第五个字段之间,添加一个逗号和一个空格(在引号之间),在第五个字段后面,打印一个换行符 ( )。在 AWK 打印语句中还可以使用那些可在 echo 命令中使用的所有特殊字符,包括:

* (换行)
* (制表)
* (退格)
* f(进纸)
* (回车)

因此,要读取全部五个最初由制表符分隔开的字段,并且也利用制表符打印它们,您可以编程如下

$ awk '{print $1" "$2" "$3" "$4" "$5}' emp_names
46012 DULANEY EVAN MOBILE AL
46013 DURHAM JEFF MOBILE AL
46015 STEEN BILL MOBILE AL
46017 FELDMAN EVAN MOBILE AL
46018 SWIM STEVE UNKNOWN AL
46019 BOGUE ROBERT PHOENIX AZ
46021 JUNE MICAH PHOENIX AZ
46022 KANE SHERYL UNKNOWN AR
46024 WOOD WILLIAM MUNCIE IN
46026 FERGUS SARAH MUNCIE IN
46027 BUCK SARAH MUNCIE IN
46029 TUTTLE BOB MUNCIE IN
$

通过连续设置多项标准并用管道 (|) 符号将其分隔开,您可以一次搜索多个模式匹配:

$ awk '/AL|IN/' emp_names
46012 DULANEY EVAN MOBILE AL
46013 DURHAM JEFF MOBILE AL
46015 STEEN BILL MOBILE AL
46017 FELDMAN EVAN MOBILE AL
46018 SWIM STEVE UNKNOWN AL
46024 WOOD WILLIAM MUNCIE IN
46026 FERGUS SARAH MUNCIE IN
46027 BUCK SARAH MUNCIE IN
46029 TUTTLE BOB MUNCIE IN
$

这样可找到每个阿拉巴马州和印第安那州居民的匹配记录。但是在试图找出居住在亚利桑那州的人时,出现了一个问题:

$ awk '/AR/' emp_names
46019 BOGUE ROBERT PHOENIX AZ
46021 JUNE MICAH PHOENIX AZ
46022 KANE SHERYL UNKNOWN AZ
46026 FERGUS SARAH MUNCIE IN
46027 BUCK SARAH MUNCIE IN
$

员工 46026 和 46027 没有住在亚利桑那州;但是他们的名字中包含所搜索的字符序列。切记,当在 AWK 中进行模式匹配时,例如 grep、sed 或者大部分其他 Linux/Unix 命令,将在记录(行)中的任何位置查找匹配,除非指定进行其他操作。为解决这一问题,必须将搜索与特定字段联系起来。通过利用代字号 (&#732;) 以及对特定字段的说明,可以达到这一目的,如下例所示:

$ awk '$5 &#732; /AR/' emp_names
46019 BOGUE ROBERT PHOENIX AZ
46021 JUNE MICAH PHOENIX AZ
46022 KANE SHERYL UNKNOWN AZ
$

代字号(表示匹配)的对应符号是一个前面带有感叹号的代字号 (!&#732;)。这些字符通知程序,如果搜索序列没有出现在指定字段中,则找出与搜索序列相匹配的所有行:

$ awk '$5 !&#732; /AR/' names
46012 DULANEY EVAN MOBILE AL
46013 DURHAM JEFF MOBILE AL
46015 STEEN BILL MOBILE AL
46017 FELDMAN EVAN MOBILE AL
46018 SWIM STEVE UNKNOWN AL
46024 WOOD WILLIAM MUNCIE IN
46026 FERGUS SARAH MUNCIE IN
46027 BUCK SARAH MUNCIE IN
46029 TUTTLE BOB MUNCIE IN
$

在这种情况下,将显示第五个字段中没有 AR 的所有行 — 包括两个 Sarah 条目,这两个条目确实包含 AR,但却是在第三个字段而不是第五个字段中。

花括号和字段分隔符

括号字符在 AWK 命令中起着很重要的作用。出现在括号之间的操作指出将要发生什么以及何时发生。当只使用一对括号时:

{print $3,$2}

括号间的所有操作同时发生。当使用多于一对的括号时:

{print $3}{print $2}

执行第一组命令,在该命令完成后执行第二组命令。注意以下两列清单的区别:

$ awk '{print $3,$2}' names
EVAN DULANEY
JEFF DURHAM
BILL STEEN
EVAN FELDMAN
STEVE SWIM
ROBERT BOGUE
MICAH JUNE
SHERYL KANE
WILLIAM WOOD
SARAH FERGUS
SARAH BUCK
BOB TUTTLE
$

$ awk '{print $3}{print $2}' names
EVAN
DULANEY
JEFF
DURHAM
BILL
STEEN
EVAN
FELDMAN
STEVE
SWIM
ROBERT
BOGUE
MICAH
JUNE
SHERYL
KANE
WILLIAM
WOOD
SARAH
FERGUS
SARAH
BUCK
BOB
TUTTLE
$

要利用多组括号进行重复查找,执行第一组中的命令直到完成为止;然后处理第二组命令。如果有第三组命令,则在第二组命令完成后执行它,以此类推。在所生成的打印输出中,有两个分隔的打印命令,因此先执行第一个命令,随后执行第二个命令,这样导致每个条目显示在两行而不是一行中。

区分两个字段的字段分隔符不一定始终是空格;它可以是任何可识别的字符。为进行演示,假定 emp_names 文件利用冒号而不是制表符来分隔字段:

$ cat emp_names
46012:DULANEY:EVAN:MOBILE:AL
46013:DURHAM:JEFF:MOBILE:AL
46015:STEEN:BILL:MOBILE:AL
46017:FELDMAN:EVAN:MOBILE:AL
46018:SWIM:STEVE:UNKNOWN:AL
46019:BOGUE:ROBERT:PHOENIX:AZ
46021:JUNE:MICAH:PHOENIX:AZ
46022:KANE:SHERYL:UNKNOWN:AR
46024:WOOD:WILLIAM:MUNCIE:IN
46026:FERGUS:SARAH:MUNCIE:IN
46027:BUCK:SARAH:MUNCIE:IN
46029:TUTTLE:BOB:MUNCIE:IN
$

如果试图通过指定所需要的第二个字段来打印姓氏

$ awk '{print $2}' emp_names

您最后会得到十二个空行。因为文件中没有空格,除了第一个字段之外没有可认别的字段。为解决这一问题,必须通知 AWK 是空格之外的另一个字符作为分隔符,有两种方法可通知 AWK 使用新的字段分隔符:使用命令行参数 -F,或在程序中指定变量 FS。两种方法的效果相同,只有一种例外情况,如下例所示:

$ awk '{FS=":"}{print $2}' emp_names

DURHAM
STEEN
FELDMAN
SWIM
BOGUE
JUNE
KANE
WOOD
FERGUS
BUCK
TUTTLE
$

$ awk -F: '{print $2}' emp_names
DULANEY
DURHAM
STEEN
FELDMAN
SWIM
BOGUE
JUNE
KANE
WOOD
FERGUS
BUCK
TUTTLE
$

在第一个命令中,头一条记录返回不正确的空行,而其他结果正确。直到读取第二条记录时,才识别字段分隔符并正确地执行。通过使用 BEGIN 语句可以纠正这一缺点(在后文详述)。-F 的功能非常类似于 BEGIN,能够正确地读取第一条记录并按要求执行。

在本文开始处我曾提到,默认的显示/输出字段分隔符是空格。通过使用输出字段分隔符 (OFS) 变量,可以在程序中更改此特性。例如,要读取文件(由冒号分隔)并以短划线显示,则命令是

$ awk -F":" '{OFS="-"}{print $1,$2,$3,$4,$5}' emp_names
46012-DULANEY-EVAN-MOBILE-AL
46013-DURHAM-JEFF-MOBILE-AL
46015-STEEN-BILL-MOBILE-AL
46017-FELDMAN-EVAN-MOBILE-AL
46018-SWIM-STEVE-UNKNOWN-AL
46019-BOGUE-ROBERT-PHOENIX-AZ
46021-JUNE-MICAH-PHOENIX-AZ
46022-KANE-SHERYL-UNKNOWN-AR
46024-WOOD-WILLIAM-MUNCIE-IN
46026-FERGUS-SARAH-MUNCIE-IN
46027-BUCK-SARAH-MUNCIE-IN
46029-TUTTLE-BOB-MUNCIE-IN
$

FS 和 OFS 是(输入)字段分隔符和输出字段分隔符,它们只是一对可以在 AWK 实用工具中使用的变量。例如,要在打印时为每行编号,可以采用以下方式使用 NR 变量:

$ awk -F":" '{print NR,$1,$2,$3}' emp_names
1 46012 DULANEY EVAN
2 46013 DURHAM JEFF
3 46015 STEEN BILL
4 46017 FELDMAN EVAN
5 46018 SWIM STEVE
6 46019 BOGUE ROBERT
7 46021 JUNE MICAH
8 46022 KANE SHERYL
9 46024 WOOD WILLIAM
10 46026 FERGUS SARAH
11 46027 BUCK SARAH
12 46029 TUTTLE BOB
$

找出员工号码处于 46012 和 46015 之间的所有行:

$ awk -F":" '/4601[2-5]/' emp_names
46012 DULANEY EVAN MOBILE AL
46013 DURHAM JEFF MOBILE AL
46015 STEEN BILL MOBILE AL
$

添加文本

可以按照添加控制序列或其他字符的相同方式将文本添加到显示中。例如,要将分隔符从空格改为冒号,则命令是

awk '{print $1":"$2":"$3":"$4":"$5}' emp_names > new_emp_names

在这种情况下,字符 (:) 包含在引号 ("/") 中,它被添加到每个字段之间。在引号之间的值可以是任何内容。例如,创建一个关于居住在阿拉巴马州的员工的外观类似数据库的显示:

$ awk '$5 ~ /AL/ {print "NAME: "$2", "$3" CITY-STATE:
"$4", "$5" "}' emp_names

NAME: DULANEY, EVAN
CITY-STATE: MOBILE, AL

NAME: DURHAM, JEFF
CITY-STATE: MOBILE, AL

NAME: STEEN, BILL
CITY-STATE: MOBILE, AL

NAME: FELDMAN, EVAN
CITY-STATE: MOBILE, AL

NAME: SWIM, STEVE
CITY-STATE: UNKNOWN, AL
$

数学操作

AWK 除了提供文本功能,还提供全部范围的算术操作符,包括以下符号:

+ 将数字相加
- 减
* 乘
/ 除
^ 执行指数运算
% 提供模
++ 将变量值加一
+= 将其他操作的结果分配给变量
— 将变量减一
-= 将减法操作的结果分配给变量
*= 分配乘法操作的结果
/= 分配除法操作的结果
%= 分配求模操作的结果

例如,假定您的机器上存在以下的文件,详细地列出硬件商店中的物品:

$ cat inventory
hammers 5 7.99
drills 2 29.99
punches 7 3.59
drifts 2 4.09
bits 55 1.19
saws 123 14.99
nails 800 .19
screws 80 .29
brads 100 .24
$

第一项业务定单是通过将第二个字段(数量)的值乘以第三个字段(价格)的值,计算每种物品的库存价值:

$ awk '{print $1,"QTY: "$2,"PRICE: "$3,"TOTAL: "$2*$3}' inventory
hammers QTY: 5 PRICE: 7.99 TOTAL: 39.95
drills QTY: 2 PRICE: 29.99 TOTAL: 59.98
punches QTY: 7 PRICE: 3.59 TOTAL: 25.13
drifts QTY: 2 PRICE: 4.09 TOTAL: 8.18
bits QTY: 55 PRICE: 1.19 TOTAL: 65.45
saws QTY: 123 PRICE: 14.99 TOTAL: 1843.77
nails QTY: 800 PRICE: .19 TOTAL: 152
screws QTY: 80 PRICE: .29 TOTAL: 23.2
brads QTY: 100 PRICE: .24 TOTAL: 24
$

如果这些行本身并不重要,您只是希望确定商店中有多少件物品,则可以分配一个普通变量,按照每条记录中的物品数量增加:

$ awk '{x=x+$2} {print x}' inventory
5
7
14
16
71
194
994
1074
1174
$

根据这一数据,商店中有 1174 件物品。第一次执行时,变量 x 没有值,因此它采用第一行第二个字段的值。第二次执行时,它保留了第一行的值并加上第二行的值,以此类推,直到达到累计的总合。

可以应用相同的过程来确定现有库存的总价值:

$ awk '{x=x+($2*$3)} {print x}' inventory
39.95
99.93
125.06
133.24
198.69
2042.46
2194.46
2217.66
2241.66
$

因此,1174 件物品的价值是 $2,241.66。虽然这一过程可以获得总计值,但它的外观很差,需要加工成实际的报表。利用一些附加项,很容易使显示变得更整洁:

$ awk '{x=x+($2*$3)}{print $1,"QTY: "$2,"PRICE: "$3,"TOTAL: "$2*$3,"BAL: "x}' inventory
hammers QTY: 5 PRICE: 7.99 TOTAL: 39.95 BAL: 39.95
drills QTY: 2 PRICE: 29.99 TOTAL: 59.98 BAL: 99.93
punches QTY: 7 PRICE: 3.59 TOTAL: 25.13 BAL: 125.06
drifts QTY: 2 PRICE: 4.09 TOTAL: 8.18 BAL: 133.24
bits QTY: 55 PRICE: 1.19 TOTAL: 65.45 BAL: 198.69
saws QTY: 123 PRICE: 14.99 TOTAL: 1843.77 BAL: 2042.46
nails QTY: 800 PRICE: .19 TOTAL: 152 BAL: 2194.46
screws QTY: 80 PRICE: .29 TOTAL: 23.2 BAL: 2217.66
brads QTY: 100 PRICE: .24 TOTAL: 24 BAL: 2241.66
$

该过程提供了每条记录的清单,同时将总价值分配给库存值,并保持商店资产的运作平衡。

BEGIN 和 END

使用 BEGIN 和 END 语句可以分别指定在处理实际开始之前或者完成之后进行操作。BEGIN 语句最常用于建立变量或显示标题。另一方面,END 语句可用于在程序结束后继续进行处理。

在前面的示例中,利用以下例程生成了物品的总价值:

awk '{x=x+($2*$3)} {print x}' inventory

该例程在运行总计累加时显示了文件中的每一行。没有其他方法可以指定它,而不让在每一行进行打印也导致它始终不打印出来。但是,利用 END 语句可以避免这一问题:

$ awk '{x=x+($2*$3)} END {print "Total Value of Inventory:"x}' inventory
Total Value of Inventory: 2241.66
$

定义了变量 x,它对每一行进行处理;但是,在所有处理完成之前不会生成显示。尽管可以作为独立例程使用,它也可以置入到先前的代码列表,添加更多信息并生成更完整的报表:

$ awk '{x=x+($2*$3)} {print $1,"QTY: "$2,"PRICE:
"$3,"TOTAL: "$2*$3} END {print "Total Value of Inventory: " x}' inventory

hammers QTY: 5 PRICE: 7.99 TOTAL: 39.95
drills QTY: 2 PRICE: 29.99 TOTAL: 59.98
punches QTY: 7 PRICE: 3.59 TOTAL: 25.13
drifts QTY: 2 PRICE: 4.09 TOTAL: 8.18
bits QTY: 55 PRICE: 1.19 TOTAL: 65.45
saws QTY: 123 PRICE: 14.99 TOTAL: 1843.77
nails QTY: 800 PRICE: .19 TOTAL: 152
screws QTY: 80 PRICE: .29 TOTAL: 23.2
brads QTY: 100 PRICE: .24 TOTAL: 24
Total Value of Inventory: 2241.66
$

BEGIN 命令与 END 的工作方式相同,但它建立了那些需要在完成其他工作之前所做的项目。该过程最常见的目的是创建报表的标题。此例程的语法类似于

$ awk 'BEGIN {print "ITEM QUANTITY PRICE TOTAL"}'

输入、输出和源文件

AWK 工具可以从文件中读取其输入,正如在此之前所有示例所做的那样,它也可以从其他命令的输出中获取输入。例如:

$ sort emp_names | awk '{print $3,$2}'

awk 命令的输入是排序操作的输出。除了 sort,还可以使用任何其他的 Linux 命令 — 例如 grep。该过程允许您在离开所选定字段前对文件执行其他操作。

类似于解释程序,AWK 使用输出改向操作符 > 和 >> 将其输出放入文件中而不是标准输出设备。这些符号的作用类似于它们在解释程序中的对应符号,因此 > 在不存在文件时创建文件,而 >> 追加到现有文件的尾部。请看以下的示例:

$ awk '{print NR, $1 ) > "/tmp/filez" }' emp_names
$ cat /tmp/filez
1 46012
2 46013
3 46015
4 46017
5 46018
6 46019
7 46021
8 46022
9 46024
10 46026
11 46027
12 46029
$

检查该语句的语法,您会看到输出改向是在打印语句完成后进行的。必须将文件名包含在引号中,否则它只是一个未初始化的 AWK 变量,而将指令联接起来会在 AWK 中产生错误。(如果不正确地使用改向符号,则 AWK 无法了解该符号意味着“改向”还是一个关系操作符。)

在 AWK 中输出到管道也类似于解释程序中所实现的相同操作。要将打印命令的输出发送到管道中,可以在打印命令后附加管道符号以及命令的名称,如下所示:

$ awk '{ print $2 | "sort" }' emp_names
BOGUE
BUCK
DULANEY
DURHAM
FELDMAN
FERGUS
JUNE
KANE
STEEN
SWIM
TUTTLE
WOOD
$

这是输出改向的情况,必须将命令包含在引号中,而管道的名称是被执行命令的名称。

AWK 所使用的命令可以来自两个地方。首先,可以在命令行中指定它们,如示例中所示。其次,它们可以由源文件提供。如果是这种情况,通过 -f 选项将这种情况向 AWK 发出警告。演示如下:

$ cat awklist
{print $3,$2}
{print $4,$5," "}
$

$ awk -f awklist emp_names
EVAN DULANEY
MOBILE AL

JEFF DURHAM
MOBILE AL

BILL STEEN
MOBILE AL

EVAN FELDMAN
MOBILE AL

STEVE SWIM
UNKNOWN AL

ROBERT BOGUE
PHOENIX AZ

MICAH JUNE
PHOENIX AZ

SHERYL KANE
UNKNOWN AR

WILLIAM WOOD
MUNCIE IN

SARAH FERGUS
MUNCIE IN

SARAH BUCK
MUNCIE IN

BOB TUTTLE
MUNCIE IN

$

注意,在源文件中的任何地方或者在命令行中调用它时,不使用单引号。单引号只用于区别命令行中的命令与文件名称。

如果简单的输出不能处理您的程序中所需要的复杂信息,则可以尝试由 printf 命令获得的更加复杂的输出,其语法是

printf( format, value, value ...)

该语法类似于 C 语言中的 printf 命令,而格式的规格是相同的。通过插入一项定义如何打印数值的规格,可以定义该格式。格式规格包含一个跟有字母的 %。类似于打印命令,printf 不必包含在圆括号中,但是可以认为使用圆括号是一种良好的习惯。

下表列出 printf 命令提供的各种规格。

规格 说明
%c 打印单个 ASCII 字符
%d 打印十进制数
%e 打印数字的科学计数表示
%f 打印浮点表示
%g 打印 %e 或 %f;两种方式都更简短
%o 打印无符号的八进制数
s 打印 ASCII 字符串
%x 打印无符号的十六进制数
%% 打印百分号;不执行转换

可以在 % 与字符之间提供某些附加的格式化参数。这些参数进一步改进数值的打印方式:

参数 说明
- 将字段中的表达式向左对齐
,width 根据需要将字段补齐到指定宽度(前导零使用零将字段补齐)
.prec 小数点右面数字的最大字符串宽度或最大数量

printf 命令能够控制并将数值从一种格式转换为另一种格式。当需要打印变量的值时,只需提供一种规格,指示 printf 如何打印信息(通常包含在双引号中)即可。必须为每个传递到 printf 的变量包含一个规格参数;如果包含过少的参数,则 printf 不会打印所有的数值。

处理错误

AWK 工具报告所发生错误的方式很令人恼火。一个错误会阻碍任何操作的进行,所提供的错误信息非常含混不清:

awk: syntax error near line 2
awk: bailing out near line 2

您可能会花几小时的时间查看第 2 行,试图找出它为什么阻碍程序运行;这就是支持使用源文件的一个有力论据。

切记有两条规则可以帮助您避免出现语法错误:

1. 确保命令位于括号中,而括号位于单引号中。没有使用这些字符之一必然导致程序无法运行。

2. 搜索命令需要位于斜线之间。要找出住在印第安那州的员工,您必须使用“/IN/”而不是“IN”。

结论

尽管 AWK 完全代表另外的含意,但它应该是管理员智能工具包的首字母缩写。连同 SED 一起,AWK 实用工具是 Linux 管理员所拥有的功能最强大和灵活的工具之一。通过了解其语言的一些特性,您可以开辟出能够简化任务的领域,否则这些任务将会是非常费时和困难的。

shell中sed用法详解 (模式替换) - 收藏于 2010-04-12

zz:http://doc.linuxpk.com/80440.html

sed ( stream editor ) 用法:       

       1. 是一个非交互性文本流编辑器。它编辑文件或标准输入导出的文本拷贝。

        2. 通过行号或正则表达式指定要改变的文本行

       3. sed不与初始文件打交道,而只与它的一个拷贝打交道,如果操作结果没有重定向到一个文件,那么将输出到屏幕。       调用方式:              a. 命令行方式              b. 将sed命令插入脚本文件中,然后调用sed              c. 将sed命令插入脚本文件中,使得脚本文件为可执行。       保存sed输出              重定向到一个新文件 >       sed中定位文本的方式              x          一行号              x,y       行号范围              /pattern/ 查询包含模式的行              /pattern/pattern/     查询包含两个模式的行              /pattern/,x              在指定行号上查询匹配模式的行              x,/pattern/              通过行号和模式查询匹配行              x,y!                  查询不包含行号x,y的行       sed编辑命令              p     打印文本              匹配元字符$前,必须使用反斜线\              =  打印行号      使用-e选项              如果既打印行号又打印匹配行,必须使用两个sed命令,并使用-e选项       附加文本              使用符号a\ ,可以指定文本一行或多行附加到指定行。若不指定文本放置位置位置,sed缺省放置在每一行后面。              创建sed脚本文件                     创建脚本文件,第一行为:                     #!/bin/sed -f       ----注 说明sed命令解释行。脚本在这一行查找sed以运行命令,这里定位在/bin              插入文本:在指定行前面插入,它也只接受一个地址。              删除文本:d              替换命令用替换模式替换指定模式       使用sed实现的一个重要功能是在另一个系统中下载的文件中剔除控制字符。              1. 使用s/-*//g删除横线-----              2. 使用/^$s/d删除空行              3. 使用$d删除最后一行              4. 使用1d删除第一行              5. 使用awk{print $1}打印第一列

在这篇文章中,我们将浏览最常用的命令和选项,并演示它们如何工作,以及它们适于在何处使用。

替换命令

sed 实用工具以及其它任何类似的编辑器的最常用的命令之一是用一个值替换另一个值。用来实现这一目的的操作的命令部分语法是:


's/{old value}/{new value}/'

因而,下面演示了如何非常简单地将 "tiger" 修改为 "wolf":


$ echo The tiger cubs will meet on Tuesday after school | sed
's/tiger/wolf/'
The wolf cubs will meet on Tuesday after school
$

注意如果输入是源自之前的命令输出,则不需要指定文件名—同样的原则也适用于 awk、sort 和其它大多数 LinuxUNIX 命令行实用工具程序。

多次修改

如果需要对同一文件或行作多次修改,可以有三种方法来实现它。第一种是使用 "-e" 选项,它通知程序使用了多条编辑命令。例如:


$ echo The tiger cubs will meet on Tuesday after school | sed -e '
s/tiger/wolf/' -e 's/after/before/'
The wolf cubs will meet on Tuesday before school
$

这是实现它的非常复杂的方法,因此 "-e" 选项不常被大范围使用。更好的方法是用分号来分隔命令:


$ echo The tiger cubs will meet on Tuesday after school | sed '
s/tiger/wolf/; s/after/before/'
The wolf cubs will meet on Tuesday before school
$

注 意分号必须是紧跟斜线之后的下一个字符。如果两者之间有一个空格,操作将不能成功完成,并返回一条错误消息。这两种方法都很好,但许多管理员更喜欢另一种 方法。要注意的一个关键问题是,两个撇号 (' ') 之间的全部内容都被解释为 sed 命令。直到您输入了第二个撇号,读入这些命令的 shell 程序才会认为您完成了输入。这意味着可以在多行上输入命令—同时 Linux 将提示符从 PS1 变为一个延续提示符(通常为 ">")—直到输入了第二个撇号。一旦输入了第二个撇号,并且按下了 Enter 键,则处理就进行并产生相同的结果,如下所示:


$ echo The tiger cubs will meet on Tuesday after school | sed '
> s/tiger/wolf/
> s/after/before/'
The wolf cubs will meet on Tuesday before school
$

全局修改

让我们开始一次看似简单的编辑。假定在要修改的消息中出现了多次要修改的项目。默认方式下,结果可能和预期的有所不同,如下所示:


$ echo The tiger cubs will meet this Tuesday at the same time
as the meeting last Tuesday | sed 's/Tuesday/Thursday/'
The tiger cubs will meet this Thursday at the same time
as the meeting last Tuesday
$

与 将出现的每个 "Tuesday" 修改为 "Thursday" 相反,sed 编辑器在找到一个要修改的项目并作了修改之后继续处理下一行,而不读整行。sed 命令功能大体上类似于替换命令,这意味着它们都处理?恳恍兄谐鱿值牡谝桓鲅《ㄐ蛄小N 颂婊怀鱿值拿恳桓鱿钅浚 谕 恍兄谐鱿侄喔鲆 婊坏南钅康那榭鱿拢? 您必须指定在全局进行该操作:


$ echo The tiger cubs will meet this Tuesday at the same time
as the meeting last Tuesday | sed 's/Tuesday/Thursday/g'
The tiger cubs will meet this Thursday at the same time
as the meeting last Thursday
$

请记住不管您要查找的序列是否仅包含一个字符或词组,这种对全局化的要求都是必需的。

sed 还可以用来修改记录字段分隔符。例如,以下命令将把所有的 tab 修改为空格:


sed 's// /g'

其 中,第一组斜线之间的项目是一个 tab,而第二组斜线之间的项目是一个空格。作为一条通用的规则,sed 可以用来将任意的可打印字符修改为任意其它的可打印字符。如果您想将不可打印字符修改为可打印字符—例如,铃铛修改为单词 "bell"—sed 不是适于完成这项工作的工具(但 tr 是)。

有时,您不想修改在一个文件中出现的所有指定项目。有时,您只想在满足某些条件时才作修改—例如,在与其它一些数据匹配之后才作修改。为了说明这一点,请考虑以下文本文件:


$ cat sample_one
one 1
two 1
three 1
one 1
two 1
two 1
three 1
$

假定希望用 "2" 来替换 "1",但仅在单词 "two" 之后才作替换,而不是每一行的所有位置。通过指定在给出替换命令之前必须存在一次匹配,可以实现这一点:


$ sed '/two/ s/1/2/' sample_one
one 1
two 2
three 1
one 1
two 2
two 2
three 1
$

现在,使其更加准确:


$ sed '
> /two/ s/1/2/
> /three/ s/1/3/' sample_one
one 1
two 2
three 3
one 1
two 2
two 2
three 3
$

请 再次记住唯一改变了的是显示。如果您查看源文件,您将发现它始终保持不变。您必须将输出保存至另一个文件,以实现永久保存。值得重复的是,不对源文件作修 改实际是祸中有福—它让您能够对文件进行试验而不会造成任何实际的损害,直到让正确命令以您预期和希望的方式进行工作。

以下命令将修改后的输出保存至一个新的文件:


$ sed '
> /two/ s/1/2/
> /three/ s/1/3/' sample_one > sample_two

该输出文件将所有修改合并在其中,并且这些修改通常将在屏幕上显示。现在可以用 head、cat 或任意其它类似的实用工具来进行查看。

脚本文件

sed 工具允许您创建一个脚本文件,其中包含从该文件而不是在命令行进行处理的命令,并且 sed 工具通过 "-f" 选项来引用。通过创建一个脚本文件,您能够一次又一次地重复运行相同的操作,并指定比每次希望从命令行进行处理的操作详细得多的操作。

考虑以下脚本文件:


$ cat sedlist
/two/ s/1/2/
/three/ s/1/3/
$

现在可以在数据文件上使用脚本文件,获得和我们之前看到的相同的结果:


$ sed -f sedlist sample_one
one 1
two 2
three 3
one 1
two 2
two 2
three 3
$

注意当调用 "-f" 选项时,在源文件内或命令行中不使用撇号。脚本文件,也称为源文件,对于想重复多次的操作和从命令行运行可能出错的复杂命令很有价值。编辑源文件并修改一个字符比在命令行中重新输入一条多行的项目要容易得多。

限制行

编辑器默认查看输入到流编辑器中的每一行,且默认在输入到流编辑器中的每一行上进行编辑。这可以通过在发出命令之前指定约束条件来进行修改。例如,只在此示例文件的输出的第 5 和第 6 行中用 "2" 来替换 "1",命令将为:


$ sed '5,6 s/1/2/' sample_one
one 1
two 1
three 1
one 1
two 2
two 2
three 1
$

在这种情况下,因为要修改的行是专门指定的,所以不需要替换命令。因此,您可以灵活地根据匹配准则(可以是行号或一种匹配模式)来选择要修改哪些行(从根本上限制修改)。

禁止显示

sed 默认将来自源文件的每一行显示到屏幕上(或重定向到一个文件中),而无论该行是否受到编辑操作的影响,"-n" 参数覆盖了这一操作。"-n" 覆盖了所有的显示,并且不显示任何一行,而无论它们是否被编辑操作修改。例如:


$ sed -n -f sedlist sample_one
$

$ sed -n -f sedlist sample_one > sample_two
$ cat sample_two
$

在 第一个示例中,屏幕上不显示任何东西。在第二个示例中,不修改任何东西,因此不将任何东西写到新的文件中—它最后是空的。这不是否定了编辑的全部目的吗? 为什么这是有用的?它是有用的仅因为 "-n" 选项能够被一条显示命令 (-p) 覆盖。为了说明这一点,假定现在像下面这样对脚本文件进行了修改:


$ cat sedlist
/two/ s/1/2/p
/three/ s/1/3/p
$

然后下面是运行它的结果:


$ sed -n -f sedlist sample_one
two 2
three 3
two 2
two 2
three 3
$

保持不变的行全部不被显示。只有受到编辑操作影响的行被显示了。在这种方式下,可以仅取出这些行,进行修改,然后把它们放到一个单独的文件中:


$ sed -n -f sedlist sample_one > sample_two
$

$ cat sample_two
two 2
three 3
two 2
two 2
three 3
$

利用它的另一种方法是只显示一定数量的行。例如,只显示 2-6 行,同时不做其它的编辑修改:


$ sed -n '2,6p' sample_one
two 1
three 1
one 1
two 1
two 1
$

其它所有的行被忽略,只有 2-6 行作为输出显示。这是一项出色的功能,其它任何工具都不能容易地实现。Head 将显示一个文件的顶部,而 tail 将显示一个文件的底部,但 sed 允许从任意位置取出想要的任意内容。

删除行

用一个值替换另一个值远非流编辑器可以执行的唯一功能。它还具有许多的潜在功能,在我看来第二种最常用的功能是删除。删除与替换的工作方式相同,只是它删除指定的行(如果您想要删除一个单词而不是一行,不要考虑删除,而应考虑用空的内容来替换它—s/cat//)。

该命令的语法是:


'{what to find} d'

从 sample_one 文件中删除包含 "two" 的所有行:


$ sed '/two/ d' sample_one
one 1
three 1
one 1
three 1
$

从显示屏中删除前三行,而不管它们的内容是什么:


$ sed '1,3 d' sample_one
one 1
two 1
two 1
three 1
$

只显示剩下的行,前三行不在显示屏中出现。对于流编辑器,一般当它们涉及到全局表达式时,特别是应用于删除操作时,有几点要记住:

上三角号 (^) 表示一行的开始,因此,如果 "two" 是该行的头三个字符,则


sed '/^two/ d' sample_one

将只删除该行。
美元符号 ($) 代表文件的结尾,或一行的结尾,因此,如果 "two" 是该行的最后三个字符,则


sed '/two$/ d' sample_one

将只删除该行。

将这两者结合在一起的结果:


sed '/^$/ d' {filename}

删除文件中的所有空白行。例如,以下命令将 "1" 替换为 "2",以及将 "1" 替换为 "3",并删除文件中所有尾随的空行:


$ sed '/two/ s/1/2/; /three/ s/1/3/; /^$/ d' sample_one
one 1
two 1
three 1
one 1
two 2
two 2
three 1
$

其通常的用途是删除一个标题。以下命令将删除文件中所有的行,从第一行直到第一个空行:


sed '1,/^$/ d' {filename}

添加和插入文本

可以结合使用 sed 和 "a" 选项将文本添加到一个文件的末尾。实现方法如下:


$ sed '$a
> This is where we stop
> the test' sample_one
one 1
two 1
three 1
one 1
two 1
two 1
three 1
This is where we stop
the test
$

在该命令中,美元符号 ($) 表示文本将被添加到文件的末尾。反斜线 () 是必需的,它表示将插入一个回车符。如果它们被遗漏了,则将导致一个错误,显示该命令是错乱的;在任何要输入回车的地方您必须使用反斜线。

要将这些行添加到第 4 和第 5 个位置而不是末尾,则命令变为:


$ sed '3a
> This is where we stop
> the test' sample_one
one 1
two 1
three 1
This is where we stop
the test
one 1
two 1
two 1
three 1
$

这将文本添加到第 3 行之后。和几乎所有的编辑器一样,您可以选择插入而不是添加(如果您希望这样的话)。这两者的区别是添加跟在指定的行之后,而插入从指定的行开始。当用插入来代替添加时,只需用 "i" 来代替 "a",如下所示:


$ sed '3i
> This is where we stop
> the test' sample_one
one 1
two 1
This is where we stop
the test
three 1
one 1
two 1
two 1
three 1
$

新的文本出现在输出的中间位置,而处理通常在指定的操作执行以后继续进行。

读写文件

重定向输出的功能已经演示过了,但需要指出的是,在编辑命令运行期间可以同步地读入和写出文件。例如,执行替换,并将 1-3 行写到名称为 sample_three 的文件中:


$ sed '
> /two/ s/1/2/
> /three/ s/1/3/
> 1,3 w sample_three' sample_one
one 1
two 2
three 3
one 1
two 2
two 2
three 3
$

$ cat sample_three
one 1
two 2
three 3
$

由于为 w (write) 命令指定了 "1,3",所以只有指定的行被写到了新文件中。无论被写的是哪些行,所有的行都在默认输出中显示。

修改命令

除了替换项目之外,还可以将行从一个值修改为另一个值。要记住的是,替换是对字符逐个进行,而修改功能与删除类似,它影响整行:


$ sed '/two/ c
> We are no longer using two' sample_one
one 1
We are no longer using two
three 1
one 1
We are no longer using two
We are no longer using two
three 1
$

修 改命令与替换的工作方式很相似,但在范围上要更大些—将一个项目完全替换为另一个项目,而无论字符内容或上下文。夸张一点讲,当使用替换时,只有字符 "1" 被字符 "2" 替换,而当使用修改时,原来的整行将被修改。在两种情况下,要寻找的匹配条件都仅为 "two"。

修改全部但……

对于大多数 sed 命令,详细说明各种功能要进行何种修改。利用感叹号,可以在除指定位置之外的任何地方执行修改—与默认的操作完全相反。

例如,要删除包含单词 "two" 的所有行,操作为:


$ sed '/two/ d' sample_one
one 1
three 1
one 1
three 1
$

而要删除除包含单词 "two" 的行之外的所有行,则语法变为:


$ sed '/two/ !d' sample_one
two 1
two 1
two 1
$

如果您有一个文件包含一系列项目,并且想对文件中的每个项目执行一个操作,那么首先对那些项目进行一次智能扫描并考虑将要做什么是很重要的。为了使事情变得更简单,您可以将 sed 与任意迭代例程(for、while、until)结合来实现这一目的。

比如说,假定您有一个名为 "animals" 的文件,其中包含以下项目:

pig
horse
elephant
cow
dog
cat

您希望运行以下例程:


#mcd.ksh
for I in $*
do
echo Old McDonald had a $I
echo E-I, E-I-O
done

结 果将为,每一行都显示在 "Old McDonald has a" 的末尾。虽然对于这些项目的大部分这是正确的,但对于 "elephant" 项目,它有语法错误,因为结果应当为 "an elephant" 而不是 "a elephant"。利用 sed,您可以在来自 shell 文件的输出中检查这种语法错误,并通过首先创建一个命令文件来即时地更正它们:


#sublist
/ a a/ s/ a / an /
/ a e/ s/ a / an /
/a i/ s / a / an /
/a o/ s/ a / an /
/a u/ s/ a / an /

然后执行以下过程:


$ sh mcd.ksh 'cat animals' | sed -f sublist

现 在,在运行了 mcd 脚本之后,sed 将在输出中搜索单个字母 a (空格,"a",空格)之后紧跟了一个元音的任意位置。如果这种位置存在,它将把该序列修改为空格,"an",空格。这样就使问题更正后才显示在屏幕上, 并确保各处的编辑人员在晚上可以更容易地入睡。结果是:

Old McDonald had a pig
E-I, E-I-O
Old McDonald had a horse
E-I, E-I-O
Old McDonald had an elephant
E-I, E-I-O
Old McDonald had a cow
E-I, E-I-O
Old McDonald had a dog
E-I, E-I-O
Old McDonald had a cat
E-I, E-I-O

提前退出

sed 默认读取整个文件,并只在到达末尾时才停止。不过,您可以使用退出命令提前停止处理。只能指定一条退出命令,而处理将一直持续直到满足调用退出命令的条件。

例如,仅在文件的前五行上执行替换,然后退出:


$ sed '
> /two/ s/1/2/
> /three/ s/1/3/
> 5q' sample_one
one 1
two 2
three 3
one 1
two 2
$

在退出命令之前的项目可以是一个行号(如上所示),或者一条查找/匹配命令:


$ sed '
> /two/ s/1/2/
> /three/ s/1/3/
> /three/q' sample_one
one 1
two 2
three 3
$

您 还可以使用退出命令来查看超过一定标准数目的行,并增加比 head 中的功能更强的功能。例如,head 命令允许您指定您想要查看一个文件的前多少行—默认数为 10,但可以使用从 1 到 99 的任意一个数字。如果您想查看一个文件的前 110 行,您用 head 不能实现这一目的,但用 sed 可以:


sed 110q filename

处理问题

当使用 sed 时,要记住的重要事项是它的工作方式。它的工作方式是:读入一行,在该行上执行它已知要执行的所有任务,然后继续处理下一行。每一行都受给定的每一个编辑命令的影响。

如果您的操作顺序没有十分彻底地考虑清楚,那么这可能会很麻烦。例如,假定您需要将所有的 "two" 项目修改为 "three",然后将所有的 "three" 修改为 "four":


$ sed '
> /two/ s/two/three/
> /three/ s/three/four/' sample_one
one 1
four 1
four 1
one 1
four 1
four 1
four 1
$

最初读取的 "two" 被修改为 "three"。然后它满足为下一次编辑建立的准则,从而变为 "four"。最终的结果不是想要的结果—现在除了 "four" 没有别的项目了,而本来应该有 "three" 和 "four"。

当执行这种操作时,您必须非常用心地注意指定操作的方式,并按某种顺序来安排它们,使得操作之间不会互相影响。例如:


$ sed '
> /three/ s/three/four/
> /two/ s/two/three/' sample_one
one 1
three 1
four 1
one 1
three 1
three 1
four 1
$

这非常有效,因为 "three" 值在 "two" 变成 "three" 之前得到修改。

标签和注释

可以在 sed 脚本文件中放置标签,这样一旦文件变得庞大,可以更容易地说明正在发生的事情。存在各种各样与这些标签相关的命令,它们包括:
接下来的步骤

访问并收藏 Linux 技术中心

阅读 Dale Dougherty 和 Arnold Robbins 的著作 sed & awk, 2nd Edition (O'Reilly & Associates 出版社)。

: 冒号表示一个标签名称。例如:


:HERE

以冒号开始的标签可以由 "b" 和 "t" 命令处理。

b {label} 充当 "goto" 语句的作用,将处理发送至前面有一个冒号的标签。例如,


b HERE

将处理发送给行


:HERE

如果紧跟 b 之后没有指定任何标签,则处理转至脚本文件的末尾。

t {label} 只要自上次输入行或执行一次 "t" 命令以来进行了替换操作,就转至该标签。和 "b" 一样,如果没有给定标签名,则处理转至脚本文件的末尾。

# 符号作为一行的第一个字符将使整行被当作注释处理。注释行与标签不同,不能使用 b 或 t 命令来转到注释行上。


shell中的特殊符号 - 收藏于 2010-04-12

1、{} 大括号:
用法一:通配符扩展
eg: ls my_{finger,toe}s
这条命令相当于如下命令的组合:
ls my_fingers my_toes
eg: mkdir {userA,userB,userC}-{home,bin,data}
我们将得到 userA-home, userA-bin, userA-data, userB-home, userB-bin,userB-data,userC-home, userC-bin, userC-data,这几个目录
用法二:可用于语句块的构造,语句之间用回车隔开。如果你想在某些使用单个语句的地方(比如在AND或OR列表中)使用多条语句,你可以把它们括在花括号{}中来构造一个语句块。
eg:
{
grep -v "$cdcatnum" $strack_file > $temp_file
cat $temp_file > $strack_file
echo
cat -n file1
} (注:以上大括号中的四句命令够成了一个语句块)
用法三:参数扩展
${name:-default} 使用一个默认值(一般是空值)来代替那些空的或者没有赋值的变量name;
${name:=default}使用指定值来代替空的或者没有赋值的变量name;
${name:?message}如果变量为空或者未赋值,那么就会显示出错误信息并中止脚本的执行同时返回退出码1。
${#name} 给出name的长度
${name%word} 从name的尾部开始删除与word匹配的最小部分,然后返回剩余部分
${name%%word} 从name的尾部开始删除与word匹配的最长部分,然后返回剩余部分
${name#word} 从name的头部开始删除与word匹配的最小部分,然后返回剩余部分
${name##word} 从name的头部开始删除与word匹配的最长部分,然后返回剩余部分
(注,name为变量名,word为要匹配的字符串)
用法三在处理字符串和未知变量时,是很有用的。2、[] 中括号: 用法一:通配符扩展:
允许匹配方括号中任何一个单个字符
eg: ls /[eh][to][cm]*
相当于执行 ls /etc /home(若有/eom目录,就相当于会执行ls /etc /home /eom)
注:在mkdir命令下不能扩展
用法二:用于条件判断符号:
[]符号可理解为指向test命令的一个软链接,所以其用法可完全参照test,将test位置替换为[便可。
eg: if [ "$?" != 0 ] 等价于 if test "$?" != 0
then echo "Executes error"
3、`command` 反引号:`command`与$(command)的含义相同,都是返回当前执行命令的结果 eg: #!/bin/sh
for file in $(ls f*.sh);do
lpr $file
done
exit 0
该例实现了扩展f*.sh给出所有匹配模式的文件的名字。
4、'string' 单引号 和 "string" 双引号 双引号:如果想在定义的变量中加入空格,就必须使用单引号或双引号,
单、双引号的区别在于双引号转义特殊字符而单引号不转义特殊字符
eg: $ heyyou=home
$ echo '$heyyou'
$ $heyyou ($没有转义)
eg: $ heyyou=home
$ echo "$heyyou"
$ home (很明显,$转义了输出了heyyou变量的值)
5、$# 它的作用是告诉你引用变量的总数量是多少; $$ 它的作用是告诉你shell脚本的进程号;
$* 以一个单字符串显示所有的脚本传递的参数。等价于$1 $2 $3.......;
$@ 与$*基本类似(参见序号7),但在数组赋值时有些不同;
$? 前一个命令的退出码;
$- 显示shell使用的当前选项;
$! 最后一个后台运行的进程ID号。
6、$((...))语法:对括号内的表达式求值 eg:
#!/bin/sh
x=0
hile [ "$x" -ne 10 ];do
echo $x
x=$(($x+1))
done
exit 0
7、shell中几种特殊的参数变量的引用 $1、$2、$3……${10}、${11}、${12}…… :表示脚本传入的的各个参数,注意当需表示两位数以后的参数时数字要用花括号括起。
$@ 列出所有的参数,各参数用空格隔开
$*: 列出所有的参数,各参数用环境变量IFS的第一个字符隔开
8、命令列表: AND列表 statement1 && statement2 && statement3 && …:只有在前面所有的命令都执行成功的情况下才执行后一条命令
OR列表 statement1 || statement2 || statement3 || …:允许执行一系列命令直到有一条命令成功为止,其后所有命令将不再被执行
eg:#!/bin/sh
touch file_one
rm -f file_two
if [ -f file_one ] && echo "hello" && [ -f file_two ] && echo " there"
then
echo "in if"
else
echo "in else"
fi
exit 0
上例的输出为:
hello
in else
关于AND列表与OR列表,在逻辑判断中很使用,下面就举一个其最常用的例子:
[ condition ] && command for true || command for false:
当条件为真时,执行commandfor true ,当条件为假时,执行command for false
9、: 冒号:内建空指令,返回值为0 eg: $ :
$ echo $?
$ 0
while: (该语句结构可实现一个无限循环)
10、; 分号: 在 shell 中,担任"连续指令"功能的符号就是"分号" eg:cd ~/backup ; mkdir startup ; cp ~/.* startup/.
11、# 井号:表示符号后面的是注解文字,不会被执行; * 匹配文件名中的任何字符,包括字符串;
? 匹配文件名中的任何单个字符。
~ 代表使用者的 home 目录
12、\ 倒斜线:放在指令前,有取消 aliases(别名) 的作用;放在特殊符号前,则该特殊符号的作用消失;放在指令 的最末端,表示指令连接下一行(使得回车符无效,只起换行作用)
14、! 感叹号:通常它代表反逻辑的作用,譬如条件侦测中,用 != 来代表"不等于"
15、** 次方运算:两个星号在运算时代表 "次方" 的意思 eg:let "sus=2**3"
echo "sus = $sus"
$ sus = 8 -

shell中的特殊变量 - 收藏于 2010-04-12

环境变量 (set命名可查看)      $PATH,$IFS,$PS1,$PWD,$LINENO 位置参数(Positional Parameters)      $1 $2 $3 … ${10} 特殊参数(Special Parameters)     $#:位置参数的数量     $*:所有位置参数的内容 ($1 $2 …)     $@: 所有位置参数的内容(“$1” “$2” … )     $?:命令执行后返回的状态     $$:当前进程的进程号     $!:后台运行的最后一个进程号     $0:当前执行的进程名

shell语法中test命令详解 - 收藏于 2010-04-12

几个等效命令 test, /usr/bin/test, [], 和 /usr/bin/[

test命令用法。功能:检查文件和比较值

1)判断表达式

if test (表达式为真)

if test !表达式为假

test 表达式1 –a 表达式2                  两个表达式都为真

test 表达式1 –o 表达式2                 两个表达式有一个为真

2)判断字符串

test –n 字符串                                   字符串的长度非零

test –z 字符串                                    字符串的长度为零

test 字符串1=字符串2                    字符串相等

test 字符串1!=字符串2               字符串不等

*****************************************************************************************************************

= 等于,如:if [ "$a" = "$b" ]
== 等于,如:if [ "$a" == "$b" ],与=等价
注意:==的功能在[[]]和[]中的行为是不同的,如下:
1 [[ $a == z* ]] # 如果$a以"z"开头(模式匹配)那么将为true
2 [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true
3
4 [ $a == z* ] # File globbing 和word splitting将会发生
5 [ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么结果为true
一点解释,关于File globbing是一种关于文件的速记法,比如"*.c"就是,再如~也是.
但是file globbing并不是严格的正则表达式,虽然绝大多数情况下结构比较像.
!= 不等于,如:if [ "$a" != "$b" ]
这个操作符将在[[]]结构中使用模式匹配.
< 小于,在ASCII字母顺序下.如:
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]
注意:在[]结构中"<"需要被转义.
> 大于,在ASCII字母顺序下.如:
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]
注意:在[]结构中">"需要被转义.
具体参考Example 26-11来查看这个操作符应用的例子.
-z 字符串为"null".就是长度为0.
-n 字符串不为"null"
注意:
使用-n在[]结构中测试必须要用""把变量引起来.使用一个未被""的字符串来使用! -z
或者就是未用""引用的字符串本身,放到[]结构中(见Example 7-6)虽然一般情况下可
以工作,但这是不安全的.习惯于使用""来测试字符串是一种好习惯.

******************************************************************************************************************

3)判断整数

test 整数1 –eq 整数2                        整数相等

test 整数1 –ge 整数2                        整数1大于等于整数2

test 整数1 –gt 整数2                         整数1大于整数2

test 整数1 –le 整数2                         整数1小于等于整数2

test 整数1 –lt 整数2                          整数1小于整数2

test 整数1 –ne 整数2                        整数1不等于整数2

4)判断文件

test File1 –ef File2                           两个文件具有同样的设备号和i结点号

test File1 –nt File2                            文件1比文件2 新

test File1 –ot File2                            文件1比文件2 旧

test –b File                                           文件存在并且是块设备文件

test –c File                                           文件存在并且是字符设备文件

test –d File                                           文件存在并且是目录

test –e File                                           文件存在

test –f File                                            文件存在并且是正规文件

test –g File                                           文件存在并且是设置了组ID

test –G File                                           文件存在并且属于有效组ID

test –h File                                           文件存在并且是一个符号链接(同-L)

test –k File                                           文件存在并且设置了sticky位

test –b File                                           文件存在并且是块设备文件

test –L File                                           文件存在并且是一个符号链接(同-h)

test –o File                                           文件存在并且属于有效用户ID

test –p File                                           文件存在并且是一个命名管道

test –r File                                            文件存在并且可读

test –s File                                           文件存在并且是一个套接字

test –t FD                                             文件描述符是在一个终端打开的

test –u File                                           文件存在并且设置了它的set-user-id位

test –w File                                          文件存在并且可写

test –x File                                           文件存在并且可执行


shell编程(二) - 收藏于 2010-04-12

"if" 表达式 如果条件为真则执行then后面的部分:
  if ....; then
    ....
  elif ....; then
    ....
  else
    ....
  fi
  大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等...
  通常用" [ ] "来表示条件测试。注意这里的空格很重要。要确保方括号的空格。
  [ -f "somefile" ] :判断是否是一个文件
  [ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
  [ -n "$var" ] :判断$var变量是否有值
  [ "$a" = "$b" ] :判断$a和$b是否相等
  执行man test可以查看所有测试表达式可以比较和判断的类型。
  直接执行以下脚本:
  #!/bin/sh
  if [ "$SHELL" = "/bin/bash" ]; then
    echo "your login shell is the bash (bourne again shell)"
  else
    echo "your login shell is not bash but $SHELL"
  fi
  变量$SHELL包含了登录shell的名称,我们和/bin/bash进行了比较。
  快捷操作符
  熟悉C语言的朋友可能会很喜欢下面的表达式:
  [ -f "/etc/shadow" ] && echo "This computer uses shadow passwors"
  这里 && 就是一个快捷操作符,如果左边的表达式为真则执行右边的语句。您也可以认为是逻辑运算中的与操作。上例中表示如果/etc/shadow文件存在则打印" This computer uses shadow passwors"。同样或操作(||)在shell编程中也是可用的。这里有个例子:
#!/bin/sh
mailfolder=/var/spool/mail/james
[ -r "$mailfolder" ]' '{ echo "Can not read $mailfolder"   exit 1; }
echo "$mailfolder has mail from:"
grep "^From " $mailfolder
  该脚本首先判断mailfolder是否可读。如果可读则打印该文件中的"From" 一行。如果不可读则或操作生效,打印错误信息后脚本退出。这里有个问题,那就是我们必须有两个命令:
  -打印错误信息
  -退出程序
  我们使用花括号以匿名函数的形式将两个命令放到一起作为一个命令使用。一般函数将在下文提及。
  不用与和或操作符,我们也可以用if表达式作任何事情,但是使用与或操作符会更便利很多。
  case表达式可以用来匹配一个给定的字符串,而不是数字。
case ... in
...) do something here  
esac
  让我们看一个例子。 file命令可以辨别出一个给定文件的文件类型,比如:
file lf.gz
  这将返回:
lf.gz: gzip compressed data, deflated, original filename,
last modified: Mon Aug 27 23:09:18 2001, os: Unix
我们利用这一点写了一个叫做smartzip的脚本,该脚本可以自动解压bzip2, gzip 和zip 类型的压缩文件:
#!/bin/sh
ftype=`file "$1"`
case "$ftype" in
"$1: Zip archive"*)
  unzip "$1"  
"$1: gzip compressed"*)
  gunzip "$1"  
"$1: bzip2 compressed"*)
  bunzip2 "$1"  
*) error "File $1 can not be uncompressed with smartzip";;
esac
  您可能注意到我们在这里使用了一个特殊的变量$1。该变量包含了传递给该程序的第一个参数值。也就是说,当我们运行:

smartzip articles.zip
$1 就是字符串 articles.zip
  select 表达式是一种bash的扩展应用,尤其擅长于交互式使用。用户可以从一组不同的值中进行选择。
select var in ...   do
 break
done
.... now $var can be used ....
下面是一个例子:
#!/bin/sh
echo "What is your favourite OS?"
select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; do
    break
done
echo "You have selected $var"
下面是该脚本运行的结果:
What is your favourite OS?
1) Linux
2) Gnu Hurd
3) Free BSD
4) Other
#? 1
You have selected Linux
您也可以在shell中使用如下的loop表达式:
while ...; do
....
done
while-loop 将运行直到表达式测试为真。will run while the expression that we test for is true. 关键字"break" 用来跳出循环。而关键字"continue"用来不执行余下的部分而直接跳到下一个循环。
for-loop表达式查看一个字符串列表 (字符串用空格分隔) 然后将其赋给一个变量:
for var in ....; do
 ....
done
在下面的例子中,将分别打印ABC到屏幕上:
#!/bin/sh
for var in A B C   do
 echo "var is $var"
done
下面是一个更为有用的脚本showrpm,其功能是打印一些RPM包的统计信息:
#!/bin/sh
# list a content summary of a number of RPM packages
# USAGE: showrpm rpmfile1 rpmfile2 ...
# EXAMPLE: showrpm /cdrom/RedHat/RPMS/*.rpm
for rpmpackage in $*; do
 if [ -r "$rpmpackage" ];then
  echo "=============== $rpmpackage =============="
  rpm -qi -p $rpmpackage
 else
  echo "ERROR: cannot read file $rpmpackage"
 fi
done
这里出现了第二个特殊的变量$*,该变量包含了所有输入的命令行参数值。如果您运行showrpm openssh.rpm w3m.rpm webgrep.rpm
此时 $* 包含了 3 个字符串,即openssh.rpm, w3m.rpm and webgrep.rpm.

引号
在向程序传递任何参数之前,程序会扩展通配符和变量。这里所谓扩展的意思是程序会把通配符(比如*)替换成合适的文件名,它变量替换成变量值。为了防止程序作这种替换,您可以使用引号:让我们来看一个例子,假设在当前目录下有一些文件,两个jpg文件, mail.jpg 和tux.jpg。
#!/bin/sh
echo *.jpg
这将打印出"mail.jpg tux.jpg"的结果。
引号 (单引号和双引号) 将防止这种通配符扩展:
#!/bin/sh
echo "*.jpg"
echo '*.jpg'
这将打印"*.jpg" 两次。
单引号更严格一些。它可以防止任何变量扩展。双引号可以防止通配符扩展但允许变量扩展。
#!/bin/sh
echo $SHELL
echo "$SHELL"
echo '$SHELL'
运行结果为:
/bin/bash
/bin/bash
$SHELL
最后,还有一种防止这种扩展的方法,那就是使用转义字符——反斜杆:
echo *.jpg
echo $SHELL
这将输出:
*.jpg
$SHELL
Here document.
当要将几行文字传递给一个命令时,here document.(译者注:目前还没有见到过对该词适合的翻译)一种不错的方法。对每个脚本写一段帮助性的文字是很有用的,此时如果我们四有那个here document.就不必用echo函数一行行输出。 一个 "Here document.quot; 以
#!/bin/sh
# we have less than 3 arguments. Print the help text:
if [ $# -lt 3 ]   then
cat
USAGE: ren 'regexp' 'replacement' files...
EXAMPLE: rename all *.HTM files in *.html:
 ren 'HTM$' 'html' *.HTM
HELP
 exit 0
fi
OLD="$1"
NEW="$2"
# The shift command removes one argument from the list of
# command line arguments.
shift
shift
# $* contains now all the files:
for file in $*; do
  if [ -f "$file" ]   then
   newfile=`echo "$file" | sed "s/${OLD}/${NEW}/g"`
   if [ -f "$newfile" ]; then
    echo "ERROR: $newfile exists already"
   else
    echo "renaming $file to $newfile ..."
    mv "$file" "$newfile"
   fi
  fi
done
这是一个复杂一些的例子。让我们详细讨论一下。第一个if表达式判断输入命令行参数是否小于3个 (特殊变量$# 表示包含参数的个数) 。如果输入参数小于3个,则将帮助文字传递给cat命令,然后由cat命令将其打印在屏幕上。打印帮助文字后程序退出。 如果输入参数等于或大于3个,我们就将第一个参数赋值给变量OLD,第二个参数赋值给变量NEW。下一步,我们使用shift命令将第一个和第二个参数从参数列表中删除,这样原来的第三个参数就成为参数列表$*的第一个参数。然后我们开始循环,命令行参数列表被一个接一个地被赋值给变量$file。接着我们判断该文件是否存在,如果存在则通过sed命令搜索和替换来产生新的文件名。然后将反短斜线内命令结果赋值给newfile。这样我们就达到了我们的目的:得到了旧文件名和新文件名。然后使用mv命令进行重命名。
函数
如果您写了一些稍微复杂一些的程序,您就会发现在程序中可能在几个地方使用了相同的代码,并且您也会发现,如果我们使用了函数,会方便很多。一个函数是这个样子的:
functionname()
{
# inside the body $1 is the first argument given to the function
# $2 the second ...
body
}
您需要在每个程序的开始对函数进行声明。
下面是一个叫做xtitlebar的脚本,使用这个脚本您可以改变终端窗口的名称。这里使用了一个叫做help的函数。正如您可以看到的那样,这个定义的函数被使用了两次。
#!/bin/sh
# vim: set sw=4 ts=4 et:
help()
{
  cat
USAGE: xtitlebar [-h] "string_for_titelbar"
OPTIONS: -h help text
EXAMPLE: xtitlebar "cvs"
HELP
  exit 0
}
# in case of error or if -h is given we call the function help:
[ -z "$1" ] && help
[ "$1" = "-h" ] && help
# send the escape sequence to change the xterm titelbar:
echo -e "33]0;$107"
#
  在脚本中提供帮助是一种很好的编程习惯,这样方便其他用户(和您)使用和理解脚本。
  命令行参数
  我们已经见过$* 和 $1, $2 ... $9 等特殊变量,这些特殊变量包含了用户从命令行输入的参数。迄今为止,我们仅仅了解了一些简单的命令行语法(比如一些强制性的参数和查看帮助的-h选项)。但是在编写更复杂的程序时,您可能会发现您需要更多的自定义的选项。通常的惯例是在所有可选的参数之前加一个减号,后面再加上参数值 (比如文件名)。
  有好多方法可以实现对输入参数的分析,但是下面的使用case表达式的例子无遗是一个不错的方法。

#!/bin/sh
help()
{
 cat
while [ -n "$1" ]; do
case $1 in
  -h) help;shift 1;; # function help is called
  -f) opt_f=1;shift 1;; # variable opt_f is set
  -l) opt_l=$2;shift 2;; # -l takes an argument -> shift by 2
  --) shift;break;; # end of options
  -*) echo "error: no such option $1. -h for help";exit 1;;
  *) break;;
esac
done
echo "opt_f is $opt_f"
echo "opt_l is $opt_l"
echo "first arg is $1"
echo "2nd arg is $2"
您可以这样运行该脚本:
cmdparser -l hello -f -- -somefile1 somefile2
返回的结果是:
opt_f is 1
opt_l is hello
first arg is -somefile1
2nd arg is somefile2
  这个脚本是如何工作的呢?脚本首先在所有输入命令行参数中进行循环,将输入参数与case表达式进行比较,如果匹配则设置一个变量并且移除该参数。根据unix系统的惯例,首先输入的应该是包含减号的参数。
  实例
  一般编程步骤
  现在我们来讨论编写一个脚本的一般步骤。任何优秀的脚本都应该具有帮助和输入参数。并且写一个伪脚本(framework.sh),该脚本包含了大多数脚本都需要的框架结构,是一个非常不错的主意。这时候,在写一个新的脚本时我们只需要执行一下copy命令:
cp framework.sh myscript
然后再插入自己的函数。
  让我们再看两个例子:
  二进制到十进制的转换
  脚本 b2d 将二进制数 (比如 1101) 转换为相应的十进制数。这也是一个用expr命令进行数学运算的例子:
#!/bin/sh
# vim: set sw=4 ts=4 et:
help()
{
 cat
USAGE: b2h [-h] binarynum
OPTIONS: -h help text
EXAMPLE: b2h 111010
will return 58
HELP
 exit 0
}
error()
{
  # print an error and exit
  echo "$1"
  exit 1
}
lastchar()
{
  # return the last character of a string in $rval
  if [ -z "$1" ]; then
    # empty string
    rval=""
    return
  fi
  # wc puts some space behind the output this is why we need sed:
  numofchar=`echo -n "$1" | wc -c | sed 's/ //g' `
  # now cut out the last char
  rval=`echo -n "$1" | cut -b $numofchar`
}
chop()
{
  # remove the last character in string and return it in $rval
  if [ -z "$1" ]; then
    # empty string
    rval=""
    return
  fi
  # wc puts some space behind the output this is why we need sed:
  numofchar=`echo -n "$1" | wc -c | sed 's/ //g' `
  if [ "$numofchar" = "1" ]; then
    # only one char in string
    rval=""
    return
  fi
  numofcharminus1=`expr $numofchar "-" 1`
  # now cut all but the last char:
  rval=`echo -n "$1" | cut -b 0-${numofcharminus1}`
}

while [ -n "$1" ]; do
case $1 in
  -h) help;shift 1;; # function help is called
  --) shift;break;; # end of options
  -*) error "error: no such option $1. -h for help";;
  *) break;;
esac
done
# The main program
sum=0
weight=1
# one arg must be given:
[ -z "$1" ] && help
binnum="$1"
binnumorig="$1"
while [ -n "$binnum" ]; do
  lastchar "$binnum"
  if [ "$rval" = "1" ]; then
    sum=`expr "$weight" "+" "$sum"`
  fi
  # remove the last position in $binnum
  chop "$binnum"
  binnum="$rval"
  weight=`expr "$weight" "*" 2`
done
echo "binary $binnumorig is decimal $sum"
#
  该脚本使用的算法是利用十进制和二进制数权值 (1,2,4,8,16,..),比如二进制"10"可以这样转换成十进制:
  0 * 1 + 1 * 2 = 2
  为了得到单个的二进制数我们是用了lastchar 函数。该函数使用wc -c计算字符个数,然后使用cut命令取出末尾一个字符。Chop函数的功能则是移除最后一个字符。
  文件循环程序
  或许您是想将所有发出的邮件保存到一个文件中的人们中的一员,但是在过了几个月以后,这个文件可能会变得很大以至于使对该文件的访问速度变慢。下面的脚本rotatefile 可以解决这个问题。这个脚本可以重命名邮件保存文件(假设为outmail)为outmail.1,而对于outmail.1就变成了outmail.2 等等等等...
#!/bin/sh
# vim: set sw=4 ts=4 et:
ver="0.1"
help()
{
  cat
USAGE: rotatefile [-h] filename
OPTIONS: -h help text
EXAMPLE: rotatefile out
This will e.g rename out.2 to out.3, out.1 to out.2, out to out.1
and create an empty out-file
The max number is 10
version $ver
HELP
  exit 0
}
error()
{
  echo "$1"
  exit 1
}
while [ -n "$1" ]; do
case $1 in
  -h) help;shift 1;;
  --) break;;
  -*) echo "error: no such option $1. -h for help";exit 1;;
  *) break;;
esac
done
# input check:
if [ -z "$1" ]   then
error "ERROR: you must specify a file, use -h for help"
fi
filen="$1"
# rename any .1 , .2 etc file&:
for n in 9 8 7 6 5 4 3 2 1; do
  if [ -f "$filen.$n" ]; then
    p=`expr $n + 1`
    echo "mv $filen.$n $filen.$p"
    mv $filen.$n $filen.$p
  fi
done
# rename the original file&:
if [ -f "$filen" ]; then
  echo "mv $filen $filen.1"
  mv $filen $filen.1
fi
echo touch $filen
touch $filen
  这个脚本是如何工作的呢?在检测用户提供了一个文件名以后,我们进行一个9到1的循环。文件9被命名为10,文件8重命名为9等等。循环完成之后,我们将原始文件命名为文件1同时建立一个与原始文件同名的空文件。
  调试
  最简单的调试命令当然是使用echo命令。您可以使用echo在任何怀疑出错的地方打印任何变量值。这也是绝大多数的shell程序员要花费80%的时间来调试程序的原因。Shell程序的好处在于不需要重新编译,插入一个echo命令也不需要多少时间。
  shell也有一个真实的调试模式。如果在脚本"strangescript" 中有错误,您可以这样来进行调试:
  sh -x strangescript
  这将执行该脚本并显示所有变量的值。
  shell还有一个不需要执行脚本只是检查语法的模式。可以这样使用:
  sh -n your_script
  这将返回所有语法错误。
  

shell编程(一) - 收藏于 2010-04-12

http://tech.ddvip.com/2007-03/117369749720969_2.html

 本文结合大量实例阐述如何编写一个shell脚本。

  为什么要进行shell编程

  在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。

  下面,让我们一起来看看shell是如何工作的:

  建立一个脚本

  Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在bash的大姐,bourne shell中运行)。

  如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、kedit、emacs、vi等来编写我们的shell程序。程序必须以下面的行开始(必须方在文件的第一行):

#!/bin/sh

  符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编辑好脚本时,如果要执行该脚本,还必须使其可执行。

  要使脚本可执行:

    chmod +x filename

  然后,您可以通过输入: ./filename 来执行您的脚本。

  注释

  在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。

  变量

  在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:

        变量名=值

  取出变量值可以加一个美元符号($)在变量前面:

#!/bin/sh

  #对变量赋值:

a="hello world"

  # 现在打印变量a的内容:

echo "A is:"
echo $a

  在您的编辑器中输入以上内容,然后将其保存为一个文件first。之后执行chmod +x first。使其可执行,最后输入./first执行该脚本。

  这个脚本将会输出:

A is:
  hello world

  有时候变量名很容易与其他文字混淆,比如:

    num=2
  echo "this is the $numnd"

  这并不会打印出"this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd的值,但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量:

num=2
  echo "this is the $nd"

  这将打印: this is the 2nd

  有许多变量是系统自动设定的,这将在后面使用这些变量时进行讨论。

  如果您需要处理数学表达式,那么您需要使用诸如expr等程序(见下面)。除了一般的仅在程序内有效的shell变量以外,还有环境变量。由export关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,因为通常情况下仅仅在登录脚本中使用环境变量。

  Shell命令和流程控制

  在shell脚本中可以使用三类命令:

  1)Unix 命令:

  虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令。这些命令通常是用来进行文件和文字操作的。

  常用命令语法及功能:

  echo "some text": 将文字内容打印在屏幕上

ls: 文件列表。

  wc –l file wc -w file wc -c file: 计算文件行数 计算文件中的单词数 计算文件中的字符数。

  cp sourcefile destfile: 文件拷贝。

  mv oldname newname : 重命名文件或移动文件。

  rm file: 删除文件。

  grep 'pattern' file: 在文件内搜索字符串比如:grep 'searchstring' file.txt

  cut -b colnum file: 指定欲显示的文件内容范围,并将它们输出到标准输出设备比如:输出每行第5个到第9个字符cut –b 5-9 file.txt千万不要和cat命令混淆,这是两个完全不同的命令。

  cat file.txt: 输出文件内容到标准输出设备(屏幕)上。

  file somefile: 得到文件类型。

  read var: 提示用户输入,并将输入赋值给变量。

  sort file.txt: 对file.txt文件中的行进行排序。

  uniq: 删除文本文件中出现的行列比如: sort file.txt | uniq。

  expr: 进行数学运算Example: add 2 and 3 expr 2 "+" 3。

  find: 搜索文件比如:根据文件名搜索find . -name filename -print。

  tee: 将数据输出到标准输出设备(屏幕) 和文件比如:somecommand | tee outfile。

  basename file: 返回不包含路径的文件名比如: basename /bin/tux将返回 tux。

  dirname file: 返回文件所在路径比如:dirname /bin/tux将返回 /bin。

  head file: 打印文本文件开头几行。

  tail file : 打印文本文件末尾几行。

  sed: Sed是一个基本的查找替换程序。可以从标准输入(比如命令管道)读入文本,并将结果输出到标准输出(屏幕)。该命令采用正则表达式(见参考)进行搜索。不要和shell中的通配符相混淆。比如:将linuxfocus 替换为 LinuxFocus :cat text.file | sed 's/linuxfocus/LinuxFocus/' > newtext.file。

awk: awk 用来从文本文件中提取字段。缺省地,字段分割符是空格,可以使用-F指定其他分割符。cat file.txt | awk -F, '{print "," }'这里我们使用,作为字段分割符,同时打印第一个和第三个字段。如果该文件内容如下:Adam Bor, 34, IndiaKerry Miller, 22, USA

  命令输出结果为:

Adam Bor, IndiaKerry Miller.

  2) 概念: 管道, 重定向和 backtick

  这些不是系统命令,但是他们真的很重要。

  管道 (|) 将一个命令的输出作为另外一个命令的输入。

grep "hello" file.txt | wc -l

  在file.txt中搜索包含有”hello”的行并计算其行数。在这里grep命令的输出作为wc命令的输入。当然您可以使用多个命令。

  重定向:将命令的结果输出到文件,而不是标准输出(屏幕)。

  > 写入文件并覆盖旧文件。

  >> 加到文件的尾部,保留旧文件内容。

  反短斜线,使用反短斜线可以将一个命令的输出作为另外一个命令的一个命令行参数。

  命令:

find . -mtime -1 -type f -print

  用来查找过去24小时(-mtime –2则表示过去48小时)内修改过的文件。如果您想将所有查找到的文件打一个包,则可以使用以下脚本:

#!/bin/sh
  # The ticks are backticks (`) not normal quotes ('):
  tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f -print`

  3) 流程控制

  "if" 表达式 如果条件为真则执行then后面的部分:

  if ....; then


经济 - 收藏于 2010-04-10

我建议你为了经济上保命,看两本书,专研透了,就知道中国的经济是咋样的了。。因为结果来的时候我们就惨了,一定要在结果出来之前,多了解该怎么办

一本是    货币战争   一本是   一个经济杀手的自白

房地产看看 牛刀的搜狐博客。

真正的经济原理就看   占豪的搜狐博客

经济方面的新闻就看看中立的媒体。华尔街日报http://cn.wsj.com/gb/


理财从记账开始 - 收藏于 2010-04-10

美国理财专家柯特·康宁汉有句名言:“不能养成良好的理财习惯,即使拥有博士学位,也难以摆脱贫穷。”记账就是一种看似琐碎,却对理财有大益的好习惯,它能帮你每个月省下不少的开销,让你把钱投入为未来幸福而理财的计划当中。

  虽然养成好的记账习惯可能是个痛苦的过程,但这习惯却可以让你“有钱一辈子”。因为记账可以让你发现自己是不是花掉了不该花的钱;还可以让你知道每个月手头的钱流向了哪里,使它们不至于流失于无形;甚至还可以让你认识那个镜子里没有的自己,因为你也许“言行不一致”,以为自己不会花费的事项,却时有支出。

  记账让你心中有数

  在外企工作的黄女士一开始是瞧不起记账的,她总觉得那只是在记小钱、弄小钱、操心小钱。她个人收入不菲,但从来不记账,反而觉得那是一种洒脱。随着岁月的积累,她才发现事情不是这样的,身边不少女性朋友都在记帐,而且个个都目标明确,这才让她觉得记账并不等同于“斤斤计较”,这种观点是对记账的学问太模糊而产生的误解。

  在朋友的影响下,黄女士也开始记账了,当她记了半年以上的账后,她发现对家庭财务情况能进行全面的整理后,以前筹划的“五年中存足孩子的教育经费”、“十年把房子的贷款完结”这些目标还有多远心里很清楚。根据情况,她把每个月的财务安排做出相应的调整,这样就能做到重新合理地分配有限的资源,不偏不倚,平衡有度,不会偏离既定目标。

  久而久之,黄女士发现自己家的总资产在风险承受范围内稳步增加,总负债稳步减少,金融资产净值逐步由负数向正数转变。原来记账还可以推动自己达到改善家庭生活品质,实现最终财务收支自由的目标。黄女士发现现在生活很轻松,不再像以前那样不成熟,也更知道自己想要什么了。
  其实每个月的记账,并不完全是重复琐碎的工作,而是为每个时间段监控提供数据依据,这样才能够在家庭账务上做大事,做平衡和资产的配置。因此每一月和每一年的数据都是家庭理财最佳决定的理由。记账最直接的作用就是使家庭每月节余

  不少“不必要”的支出,改变家庭成员的理财观念,学会对资金控制的方法。让你尽早拥有可以理财让“钱生钱”的“第一桶金”。没有钱,一切计划都只是奢谈而已,往往我们更容易成了卡奴或房奴,成为账单的奴隶。如果你不想这样,就一定不要放弃。心中有数是个很难达到的目标,但它也是一切行为的根由,如果你记了账,你就离这个目标越来越近了。

  记账需要掌握方法

  刘女士以前也是记账的,但是丈夫嘲笑她记出来的账可是一百年前老太太的流水账,很没有技术含量。之后,刘女士经过琢磨,找出了一套“先进”的记账方法:
  首先,在记账时,就集中好凭证单据,例如购货小票、发票、借贷收据、银行扣缴单据、刷卡签单、银行信用卡对账单及存、提款单据等都保存好,记录的时候就会井井有条。
  其次,每月她都将收支细化并且分类,这样收支情况才会一目了然,易于分析。她把收入分为:工资,这部分包括夫妻双方的基本工资、补贴等固定收

  入;奖金,一般情况下它的变动性较工资大;利息及投资收益,包括存款有利息、房租、股息、基金分红、股票买卖收益等都属于这一类;其它,这项属于偶然性较大的收入,如礼金、抽奖所得等等。而支出也可下设四个明细项目:生活费,这部分包括家庭的柴米油盐及房租、物业费、水电费、电话费、手机费等日常费用;衣着,这部分包括家庭购买服装鞋帽或购买布料及加工的费用;储蓄,每月定期或不定期增加的活期、定期存款,购买基金、股票的部分。其它,指的是不很必要、不经常性、变化较大的消费如礼金支出、旅游等等。如果家庭有需要,还可增加“医疗费”、赡养父母、“智力投资”等固定明细的收支。

  通过这样看似繁琐,实则轻松的明细归类,刘女士的记账水平明显提高了不少,对于家庭收支的去向,一翻帐本就清楚明了,为她省了不少心。

  家庭事务大部分都是一些零零碎碎的小事情,特别是家庭开支都很细碎,如果采用流水帐记账法,复杂,看不清,枯燥,工作量也大,所以它是应当彻底改良的,要保证自己记出效果来。最好采用家庭理财软件来记账,这种软件很多网站都有免费的提供,例如“帐客网”,你可以找一个自己最趁心应手的,把它用好就不错了。

  TIPS:家庭记账方法一瞥

  这里提供几个记账小技巧,让您进行合理的家庭记账,以帮助您达到省钱、理财的目的!
  两抽屉法:把您的记账表分为两类,一类叫做消费抽屉,一类叫做储蓄抽屉。在日常生活中,刚开始可能因为计划不合理,会经常动用储蓄抽屉的钱,但慢慢地要逐渐提高消费抽屉的可运用的日期,直至完全不用储蓄抽屉的钱为止。这样慢慢地就会有很多余钱用于储蓄。

  多信封法:更加细致一些的分类方法,把记账表分为很多信封,包括储蓄信封和衣食住行娱乐费用信封,其实也就是把两抽屉法的消费抽屉拆分为很多单项,单项费用超支就需要从其他费用信封中支出,直至养成习惯,不用储蓄信封为止。

  多账户法:更为专业的分法就是按照会计的分类方法,把账户分为定期定额账户、房贷扣款账户、信用卡账户、现金领用账户等等,便于记账管理和控制花销。

  定额提款法:如果实在懒得记账,但还要控制自己的支出,就可以每周定额从自己的提款卡里提取固定金额,大概为月收入的二成,剩下的为储蓄。然后,就通过不断控制提取数量,直至提取费用的次数、金额不超过目标额为止。

  家庭记账中最大的门道还在于将每月收入进行细化分类,无论是上文介绍的抽屉法、信封法、账户法还是提款法……都是这个理儿。当然,在这些五花八门的记账技巧中,还有一点最不可忽视:诸位财友的意志力。


校园到工作 走的好难过 - 收藏于 2010-04-09

在打击与自我否定中一直走着,走了这么久,还有好多要走。。。

或许几年,几十年以后回想这个阶段,只是生活的一小点而已。在期望、失望、再期望、再失望的状态下,幻想与现实中迷茫着。。。

社会中哪一点是自己能立足的位置,起步的起点呢?

清明回家几天,一直压抑的心情好了许多,今天晚上又回落了。。。


SQL语句 - 收藏于 2010-04-09

有两个表格
1. 学号 学生name
2.学生name   选课名称   选课成绩

怎么通过学号 找到这个学生的选课成绩呢?

SQL 语句

select b.选课成绩 from 表2 b inner join 表1 a on a. 学生name=b.学生name where a.学号=???

or:
select b.选课成绩 from 表2 b,表1 a where a.学生name=b. 学生name and a.学号=???

or:
select b.选课成绩 from 表2 b where b.学号=(select a.学 生name from 表1 a where a.学号=???)


当你失利的时候 - 收藏于 2010-03-28

当你失利的时候,有的人会见势走开,从此与你划清界限;

有的人不管你做错什么,变得多么没用,都在你身边告诉你“没事的,是有希望的”。后者是家人和人生的另一半。。。可我却时常对他们生气、不理睬、厌烦。。。

他们为我而生,我也为他们而生。世界其实很简单,在我世界里主角的就是他们。。。简简单单的几个人


十习惯让你年轻20岁 - 收藏于 2010-03-26

想拥有20岁女仔的身材与年轻容貌,需要这样吃东西。帮助你年轻20岁,这样饮食搭配,这样运动,包你苗条身段。   

1、清晨醒来时多吃食物

  这是更快燃烧脂肪至关重要的一个环节。早餐在饮食计划中,起着决定性的作用。人处于睡眠状态时,新陈代谢的速度会达到最低。随着清晨的苏醒,新陈代谢会逐渐回复正常水平。

  醒来后越快吃早餐,新陈代谢的速度就提高地越快。如果你是个晨练爱好者,运动前要保证吃一个香蕉,运动后再吃早餐。茶或咖啡不可代替早餐,燕麦片拌水果,或是一个熟鸡蛋和一碗粥、面包,都是早餐不错的选择。

  2、来不及吃早餐别空手上班

  如果你来不及吃早餐,应事先准备好一个粗面粉面包、一点水果,如香蕉和一瓶酸奶带到办公室。一样,饿的时候,就能随手取到一份强力早餐,为工作及时“加油”。

  3、和孩子一样喝奶

  一天喝三杯酸奶的女人,会比没喝酸奶的人多消耗60%的脂肪。是什么让酸奶变得如此之神奇,答案是酸奶里丰富的钙离子。它充当着催化剂,使身体能更快地燃烧脂肪。酸奶搭配豆腐,蔬菜,谷类食品食用,会更好地发挥效果。

  4、睡不好会发胖

  下次午夜时,还对肥皂剧欲罢不能时,你得对自己说:“睡眠不足,很容易长胖的。”无形中给自己一种压力。每天睡5~6小时的人,平均比每天睡7—8小时的人重6—8磅。当正常睡眠时间被剥夺时,身体会产生大量的抗压激素,以减缓新陈代谢的速度,同时第二天的食欲也会增强。如果早晨必须7点起床,前天晚上最好在11点左右就寝。睡觉前不要看电视,可以泡个热水澡,或者读本不错的小说。

  5、蜂蜜人体细胞忠实的捍卫者

  面包涂蜂蜜是不是你爱吃的早点?不妨用深暗颜色的蜂蜜,而不用浅色的蜂蜜。据美国一项研究发现,深暗色的蜂蜜?例如森林蜂蜜对人体细胞特别有效,因为它含有丰富的抗氧化作用的保护细胞的物质。并对血液大有好处,能预防心脏循环系统的疾病。

  6、不停地运动

  把日常锻炼分为两部分,例如:清晨20分钟的力量练习,晚饭后半小时的散步,新陈代谢的速度将会增大一倍。就是说分阶段练习,比一次性练习更容易消耗热量。每小时抽出5分钟的时间随便走走,同样会收效。但是不要走入这样的一个误区,不要认为运动一秒都会奏效的。

  7、饮食宜粗不宜细

  一项最新的科学研究表明,在瘦身过程中关键不是摄入纤维素的量,而是何种纤维素可在消化过程中起到最好的催化脂肪消耗作用。

  科学家通过对被实验对象胰岛素指标的观测,来研究纤维素在减肥过程中所起的作用,结果是:经常吃健康,未经加工过的水果蔬菜、全麦面包比那些食用加工过的淀粉食品多消耗80%的热量,未经加工食品中的纤维是直接被人体所吸收,而加工过的纤维却是分解成糖分被人体所吸收。随着体内糖分的增加,也会使胰岛素吸附脂肪的能力增加,从而使体内的脂肪堆积。

  8、五分钟完全放松

  当一个人处于完全放松的状态下,身体不会产生抗压激素,从而会感觉舒适宜人。人在这种放松状态下,紧张的情绪得到了释放,受压的肌肤也获得了休憩感。因此,不妨时常提醒自己放松5分钟吧!
     9、餐前餐后多补充水分

  饭前饭后都应补充大量的水分。身体缺水时,新陈代谢的水平,会比原先降低减少2%。这时候避免喝茶、苏打水、咖啡等含有咖啡因的饮料。在咖啡因的作用下,身体只会吸收一半的水分。

  10、精神食粮

  谁想脑子灵,思维敏捷和工作效率高,谁就应多吃碳水化合物丰富的食品和补充维生素b。核桃、粗面粉面包和香蕉是你首选的壮脑品,因为它们供给你脑力劳动所必需的精神营养。


I am here - 收藏于 2010-03-26

while i am here just waiting for something to feel real or familiar......

我在这里,等待某些真实或是熟悉的事物出现。。。

forgiveness and love

宽容和友爱

From   the sisterhood of the travling pants ----牛仔裤的夏天

                                 


大学生扎堆跳楼啊。。。。 - 收藏于 2010-03-24

昨天实验室议论北邮跳楼的研究生。。。

今天看新闻看到暨南大学跳楼的。。。

马上快毕业了,这种事情向往年一样,又出现了。。。

做为毕业的大学生,确实感受到了压力和无助,能理解他们。但路宽路窄都是路,都可以走下去的。。。

受过将近20年教育的研究生,博士生,为什么不明白这个道理。。。

不过或许对他们来说,生命的结束是一种释怀和解脱。 这个年代,对大多数人来说真的不该读这么长时间的书。。。现代“孔乙己”的悲哀。


三大运营商 频段 - 收藏于 2010-03-23

中国移动获得的频段是1880-1900MHz和2010-2025MHz;
中国电信获得的频段是1920-1935MHz和2110-2125MHz;
中国联通获得的频段是1940-1955MHz和2130-2145MHz。

communication - 收藏于 2010-03-21

1.模拟信号->数字信号

   采样 量化 编码(PCM 脉冲编码调制、压缩编码),之后得到的数字信号:1100011111000...

2.数字信号调制

   基带信号(数字信号 -> 数字信号):AMI 码   HDB3码    

   基带信号调制(数字信号 -> 模拟信号): ASK FSK PSK DPSK QAM MSK等

3.模拟信号调制

   线性调制: AM SSB DSB VSB

非线性调制:FM PM


思索人生。。。 - 收藏于 2010-03-21

今天看了一个初中同学的帖子,连续六篇文章题目全是“我想回忆”。

   她很优秀,曾经也很幸福,bf是台北人,那里城市美丽,气候宜人,更重要的是有她的幸福在那里。可现实的原因,最终分开。她回到北京,开始自己的工作生活。两年过去了,她居然还在发这样的帖子,“我想回忆”,可能回忆太美好,舍不得放下。可让人好心疼。。。宁愿她没有过这些回忆。

感情,工作,生活,牺牲,迁就。。。太多的冲击要我们抉择。因为现实放弃了感情,就成为了感情的俘虏,心里阵阵的痛和悔沉浸在以后生活的点点滴滴。因为感情放弃了其他的,就会向对方索取更多的感情,稍有不适就会觉得自己很亏。其实。。。 如果当时每个人能意识到这些,可能会更明智的选择好自己的生活。

可惜。。。没思考品味过人生的我们,没有经历过,面对未知,茫然,徘徊。。。最终留下的是悔和痛,还要带着痛和悔坚强着,自我鼓励着,走下去。。。

下辈子希望自己是个幸运的人,也希望在现实和感情之间苦苦挣扎的人,能认识到人生的意义,善待感情,善待自己的心。。。不要被现实和舆论击倒,跟着自己的心,坚守住自己的感情,那才是最真,最美的东西。。。


影响女人的10部电影 - 收藏于 2010-03-20

1、友情:《牛仔裤的夏天》
2、初恋:《情书》
3、孤独:《天使爱美丽》
4、坚强:《隐形的翅膀》
5、成长:《千与千寻》
6、自我:《穿普拉达的女王》
7、尊严:《成为简奥斯汀》
8、母爱:《黑暗中的舞者》
9、自由:《蓝》
10、智慧:《律政俏佳人》

zz - 收藏于 2010-03-10

关于爱情:

不要认为后面还有更好的,因为现在拥有的就是最好的。不要认为还年轻可以晚些结婚,爱情是不等年龄的。不要因为距离太远而放弃,爱情可以和你一起坐火车的。不要因为对方不富裕而放弃,只要不是无能的人,勤劳可以让你们富裕的。不要因为父母反对而放弃,你会发现因为这个原因而反放弃的爱情,将是你一生的悔恨。其实对于爱情,越单纯越幸福。一生只谈一次恋爱是最好的,经历的太多了,会麻木;分离多了,会习惯;换恋人多了,会比较;到最后,你不会再相信爱情;你会自暴自弃;你会行尸走肉;你会与你不爱的人结婚,就这样过一辈子。


关于爱情:

也许爱情是一部忧伤的童话,惟其遥远与真实。放弃一个爱你的人并不痛苦,放弃一个你爱的人那才痛苦。若是有缘时间空间都不是距离,若是无缘总是相聚也无法合意;凡事不必太在意,更不需去强求,就让一切随缘。逃避不一定躲得过;面对不一定最难过;孤独不一定不快乐;得到不一定长久;失去不一定不再拥有。爱是一种享受,即使痛苦也会觉得幸福;爱是一种体会,即使心碎也会觉得甜蜜;爱是一种经历,即使破碎也会觉得美丽;不要因为寂寞而错爱,不要因为错爱而寂寞一生。


关于伴侣:

伴侣不是结婚时发誓非你不娶或非你不嫁的那个人,而是发现你身上有许多缺点仍然选择你的那个人;伴侣不是生活中你爱吃黄瓜ta也爱吃黄瓜的那个人,而是你吃蛋清ta吃蛋黄的那个人;伴侣不是天黑了和你一起手挽手走进饭店的那个人,而是守在门口巴望你回来共进晚餐的那个人;伴侣不是和你大谈爱情,把“我爱你”挂在嘴边的那个人,而是和你平淡的唠叨柴米油盐、锅碗瓢盆的那个人。在幸福的婚姻中,伴侣已不是一个具体的人,而是你和ta在几十年的岁月中沉淀下来的:一份默契、一份温情、一份平淡、一份理解、一份宽容。爱ta就要让ra开心,这就是伴侣........


关于承诺:

在古希腊传说中,情侣都将戒指套在对方的中指上,因为他们相信那儿有一根血管直通心脏。所以戒指的意思就是用心承诺!但是人世间有多少爱能生死白头,又有多少的情可以天长地久?所以你选择共度一生得未必是你最爱的,你最爱的未必能和你共度一生。多少的有情人走不进彼此的今生,只能苦苦的相约于来世;而多少的男男女女走过爱情走进婚姻却不会再珍惜彼此的付出。所以记得珍惜你爱的人,把每一个平淡的今天当成是彼此相依的最后一刻,好好握紧爱人的手,即使ta容颜已老,即使ta满面沧桑,那也是你记忆中永恒的温馨。别忘了守住对ta的承诺,别忘了牵住ta的手,一生一世一辈子.....


关于人生:

人生如梦,岁月无情。蓦然回首,才发现人活着是一种心情。穷也好,富也好,得也好,失也好。一切都是过眼云烟。想想,不管昨天、今天、明天,能豁然开朗就是美好的一天。不管亲情、友情、爱情,能永远珍惜就是好心情。记得有一个经典短信这样写着:曾经拥有的不要忘记;已经得到的更加珍惜;属于自己的不要放弃;已经失去的留作回忆;想要得到的一定要努力;累了把心靠岸;选择了就不要后悔;苦了才懂得满足;痛了才享受生活;伤了才明白坚强;总有起风的清晨;总有绚烂的黄昏;总有流星的夜晚。人生就像一张有去无回的单程车票,没有彩排,每一场都是现场直播。把握好每次演出便是对人生最好的珍惜。把握现在,畅享人生!


关于友情:

有一天,友情和爱情碰见。爱情问友情:世上有我了,为什么还要有你的存在?友情笑着说:爱情会让人们流泪,而友情的存在就是帮人们擦干眼泪!朋友就是:偶尔会为你担心、向你关心、替你懆心、想你开心、逗你开心、请你放心。朋友之间,懂得关怀才是难得.....伤心时不妨和我说;痛苦时别忘了跟我讲;有病时别忘了通知我;困难时记得要请教我;失望时要想起还有我;开心时更不要忘记我。朋友的定义,就在于此.....我们是朋友,这就够了.......


关于微笑:

被人误解的时候能微微的一笑,这是一种素养;受委屈的时候能坦然的一笑,这是一种大度;吃亏的时候能开心的一笑,这是一种豁达;处窘境的时候能自嘲的一笑,这是一种智慧;无奈的时候能达观的一笑,这是一种境界;危难的时候能泰然一笑,这是一种大气;被轻蔑的时候能平静的一笑,这是一种自信;失恋的时候能轻轻的一笑,这是一种洒脱。不管是有什么事情,为了什么原因.....我们每天都要开心一笑...........


关于生活:

日出东海落西山,愁也一天,喜也一天;遇事不钻牛角尖,人也舒坦,心也舒坦;每天领取谋生钱,多也喜欢,少也喜欢;少荤多素日三餐,粗也香甜,细也香甜;新旧衣服不挑捡,好也御寒,赖也御寒;常与知己聊聊天,古也谈谈,今也谈谈;全家老少互慰勉,贫也相安,富也相安。


关于幸福:

相传幸福是个美丽的玻璃球,跌碎散落在世间的每个角落。有的人捡到多些,有的人捡到少些。却没有人能拥有全部。爱你所爱选你所选,珍惜现在所拥有的一切。人活着就是一种心情,把握今天,设置明天,储存永远。只要用心感受,幸福就会永远存在。


Girl's Day - 收藏于 2010-03-07

本科的时候还经常过这个节日,研究生了就不是Girl了。。。

去买了一盒+一板德芙巧克力,全吃了,好难受。。。

公务员面试结束了,开始论文+新的找工作生活了。争取过了,就没什么后悔的了。。。


老师这么说。。。 - 收藏于 2010-03-05

老师说面试分数一般在75~85分之间浮动,能考到90是很困难的,能考到75分以下也是相当困难的。。。

可我不但是困难中的困难,简直是创造奇迹,刷新纪录。。。


不去想是否能够成功 - 收藏于 2010-02-27

我不去想是否能够成功

既然选择了远方

便只顾风雨兼程

我不去想是否能够赢得爱情

既然钟情于玫瑰

就勇敢的吐露真诚

这是汪国真的一首诗。。。

培训班里的一个同学经常背的,觉得很好就放在这里。。。 真羡慕他们说话的方式,引经据典,头头是道。不得不让我时时感慨“真的有很厉害的人”。。。


如果。。。 - 收藏于 2010-01-26

如果生命就此结束,可能是上帝给我最好的恩惠。。。


想。。。 - 收藏于 2010-01-17

有的时候好想上进,努力的提升自己,在提升中快乐生活。。。

有的时候却无名的孤单,好想有个稳定的家,感受快乐和甜蜜。。。

到底追求的是什么,自己都在迷茫。。。


2010海关公务员 qq群 - 收藏于 2010-01-13

群号:31880803

不是我创建的,但希望大家能加进来多交流~~


这个月的目标 - 收藏于 2010-01-11

颓废了好长时间了,该stop了,这个月的目标

1)finish 论文

2)练习编程

3)看视频编解码的书


Once Upon a Time in America - 收藏于 2010-01-03

noodles, i slip 。。。

It is just the way i see things 。。。

Many years ago, i had a friend , I turn him in to save his life。。。


做错就要承受 - 收藏于 2009-12-30

要坚强

以后不要再错

要承受,要面对

做错事情,总要承担后果的

命运,是可以预计得到的


IT 行业薪水行情 (zz) - 收藏于 2009-12-25

互联网:
百度:     搜索等核心部门16W+
google:   18W+,会有股票
腾讯QQ:   本科生至少7W,研究生至少10W,腾讯研究院16W+
网易:     11W+,其搜索部门有道大概15W+
盛大:     研究生7K,本科生4K
完美时空: 一般只要清华北大的,16W+
sohu:      研究生10W左右
雅虎中国: 7K+

软件:
Microsoft: 18W+
IBM: CDL=(7500+800)*12 + 7500*2.5,
     CRL=(7500+800+900)*12 + 7500*2.5
Morgan IT:25W左右
趋势科技: 10W+
农行总行软开:6500×16个月+1500×12
招行软开: 10W左右
中行软开: 10W左右
瞬联:      12W左右,没户口  

硬件:
威盛:     研究生8k左右,提供住宿
联想:     一般4k左右,联想研究院研究生5K左右  

网络:
cisco:     15k/m,会有美国培训
华为:     本科5500,研究生6500,奖金为几个月的工资,海外会有补助
中兴:     研究生6K左右,海外会有补助
大唐:     9w左右
爱立信:   7K+


关于指针 - 收藏于 2009-12-23

1.*p++   = *(p++)

    *p;

   p++;

2.(大唐电信) 列出了18个这样的指针,指针数组,数组指针,指针函数,函数指针

    int * p[N]    是数组,数组中放的是指针;

    int (*p)[N]   是指针,指针指向大小为N的一维数组;

    int   * * p   [N]    是数组,数组中放的是指针的指针;


几道笔试题目 - 收藏于 2009-12-23

1.(大唐电信) VOIP 协议 SIP协议 NGN协议的定义

VoIP即Voice Over IP,是把话音或传真转换成数据,然后与数据一起共享同一个IP网络(Internet互联网)。 由于话音和传真在Internet上免费搭乘了"顺风车",所以点对点(网关---网关)国际或国内长途通讯是完全免费的。

  IP网络可以是Internet、IPLC(国际专线)、无线网络等,只要是采用IP协议( Internet Protocol ) 就可以了。VOIP系统就是把传统的电话网与互联网组合搭配在一起。

SIP(Session Initiation Protocol)是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以好似Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。

NGN 是“下一代网络(Next Generation Network)”或“新一代网络(New Generation Network)”的缩写。NGN是以软交换为核心,能够提供话音、视频数据多媒体综合业务,采用开放、标准体系结构,能够提供丰富业务的下一代网络。 基于分组的网络,能够提供电信业务;利用多种宽带能力和QoS保证的传送技术;其业务相关功能与其传送技术相独立。NGN使用户可以自由接入到不同的业务提供商;NGN支持通用移动性。 它是电信史一块里程碑,标志着新一代电信网络时代的到来。

2.(大唐电信)操作系统定义,进程的同步与互斥?

操作系统(Operating System,简称OS)是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware等。

进程之间的关系主要有两种,同步与互斥。所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。也就是说同步是指两个进程为完成某项任务,必须进行协作,有前后次序的等待关系。

互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。当多个进程访问或操作同一个数据,且执行结果与访问的特定顺序有关,称为竞争条件。为了防止这种竞争,必须确保一段时间内只有一个进程能够操作这个数据。为了实现这种保证,就需要一定形式的进程间同步。实现互斥有这样一些方法,禁止中断,执行测试和设置操作,禁止调度,使用信号量。

同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。

3.(大唐电信)TCP/IP协议接收数据包,UDP协议传送数据包的C 语言编程

4. (联想网御) 防火墙的基本原理,指出linux平台通过什么软件框架实现防火墙功能?

linux平台是基于IPTABLES软件框架实现防火墙功能的

防火墙基本原理

  首先,我们需要了解一些基本的防火墙实现原理。防火墙目前主要分包过滤,和状态检测的包过滤,应用层代理防火

墙。但是他们的基本实现都是类似的。

  │ │---路由器-----网卡│防火墙│网卡│----------内部网络│ │

  防火墙一般有两个以上的网络卡,一个连到外部(router),另一个是连到内部网络。当打开主机网络转发功能时,两个网卡间的网络通讯能直接通过。当有防火墙时,他好比插在网卡之间,对所有的网络通讯进行控制。

  说到访问控制,这是防火墙的核心了:),防火墙主要通过一个访问控制表来判断的,他的形式一般是一连串的如下规则:

  1 accept from+ 源地址,端口 to+ 目的地址,端口+ 采取的动作

  2 deny ...........(deny就是拒绝。。)

  3 nat ............(nat是地址转换。后面说)

  防火墙在网络层(包括以下的炼路层)接受到网络数据包后,就从上面的规则连表一条一条地匹配,如果符合就执行预先安排的动作了!如丢弃包。。。。

  但是,不同的防火墙,在判断攻击行为时,有实现上的差别。


花木兰 感 - 收藏于 2009-12-22

喜欢里面的小虎,让人看到兄弟情; 从木兰刚入军,小事上对木兰的照顾,到最后用生命保护花将军退兵,有这样的兄弟,木兰好幸福。

喜欢里面的文泰,让人看到爱情;为了让木兰强大,自己隐退,默默地看着他心爱的人强大起来。在峡谷里,对木兰的悉心照顾,更让无数女人羡慕。

看完花木兰,第一感觉是,即使生活环境再艰苦,有感情在,就有希望,就会幸福。

PS: 幽默一下,看到一个成功的女人背后,有一个(文泰)或者说多个(小虎)优秀的男人支撑。


中国银行 英语 - 收藏于 2009-12-21

中行英语笔试总题量:20道单词选择,10道挑错,20道完型,四篇常规阅读(每篇5题),1篇文章排序,1篇句子填空,2篇快速阅读。

解题方法:
单选、改错、完形、要快,把握在 30-40秒一题,完形可拉到50秒吧(不是20题全部喔)
然后先做快阅,锁定Key Word很快做到细节题,后一篇最后一问是理解题,要看完最后几段,否则会不会   全部不要超过3分钟;
普通阅读:4篇 每篇5题
先做细节题,找Key Word,概括理解可用排除法
有些内容其实可以用一般常识来排除的
先做1 2篇,然后撞(先涂卡)(ABCD随便)3 4篇,看完排序再返回做3 4篇
排序:
1)7段话,A-G,AG分别为头尾(已给出),排序B-F
However开头的有G段和F段,明显F不接G,记得D C 内含some和other的对应关系
2)一篇挖空5句,给8句选5并对应填,太难,没时间研究,撞
顺序:
总括:做完普阅12后吧34全部撞涂,做完排序再返回34,时间仍够,排序1应该思考做,2大可撞(实在太复杂)

总结一下:时间不够是最大的问题,其次就是文章比较难懂。建议后来人这样分配:15分钟左右把第一二部分搞定,15~20分钟做完形,40~45分钟做4篇常规阅读,然后跳到后面花5~8分钟做快速阅读,这样还剩10~20分钟,填完机读卡,把句子填空和排序做一做,反正最后做排序,因为这个一错全错。

第一部分:同义词填空,20个

          就是给出4个词,选出一个填到一个句子中,感觉和以前六级英语的同义词填空不一样,六机考的词基本上是考认不认识,认识的话基本都能对,中行考的是词义辨析。

现在只记得4个了:如** approval _____   (A. rate, C. ratio)** ;**an_____ interview (A. exclusive, B. exceptional )***;***a _____ monument (A. perpetual , C. lasting );***____ on sb. to do sth.*** (A. prevail C. persuade,答案选A ) .

第二部分:改错,10个

          就是给出一个句子,划线4个部分,让选出哪个有错,和以前托福语法改错格式差不多。现在就记得一点了:an abundance of evidences, 应该选B. 还有一个enable sb. to do 加下划线了,不过这个是对的。

                                                                                                                                   A          B

第三部分:完型填空 20个

          主要是关于对待非母语问题,说美国人到了美国大陆,要求印第安人不能使用自己的母语,要将其去除,其中有个选项是eradicate, 否则就会受到惩罚,有个选项是punishment。因此印第安人就刻意不把母语pass on 给下一代。德国也是如此,要求是用德语,在教堂里,学校里还有什么地方都要讲德语,把其他语言书籍都烧掉了。后来说到中国人,虽然在国外上语言课,但是都是segregated class, 里面全是中国人。中国人都喜欢和中国人在一起,比如Chinatown.语言成了影响人们找工作的问题之一。Blabla~~~~

第四部分:四篇阅读理解

Recent research has claimed that an excess of positive ions in the air can have an ill effect on people's physical or psychological health. What are positive ions?Well,the air is full of ions,electrically charged particles,and generally there is a rough balance between the positive and the negative charged. But sometimes this balance becomes disturbed and a larger proportion of positive ions are found. This happens naturally before thunderstorm,earthquakes when winds such as the Mistral,Hamsin or Sharav are blowing in certain countries. Or it can be caused by a build-up of static electricity indoors from carpets or clothing made of man-made fibres,or from TV sets,duplicators or computer display screens.

  When a large number of positive ions are present in the air many people experience unpleasant effects such as headaches,fatigue,irritability,and some particularly sensitive people suffer nausea or even mental disturbance. Animals are also affected,particularly before earthquakes,snakes have been observed to come out of hibernation,rats to flee from their burrows,dogs howl and cats jump about unaccountably. This has led the US Geographical Survey to fund a network of volunteers to watch animals in an effort to foresee such disasters before they hit vulnerable areas such as .

  Conversely,when large numbers of negative ions are present,then people have a feeling of well-being. Natural conditions that produce these large amounts are near the sea,close to waterfalls or fountains,or in any place where water is sprayed,or forms a spray. This probably accounts for the beneficial effect of a holiday by the sea, or in the mountains with tumbling streams or waterfalls.examda.com

  To increase the supply of negative ions indoors,some scientists recommend the use of ionisers:small portable machines,which generate negative ions. They claim that ionisers not only clean and refresh the air but also improve the health of people sensitive to excess positive ions. Of course,there are the detractors,other scientists,who dismiss such claims and are skeptical about negative/positive ion research. Therefore people can only make up their own minds by observing the effects on themselves,or on others,of a negative rich or poor environment. After all it is debatable whether depending on seismic readings to anticipate earthquakes is more effective than watching the cat.

引用

  1.What effect does exceeding positive ionization have on some people?

  A.They think they are insane.

  B.They feel rather bad-tempered and short-fussed.

  C.They become violently sick.

  D.They are too tired to do anything.

  2.In accordance with the passage,static electricity can be caused by___.

  A.using home-made electrical goods.

  B.wearing clothes made of natural materials.

  C.walking on artificial floor coverings.

  D.copying TV programs on a computer.

  3.A high negative ion count is likely to be found___.

  A.near a pound with a water pump.

  B.close to a slow-flowing river.

  C.high in some barren mountains.

  D.by a rotating water sprinkler.

  4.What kind of machine can generate negative ions indoors?

  A.Ionisers.examda.com

  B.Air-conditioners.

  C.Exhaust-fans

  D.Vacuum pumps.

  5.Some scientists believe that___.

  A.watching animals to anticipate earthquakes is more effective than depending on seismography.

  B.the unusual behavior of animals cannot be trusted.

  C.neither watching nor using seismographs is reliable.

  D.earthquake

【答案】BCDAA

第五部分:排列段落,5道。

给出了首段和末段,让排列中间段。主要根据连接词。是关于服务价格的问题。一开始好像说企业不大注意服务定价。之后有的厂商注意了,但是还是存在不合理问题。一部分怎样怎样,others怎样。最后就说However, 现在又怎么做改变。好像是这样没细看。

第六部分:一篇文章中间少了五个句子,给你8个句子,让从中选出5个填进去。

是关于经济衰退的。说人们对经济衰退程度预测不已,一开始预测多少,后来又预测多少,后来又变。其中高盛预测的最悲观。然后提到和Great depression相比。后来说经济学家们也莫衷一词,有的说会变糟糕,有的说会变好。

第七部分:快速阅读。两篇。第一篇2道题。第二篇3道题。

第一篇关于印度旅游的。问了“palace on wheels”指什么,是“luxury train”;泰姬陵为什么叫“temple of love”,是印度国王为自己心爱的亡妻修建的

第二篇。.第一题问African American如何看待Latinos,第二题问W这个美国白人说了一句话说美国不应该有其他肤色的人种,有的话只应该是奴隶,这句话表明了什么,一个答案是美国社会种族歧视,另一个答案美国白人憎恨有色人种。第三题问most Mexican移民后怎么样了,是Americanized了,lost their mother tongue。



中国银行 很好的帖子 - 收藏于 2009-12-21

http://bbs.yingjiesheng.com/thread-299581-1-1.html

中国银行 综合知识 - 收藏于 2009-12-21

综合考了两部分,一部分是行测,一部分是综合知识(涵盖多个专业)

1,
行测。行测不难,一个小时,70道题。做过国家公务员考试,再做这个,觉得很愉快,所以不用怎么担心。时间不够要学会放弃一些题,先按自己强项作题。
2,
综合知识。

总结一下,货币银行学占题目比重较大,国际金融方面考了汇率和期货两三道,商业银行管理也考了一些,计算机网络出的都是比较简单的题目,法律方面主要考几道劳动法和税法的,此外市场营销学、管理学、会计学、时事政治都有涉及到综合部分选择题 。

1.以下哪个同行拆借率是目前被认可和通行的(伦敦同业拆借率)
2. 世界上第一个商业银行是?(英格兰银行)
3. 巴塞尔协议规定的资本充足率为多少 (8%)
4.商业银行的经营目的是什么? (盈利)
5.在日本发行的以美元计价的债券称为什么 (欧洲市场债券)
6. 利率互换的条件 (币种相同、期限相同、利率计算方式不同)
7.关于卖空股指期货操作的题目
8.以下哪个选项最适合作为回购协议 (国债、股票之类)
9.以下哪种票据需要承兑(远期汇票)
10. 证券投资属于什么投资(直接投资、间接投资 and so on)
11.布雷顿森林体系崩溃时间 (七十年代初期)
12.央行和商业银行的货币职能(央行提供原始货币,商业银行制造派生货币)
13.凯恩斯的货币需求理论最大的特点是 (强调利率的作用)
14.菲利普斯曲线描述的是什么?(通货膨胀与失业率之间的关系)
15.洛仑兹曲线描述的是什么?(收入分配公平程度)—— 不确定是不是这道题
16.发行国债的最主要目的是什么?(筹集建设资金)
17.市场营销的核心环节是 (交换)
18.关系营销的理论基础是什么
19.泰勒被尊称为什么 (科学管理之父)
20. 国内企业引进了激励奖金制后,现在激励奖金已经变成工资的一部分,而失去了原本的激励作用,这样意味着?(激励效应在每个国家作用不同、如何防止激励奖金变成工资的一部分是管理人员需要重视和提高的什么什么,忘了)54yjs.cn
21. 某企业生产平均成本达到最小值,那么该企业(利润达到最大值、超额利润为零、边际成本等于平均成本or whatever)
22.劳动法对于加班时间的限定 (每月不得超过36小时)

23.如果企业安排员工周末上班而又不予以调休,那么应支付多少倍工资(2倍)
24. 以下哪个选项免收营业税 (医院提供医疗服务的费用、邮局出售邮票、移动公司出售充值卡、还有一个选项忘了)
25.以下哪种情况免收个人所得税 (保险理赔)
26.企业增值税的属性 (A.归中央税入 B.归地方税入   C.共享税中央为主 D.共享税地方为主)
28. A、B两个相连的会计年份和甲乙两种不同的会计方式混搭,问哪个符合会计一致性原则
29.某跨国企业子公司财务报告与母公司合并,过程中遭遇的汇率风险属于什么风险(经营风险、市场风险、经济风险、会计风险)
30.影响现金流的操作
31.以下哪个软件通常用来收发邮件 (Outlook Express。汗!)
32. BBS的功能不包括以下哪个选项 (文件传输、发布信息、什么什么热表之类)
33. TCP/IP协议基于什么而写?(大概是这个意思。。)
34.世界上第一个网上银行是?(美国SFNB)
35. 2007年6月召开的八国峰会的主要议题是什么 (全球气候变暖问题)
36. 我国提出十一五期间单位国内生产总值能源消耗降低多少?(20%)
37. 目前我国的失业情况主要属于 (结构性失业)
38   某商品需求弹性大于1,则该商品为 (奢侈品)
39   马斯洛需求层次理论最低层是什么 (生理需求)
40 构建和谐社会的根本出发点和落脚点是什么 (以人为本)
41   某投资公司向客户承诺不低于30%的收益率,该行为属于 (虚假陈述)
42 某国对B国汽车进口限制在10万辆以内,这种配额属于(国别配额) bbs.54yjs
43   07年11月26日央行上调存款准备金率后的准备金率为多少 (13.5%)
44 我国的外汇交易中心设在哪里 (上海)
45 以下哪种情况不属于工伤范围 (上班途中交通意外、出差发生意外、下班后在公司上网被歹徒抢劫等)
46 股份制公司成立的条件是 (半数以上发起人在国内有固定房产)
47 LAN是指什么 (局域网)
48 互联网最早诞生于 (1969年美国)
49 以下哪个指标反映了全部资产运营情况 (全部资产周转率)
50应计入收益性支出而错计入了负债性支出会产生什么后果 (??)
51 国际货物合同纠纷的诉讼期限是:(A 一年 B 两年 C三年 D四年)

多项选择题 (有两个或以上的选项是正确的,多选、漏选、错选均不得分)
zd.54yjs.
1.
商业银行的负债包括哪些
2.商业银行的核心资产包括哪些
3. 关于防火墙作用的一道题
4.劳动法关于实习期限的规定
5.十七大确立的党的指导思想包括哪些
6.公有制经济占主导地位的表现
7.银行系统性风险包括哪些
8. 准货币包括哪些
9.   4R营销理论包括什么 (relationship、 retrenchment、 relevancy 、rewards)
10财政再分配包括 (忘了选项)
11骆驼评级法 CAMEL包括什么 (盈利性、流动性、安全性、银行设施。银行设施好像不能选)
12 我国税收有什么特征 (固定性、无偿性、强制性还有一个忘了)

货币银行学:
资本充足率(不得低于8%)
核心资本构成(实收资本,资本公积,盈余公积,未分配利润)
Libor
做空股指期权如何做
央行提供基础货币,商业银行进行货币创造
中国人民银行靠什么来(制定货币政策和金融监管)实现央行的功能
准货币包括什么()
回购协议
银行进行同业拆借的作用(管理头寸)
哪种票据一定需要承兑。选项:即期汇票,远期汇票,即期本票,远期本票
债券价格确定的基础
布雷顿森林体系什么时候解体
证券投资和借贷资本输出属于(直接投资、间接投资………………)
利率掉期(币种相同,期限相同,利率计息方式不同)
哪些风险不能通过投资组合规避(大意如此,就是区分系统风险和非系统风险)

税法:
个人所得税的减免,哪些可以免征个人所得税
直接税和间接税
增值税的归属
税收的性质(强制性等)
新税法的特征(多选) 54yjs.cn

劳动法:
哪些算工伤
加班工资的计算
试用期的规定 54yjs.cn

经济法:
股份制有限公司成立的条件(发起人的数量,最低资本要求,半数以上发起人中国境内有住所)
个人独资企业所承担的责任(以个人资产为限)
仲裁的执行期限(1年,2年,3年,5年)
某证券公司承诺年收益可以达到30%,属于(欺诈,虚假承诺……)单选

管理和营销:
营销中的“4R”营销指哪4R
关系营销以()论为基础
泰勒为现代管理之父
人的最低需求
营销中最重要的是()
激励性奖金逐渐变为固定性奖金,应该怎样

微观经济:
平均成本最低时(边际成本等于平均成本)
边际成本高于平均成本,平均成本会怎样
需求收入弹性大于1,属于(奢侈)品
体育馆不同座位收取不同价格,属于什么价格歧视
洛伦资曲线
菲利普斯曲线
财政分配不包括
财政再分配包括(税收,转移支付…………)

会计:
()支出误算成资本性支出,会有什么影响(影响资产和收益)
会计的一致性准则
什么指标反映资产使用效率(总资产周转率)
已知资本收益率和利润,求资本
求财务杠杆
存货周转率和存货周转次数的公式
已知期初存货,期末负债、流动比率、速冻比率,存货周转率,求销货成本母公司与海外子公司合并报表,汇率变动会引发()风险
哪项会引起现金流量

国际贸易:
限制从某国进口的某货物不能超过多少,属于(国别配额)

实事:
八国会议的内容
17大提出节能方面的内容
11月26号,央行提高准备金率,准备金率达到()

第一家银行
第一家网络银行
网络由()年()国发明
bbs不具备的功能
TCP/IP协议
CA协议
LAN指(局域网)
电子邮箱系统(outlook)
防火墙的功能性质
我国外汇交易中心在哪
党的什么思想体系包括(毛泽东思想,邓小平理论,三个代表等)
构建和谐社会,什么什么的,我选的怡人为本
公有制占主体体现在(多选)

中国银行笔经(zz) - 收藏于 2009-12-20

大概结构是这样:

14:00~15:30英语
16:00~17:00认知能力
17:05~18:05综合知识

(一)   英语部分。90分钟,85道题,150分满分。
第一部分,单选,20题,每道题一句话,中间挖个空,下面四个选项,选个合适的填进去。属于常规题,但是单词都比较fancy,不太认识的。
第二部分,挑错,10道好像,也是每题一句话,有四个地方划线,挑出错的即可,不用改。
第三部分,完形,20题,说的是non-native在美国学英语的事情,先说黑人(不确定)要从小学英语,然后说有一阵反德时期学校不允许教德语,把德语书都烧掉了之类,然后又宣布这样不好,要尊重他们的权力啥的。第三段说修铁路期间移民过去许多中国人,小孩子都在不合法(我选的是illegal,还有别的选项,不记得了)的学校学英语,不标准。后面就没做完了。
第四部分,阅读。100分
阅读又分为四部分:
A.常规阅读,四篇。60分。难度……不太好说,一直在忙学校期末考试,英语一点都没碰,有点生疏,看别人以前笔经说六级偏难,我觉得大概差不多吧,我六级588分,但已经整整一年了。反正以后大家可以拿六级阅读练手,不要拿托福或者GMAT,思路完全不一样,就要拿六级这种思路混乱,又文绉绉的文章。每篇五个问题。我最后一篇连看都没来得及看。
B. 排序。15分。一篇文章,首段和尾段排好,中间打乱。不太好排,还是那句话,思路不好看出来。也许我GMAT文章看多了,受不了这种思路不清的吧,sigh……
C. 句子填空。15分。一篇文章,基本上每段挖个空吧,后面8个句子,填进去。说实话真的很难,有种话里有话的感觉,摸不准。文章大概说的是美国那边的经济学家和社评对经济形势很悲观,预期一个比一个低,后面又涉及了01年和86(?)年的几次低谷,还有the Great Recession,反正相当难的一篇文章,还时事,没准从wall street journal之类上摘下来的说。
D.快速阅读。5道题,10分,这是整个考试最容易的部分了。第一篇介绍印度的,旅游方面的,我都没怎么看,题目在前面,找关键词定位就行了,第一题问为什么泰姬陵叫“the temple of love”,常识就可以选出来,印度那个王为他心爱的亡妻修的嘛;第二题问“the palace on wheels”指的是啥,是个奢华的train。第二篇是关于美国人口组成,核心是mexican。第一题问African American如何看待Latinos,第二题问……忘了,第三题问mexican移民后怎么样了,应该是Americanized了吧,lost their mother tongue。
总结一下:时间不够是最大的问题,其次就是文章比较难懂。建议后来人这样分配:15分钟左右把第一二部分搞定,15~20分钟做完形,40~45分钟做4篇常规阅读,然后跳到后面花5~8分钟做快速阅读,这样还剩10~20分钟,填完机读卡,把句子填空和排序做一做,反正最后做排序,因为这个一错全错。

考完英语是30分钟休息,名义30分钟,其实15分钟就要回来,又开始签到,发机读卡了。
我趁这时间吃了块德芙,给我妈发了个短信。对了插一句,监考很严,手机要关了机(监考老师强调静音也不行,必须关闭),放包里,放到前面去。还说如果发现手机在身上,哪怕是关了机的,都按违纪论处。(那个监考老师还说如果发现要通报到你的学校,把你开除:(真是有毛病)

(二)   认知能力+(三)综合知识
这两部分是连在一起的,一本试题册,但是分开计时,大家注意不要连着一口气做下去了,时间本来就不够,我就做了4道综合知识发现做多了:(

认知能力:60分钟,满分150分
以前好像是行测,但今年改成认知能力了,其实我觉得就是智商测试。
分四部分:
1.       符号推理:从来没做过的一种题,12道题。以英文字母代表一种规则,转换○●△▲□■。规则不太好说明白,我也不太会做,只做了1道题,剩下都是瞎蒙的,大家看看别的会做的牛人的笔经吧,我就不妖言惑众了。
2.       数字推理:这个常规一点,20题好像。给出一个3×3的表格,每个格里一个数字,有一个未知数,它们之间有一定的关系,求未知数。前几道题真的很简单,后面我又是蒙的,没办法,对数字真的不敏感。
3.       言语理解:10道题好像,跟公务员的言语理解不一样,大家别练错了。有点像SHL的逻辑题,给出一小段话,100字左右,其中有的有一定的逻辑关系,有的纯粹就是废话,下面又说:“我们还知道:”,又给出几条信息,有的有用,有的又是废话,最后题干给出一句判断性的话语,三个选项分别是:A.根据所给的信息,这个推断是正确的。B.根据所给的信息,这个推断是错误的。C.根据所给的信息不能判断这个推断是正确的还是错误的。相当于T/F/NG吧。
4.       图形推理:这个又是没见过的新题,还很多,20题,试卷上写的推荐时间是10分钟。这个也很难描述……给出四个规则,分别是改变形状,改变大小,改变颜色,重复上一操作,给出一个原始符号(○●△▲有大有小),经过变化之后,让你判断它最后变成什么样了。

到时间后收答题卡,发新的答题卡,试题册不动(插一句,这个部分的试题册有34页),然后就可以继续做综合知识了

综合知识跟以前一样,还是杂烩,微观经济学,宏观经济学,管理学原理,市场营销,会计,金融,特别是国际金融,计算机,时事。这部分其实没必要写笔经了,因为我估计明年还会换题的,今天我就只看到一道去年的笔经题。不过趁着我没忘,还是写点吧:)

60分钟,60道单选,30道多选,150满分
记得题目有:
1.       资本资产定价模型
2.       财务杠杆
3.       算收益率,买进2年期债券面值100元,花105买的,2006年10月卖出,110块,期间获得利息6块钱,问年收益率(20.95%)
这三个都是要算的,也就是小计算题,要把公式记牢
4.       直接税有哪些
5.       IS曲线什么时候向右移好像
6.       奥肯定律内容
7.       企业什么时候利润最大(边际成本)
8.       心理定价理论包括(招徕定价、尾数定价、声望定价、?)
9.       一个高市场占有率、高增长的公司属于什么类型(奶牛、瘦狗、明星、?)
10.   矩阵式的组织结构有什么缺陷(多选)
11.   一个公司,结构有些混乱,员工都不知道该干什么(大概这意思),这时如果你是HR部门,你认为最需要干什么(员工培训、职业生涯规划、绩效考核、工作分析,我选的工作分析)
12.   马斯洛需求层次最高层是什么
13.   一个企业破产,请产顺序是什么(清算费用、欠职工薪酬、债务、税)
14.   甲向乙销售了500万货款,乙以450万房产抵押,后乙破产,甲享有的表决权是(50万)
15.   一种产品两个技术替换率(?)不变,?曲线是什么样的(正斜率、负斜率、直角、?)
16.   下面哪些税是难以转嫁的(增值税,消费税,营业税,关税,我选的营业税)
17.   某公司坏账准备率是4%,上一年度坏账准备账户余额是1000万,本年度是2500万,问今年计提多少(我是这么算的:2500*4%-1000*4%=60)
18.   购进一批原材料,货物已入库并通过银行存款结账,应该编制什么会计凭证(收款凭证、付款凭证、转账凭证、收料单)
19.   进口有色金属矿石需要交什么税(多选,关税,资源税,增值税,营业税)
20.   如果一国通胀且国际收支顺差,应采取的措施是(增加国内支出,本币贬值;增加国内支出,本币升值;缩减国内支出,本币贬值;缩减国内支出,本币升值)
21.   纽约交易所的外汇牌价USD/JPY92.89/92(瞎写的数,原数忘了),反正考这是间接标价法,卖价在前买价在后,我相当肯定,因为前两天学校期末考试刚考完国际金融
22.   汶川地震,对我国的捐赠属于国际收支中的哪项(经常、金融、储备、经济)
23.   央行履行银行的银行职责体现在什么方面(发货币、制定货币政策、各商业银行向它存存款准备金、?)
24.   贷方有偿债能力,但有迹象表明他可能有到期不偿还的可能,这种风险等级应划为哪一类(普通、关注、次贷、?)
25.   2008年8月1日实施的是(反垄断法、证券法、?、?)
26.   2008年8月1日新组建的部委(多选,铁道部,信息什么什么部,财政部,忘了)
27.   G20在哪儿开的(伦敦,北京,纽约,忘了)
28.   金砖四国是哪四国(多选,美国+新加坡,中国+印度,韩国+日本,巴西+俄罗斯)
29.   2008年诺贝尔奖经济学获得者(保罗克鲁格曼)
30.   我国第一个出仓行动的宇航员是谁(汗,选项有费俊龙等,瞎选的翟志成)
31.   MS Word有几种视图
32.   MS Word中要插入偶米噶应该用哪个菜单
33.   html的含义
34.   哪项不是系统安全程序(有个选项是加密狗,汗,不知道是不是打错了)
35.   我国在北京奥运会上获得了多少金牌和奖牌


God bless me…

昨天跟娇逛西单时跟她抱怨,在餐巾纸上把认知能力第一部分题型,画出来了,就是所有试题中最最恶心,最最恐怖,最最发指,最最@#¥¥%……#¥%那道题。
只是一个大概,不是原题,这道题我也不能保证能推出来,反正是这么一种题,大家看看,有个了解就好了

P.S. 就是这么变态!!


不骗你 - 收藏于 2009-12-16

来BJ 半个月了,今天是第一次起早,7点半左右就出门了。。。

到地铁门口吓一跳,黑压压一片,难道这就是传说中的 “人头攒动”? 还好大家都还排队,顺着so long 的人流终于进了地铁。站在队里翘望着车门,开了,只见人流,以40~50mai的速度冲出车门。在涌动的人流中,我看见一个瘦小的倩影,在人流中挣扎着,扑回车门,可最后还是被人流带出来了四五米。不想下车的她,被人流载波无情地发射出来了,挺惹人怜的,也挺顽强的,最后还是扑回去了。

挤进车门,能清晰地感觉到前面人的呼吸声,后面人的喘气声,自己感觉像个汉堡被夹在中间。终于夹到了西直门,又转到了动物园。出站问保安 “***大学怎么走啊?”   “还挺远的呢,你得回去做公交” 好吧,回去做公交了。。。

折腾了two hours 终于到了宣讲会,找个座位坐下,宣讲开始了,我睡着了。。。

朦胧中听到要笔试分考场了,醒了,找卷子开始答题。。。每次笔试题目考查的内容差不多,但每次都是模棱两可,应该静心看看书了。。。


12月份 BJ宣讲记 - 收藏于 2009-12-15

审查协作中心——— 在线测试(行测+职业测试)——— 翻译专利+中文协作——— 面试

移 动     ——— 主要看重生源地

科大讯飞——— 做语音的   c/c++

大唐电信——— 做网络的 c Tcp/Ip

高新视博——— 做视频的

汉王 ——— 做电纸书

航天院——— 要男生

新奥特(北京)视频技术有限公司——— 做视频 音频编辑系统、虚拟演播室系统的

联想网御(北京)科技有限公司 ——— 做信息安全 网络安全的 防火墙什么的

风河系统公司 ———

中讯邮电咨询设计院有限公司 ——— 人超多,待遇很好


转 嫁给海员的好处 - 收藏于 2009-12-07

看到一个比较有意思的帖子,就考过来了。。。

1:海员虽然每天都要穿制服,系领带,衣冠楚楚的,但长期不在家。所以呢,你把家里收拾的干净也好,不干净他也不知道。
2:海员虽常期不在家,但是每年也至少有四个月的休息时间可以跟女朋友补回失去的那些,你们可以到美丽的地方好好玩玩。
3:海员虽然都兴趣盎然,但常年呆在船上,基本与世隔绝,只活在大海上,所以你用不着取悦他。在海员看来平日平淡无奇的生活也是多姿多彩的。
4:海员做三副(三管轮)时月薪有一千八百美金左右,二副(二管轮)月薪有两千五百美金左右,大副(大管轮)就更高了,这只是工资,每年还有巨多的奖金,做到船长(轮机长)时……以上海远洋公司为例,船长(轮机长)每年奖金有四十万人民币左右,工资另计。更重要的是,他再有钱在海上也没地方花,所以呢,你的工作就是替他把这些钱花掉,促进国家经济发展。
5:海员每天的娱乐就是修理主机和辅机,所以即使你生气时把空调砸了,他也会很高兴,可以在女友面前大展身手了。
6:海员都要经过IQ测试,是不会有低智商者的,所以嫁给他后的爱情结晶都是优秀的儿女。
7:海员呆在船上的时间比呆在床上的时间还多,所以你嫁给他后仍然可以过着单身贵族的生活,相当自由。
8:海员的口才再好,每天和那些船上的二三十个来自不同国家的人交往,终会变哑的,所以即使你用严辞凌辱他,他也会很欣慰,终于又听到国语了。
9:海员都心胸宽广,因为他每天都要面对渺无边际的大海,所以有理他也服,没理他也不介意。
10:永远不用担心他有外遇,因为船上根本就没有女生,他没有机会的。


急需调整状态,备战国考 - 收藏于 2009-11-11

中兴面试结束,急需调整状态,进入国考状态。

今天去做题,发现做得慢了,效果也不好,解题思路变得模棱两可。突然感觉每个题型都是漏洞了。

急需调整心态,备战国考。希望早点进入状态。。。还有两个星期,心里很担心,自己能不能再理清思路。。。


作业 进程 线程 - 收藏于 2009-11-08

操作系统五大管理系统:作业管理 进程管理 文件管理 设备管理 存储管理

进程与线程的区别:

在32位的Windows系统中,术语多任务是指系统可以同时运行多个进程,而每个进程也可以同时执行多个线程。

进程就是应用程序的运行实例。每个进程都有自己私有的虚拟地址空间。每个进程都有一个主线程,但可以建立另外的线程。进程中的线程是并行执行的,每个线程占用CPU的时间由系统来划分。

可以把线程看成是操作系统分配CPU时间的基本实体。系统不停地在各个线程之间切换,它对线程的中断是汇编语言级的。系统为每一个线程分配一个CPU时间片,某个线程只有在分配的时间片内才有对CPU的控制权。实际上,在PC机中,同一时间只有一个线程在运行。由于系统为每个线程划分的时间片很小(20毫秒左右),所以看上去好象是多个线程在同时运行。

进程中的所有线程共享进程的虚拟地址空间,这意味着所有线程都可以访问进程的全局变量和资源。这一方面为编程带来了方便,但另一方面也容易造成冲突。

虽然在进程中进行费时的工作不会导致系统的挂起,但这会导致进程本身的挂起。所以,如果进程既要进行长期的工作,又要响应用户的输入,那么它可以启动一个线程来专门负责费时的工作,而主线程仍然可以与用户进行交互。


简单的说,你每启动一个程序,就启动了一个进程。在Windows 3.x下,进程是最小运行单位。在Windows 95/NT下,每个进程还可以启动几个线程,比如每下载一个文件可以单独开一个线程。在Windows 95/NT下,线程是最小单位。WINDOWS的多任务特性使得线程之间独立运行,但是它们彼此共享虚拟空间,也就是共用变量,线程有可能会同时操作一片内存。

所谓进程,本身不能执行,它只是一个资源的集合体,拥有地址空间,模块,内存,...
线程是真正的执行单元,一个进程如果没有线程,那么就没有存在的意义,因为不可能执行。


H.264编码 (不一定是准确的理解) - 收藏于 2009-11-07

H.264 的压缩比在50-70,最大不会超过100。

1)H. 264的帧结构   I B B P I B B P ... 其中B帧可以没有,I帧间隔可以设置15 或是30

I帧采用帧间预测,需要编码传送的数据有 “预测模型+图像残差”

P帧先帧间预测,再帧内预测,需要编码传送的数据有 “MV运动矢量残差+图像残差”

B帧 和P帧类似,但需要前帧的“MV运动矢量残差+图像残差” 和后帧的“MV运动矢量残差+图像残差”

a)帧内的预测模型

    亮度Y:4*4的宏块 : 有9种预测模型; 16*16的宏块 : 有9种预测模型

   色度U V : 8*8的宏块 : 有4种预测模型

b) 帧间MV 运动矢量预测

亮度: 1/4像素精度      色度: 1/8像素精度

2)H.264的句法和语义

   每个宏块亮度Y 预测—> 残差—> DCT—> 量化—> 重排序—> 熵编码—>bit流

每个宏块亮度U/V 预测—> 残差—> DCT—> 量化—> 重排序—> 熵编码—>bit流

MB的YUV + MB的YUV + MB的YUV + 。。。= 片

0X0000 0001+ NAL + 片头+片 = NAL 单元

但有一个很特殊的I帧,即 IDR(立即刷新图像)帧 ,它是视频序列的第一个I帧。IDR帧需要另外两个NAL单元进行说明

序列参数集:里面存放这段视频的大小等信息

图像参数集: 里面存放宏块量化步长、熵编码方式等信息。

3)H. 264 数据流结构的5层

视频、图像、片、宏块、子宏块

但它的数据流结构和以往的不同,不是采用加文件头的形式进行封装。而是采用的是上述(2)的流结构方式。用每个NAL单元进行传送。


JPEG 压缩编码 - 收藏于 2009-11-06

一、JPEG算法概要

  JPEG(Joint Photographic Experts Group)是一个由ISO和IEC两个组织机构联合组成的一个专家组,负责制定静态的数字图像数据压缩编码标准,这个专家组开发的算法称为JPEG算法,并且成为国际上通用的标准,因此又称为JPEG标准。JPEG是一个适用范围很广的静态图像数据压缩标准,既可用于灰度图像又可用于彩色图像。

  JPEG专家组开发了两种基本的压缩算法,一种是采用以离散余弦变换(Discrete Cosine Transform,DCT)为基础的有损压缩算法,另一种是采用以预测技术为基础的无损压缩算法。使用有损压缩算法时,在压缩比为25:1的情况下,压缩后还原得到的图像与原始图像相比较,非图像专家难于找出它们之间的区别,因此得到了广泛的应用。例如,在VCD和DVD-Video电视图像压缩技术中,就使用JPEG的有损压缩算法来取消空间方向上的冗余数据。为了在保证图像质量的前提下进一步提高压缩比,近年来JPEG专家组正在制定JPEG2000标准,这个标准中将采用小波变换(Wavelet)算法。

  JPEG压缩是有损压缩,它利用了人的视角系统的特性,使用量化和无损压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。

压缩编码大致分成三个步骤:
1、使用正向离散余弦变换(Forward Discrete Cosine Transform,FDCT)把空间域表示的图变换成频率域表示的图。
2、使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的。
3、使用霍夫曼可变字长编码器对量化系数进行编码。

译码或者叫做解压缩的过程与压缩编码过程正好相反。

  JPEG算法与彩色空间无关,因此“RGB到YUV变换”和“YUV到RGB变换”不包含在JPEG算法中。JPEG算法处理的彩色图像是单独的彩色分量图像,因此它可以压缩来自不同彩色空间的数据,如RGB, YCbCr和CMYK。

二、JPEG算法的主要计算步骤
  JPEG压缩编码算法的主要计算步骤如下:
    (1)正向离散余弦变换(FDCT)。
    (2)量化(Quantization)。
    (3)Z字形编码(Zigzag Scan)。
    (4)使用差分脉冲编码调制(Differential Pulse Code Modulation,DPCM)对直流系数(DC)进行编码。
    (5)使用行程长度编码(Run-Length Encoding,RLE)对交流系数(AC)进行编码。
    (6)熵编码(Entropy Eoding)。

1、正向离散余弦变换
  下面对正向离散余弦变换(FDCT)变换作几点说明。
  (1)对每个单独的彩色图像分量,把整个分量图像分成若干个8×8的图像块,如图所示,并作为两维离散余弦变换DCT的输入。通过DCT变换,把能量集中在少数几个系数上。


  (2)DCT变换使用下式计算:

  它的逆变换使用下式计算:

上面两式中,
C(u),C(v) = (2)-1/2,当u, v = 0;
C(u),C(v) = 1,其他。
f(i, j)经DCT变换之后,F(0,0)是直流系数,其他为交流系数。

  (3)在计算两维的DCT变换时,可使用下面的计算式把两维的DCT变换变成一维的DCT变换:




2、量化
  量化是对经过FDCT变换后的频率系数进行量化。量化的目的是减小非“0”系数的幅度以及增加“0”值系数的数目。量化是图像质量下降的最主要原因。
  对于有损压缩算法,JPEG算法使用如下图所示的均匀量化器进行量化,量化步距是按照系数所在的位置和每种颜色分量的色调值来确定。因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表:亮度量化值和色差量化值。此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此图中的左上角的量化步距要比右下角的量化步距小。下面2个表中的数值对CCIR 601标准电视图像已经是最佳的。如果不使用这两种表,你也可以把自己的量化表替换它们。


亮度量化值表和色度量化值表


3、Z字形编排
  量化后的系数要重新编排,目的是为了增加连续的“0”系数的个数,就是“0”的游程长度,方法是按照Z字形的式样编排,如下图所示。这样就把一个8×8的矩阵变成一个1×64的矢量,频率较低的系数放在矢量的顶部。


量化DCT系数序号

0

1

5

6

14

15

27

25

2

4

7

13

16

26

29

42

3

8

12

17

25

30

41

43

9

11

18

24

31

40

44

53

10

19

23

32

39

45

52

54

20

22

33

38

46

51

55

60

21

34

37

47

50

56

59

61

35

36

48

49

57

58

62

63



4、直流系数的编码
  8×8图像块经过DCT变换之后得到的DC直流系数有两个特点,一是系数的数值比较大,二是相邻8×8图像块的DC系数值变化不大。根据这个特点,JPEG算法使用了差分脉冲调制编码(DPCM)技术,对相邻图像块之间量化DC系数的差值(Delta)进行编码。
Delta=DC(0,0)k-DC(0,0)k-1

5、 交流系数的编码
  量化AC系数的特点是1×64矢量中包含有许多“0”系数,并且许多“0”是连续的,因此使用非常简单和直观的游程长度编码(RLE)对它们进行编码。
  JPEG使用了1个字节的高4位来表示连续“0”的个数,而使用它的低4位来表示编码下一个非“0”系数所需要的位数,跟在它后面的是量化AC系数的数值。

6、熵编码
  使用熵编码还可以对DPCM编码后的直流DC系数和RLE编码后的交流AC系数作进一步的压缩。
  在JPEG有损压缩算法中,使用霍夫曼编码器来减少熵。使用霍夫曼编码器的理由是可以使用很简单的查表(Lookup Table)方法进行编码。压缩数据符号时,霍夫曼编码器对出现频度比较高的符号分配比较短的代码,而对出现频度较低的符号分配比较长的代码。这种可变长度的霍夫曼码表可以事先进行定义。

7、组成位数据流
  JPEG编码的最后一个步骤是把各种标记代码和编码后的图像数据组成一帧一帧的数据,这样做的目的是为了便于传输、存储和译码器进行译码,这样的组织的数据通常称为JPEG位数据流(JPEG bitstream)。

const 指针 - 收藏于 2009-11-06

大致说来其可分为三种情况: const修饰指针,const修饰引用,const修饰指针的引用.
1.const修饰指针
    const修饰指针又可分为三种情况:
      const修饰指针本身
      const修饰指针所指的变量(或对象)
      const修饰指针本身和指针所指的变量(或对象)
(1).const修饰指针本身
    这种情形下,指针本身为常量,不可改变,任何修改指针本身的行为都是非法的.例如:
const int a = 1;
const int b = 2;
int i = 3;
int j = 4;
int* const pi = &i; //ok, pi的类型为int* const , &i的类型为int* const
int* const pi = &a; //error, pi的类型为int* const, &a的类型为const int* const
pi = &j; //error, 指针是常量,不可变
*pi = a; //ok, *pi并没有限定是常量 ,可变
    由此看出,pi是常量,常量在初始化和赋值时,类型必须严格一致。也就是
const修饰指针本身时,=号两边的变量类型必须严格一致,否则不能匹配。
(2).const修饰指针指向的变量(或对象)
    此种情形下,通过间接引用指针不可改变变量的值,假设指针为p,则*p不可变,下面以例子说明:
const int *pi = &a;
//or int const *pi = &a;
//两者毫无二致,不过BS喜欢前者,这也没什么技术上的优劣之分,也就是说const int与int const可以互换.建议大家熟
//悉这两种形式,为简洁便,以后统统用前者.
//ok, const并不修饰指针本身,pi对赋值类型
//没要求 ,但pi是int*型指针,所以所赋的必须是个地址值。
const int *pi = &i; //ok ,pi可赋值常量的地址,又可赋变量的地址
const int *pi1 = &a;
const int *pi = pi1; //ok
*pi = j; //error,*pi 不可变,不能更改指针的间接引用形式
pi = &j; //ok,pi可变
pi = &b; //ok,pi可变
pi++; //ok
--pi; //ok
     由此可见,pi是变量,可以赋值常量和变量的值,正如一个整型变量可赋整型数和整型变量一样.const修饰的不是指针本身,而是其间接引用,=号两边的类型不必严格匹配,如:const int* pi = &a;中,pi的类型为int*,而&a的类型为const int* const,只要其中含有int* 就可以。又如:const int *pi = &j;中,pi的类型为int*,而&j的类型为int* const,它向pi赋值并无大碍。
(3)const修饰指针本身和指针所指的变量(或对象)
     设有指针p,此种情形下,p和*p都不可变.举例如下:
const int* const pi = &a;
//or int const* const pi = &a;
//将const pi看作一体,就与(2)所述相同,只是要求pi必须为const,正如上所说,=号两边的类型不必严格匹配,但必须含有int*, &a的类型为const int* const,含有int*, 所以可以赋值。
const int* const pi = &i; //ok, &i类型为int* const,含有int*, 可赋值。
const int *pi1 = &j;
const int *const pi = pi1; //ok,   pi1类型为int*
pi = &b; //error, pi不可变
pi = &j; //error, pi不可变
*pi = b; //error, *pi不可变
*pi = j; //error, *pi不可变
pi++; //error ,pi不可变
++i; //ok, =号右边的变量(或对象)与所修饰的变量无关
a--; //error, a为const
     这种情况,跟以上两种情形有联系。对const int* const pi = &a;我们可以这样看:const int*( const pi )= &a;(仅仅是表达需要),将const pi看作一体,就与上述分类(2)符合。只要含有int*便可.

2.const修饰引用
    这种情况比较简单,没有象修饰指针那样繁复,因为引用和引用对象是一体的,所以引用被const修饰只有一种类型。
const修饰引用,引用本身不可变,但引用的变量(或对象)可以改变.例如:
const int& ri = a; //or int const & ri = a; ok, ri 本身是常量,引用不区分类型
const int& ri = i; //ok,引用不区分类型
ri++; //error, ri为常量,不可变
i++; //ok,=右边的变量与引用无关
ri=b; //error, ri为常量
i=j; //ok,=右边的变量与引用无关
int & const ri = i; //error,不存在这种形式,没有意义

3.const修饰指针的引用
    引用只是个别名,这里与修饰指针类似,又分为三种情况:
(1)
     先给个例子:
const int *pi = &a;
const int *&ri = pi;
//or int const *&ri = pi;
    引用是引用对象的别名,正因为如此,ri是pi的别名,所以ri的类型必须与pi完全一致才行。这里pi的类型为int*,ri的类型也为int*,赋值可行。若const int *&ri = &a;正不正确?分析一下就知晓。ri类型为int*,&a的类型则为const int* const不匹配。
const int *&ri = &i; //error,类型不匹配,一为int*,一为int* const
ri = &a; //ok
ri = &i; //ok
const int *pi1=&a;
const int *pi2=&i;
ri = pi1; //ok
ri = pi2; //ok
*ri = i; //error
*ri = a; //error
     注意这与1-(2)的区别.
(2)
     用例子说明:
int *const &ri = &i;
    去掉ri左边的&号,则为int *const ri,因为ri是别名,故ri的类型应与赋值的数类型一致,ri类型为int *const,&i为int *const,可以这么做.
int *const &ri = pi; //error,类型不合,一为int *const ,一为int *
int *const &ri = &a; //error,类型不合,一为int *const,一为const int* const
(*ri)++; //ok
i++; //ok
ri = &i; //error
   这种情况下,ri为常量,不可更改.
(3)
     用例子说明:
const int* pi = &j;
const int* const &ri = pi; //or int const * const &ri = pi;ok
const int* const &ri = &i; //ok
      ri是pi的别名,pi的类型应与ri一致。拿掉&,得const int* const ri ,把const   ri看作一体,很容易得出ri的类型信息,就象前面2-(3)所讨论的一样,可以得到赋给ri的只要含有类型int* 即可。pi的类型为int*,&i的类型为int* const ,可以这么做.
const int * const &ri = &a; //ok
ri++;   //error
*ri = 6;   //error

Makefile 文件 - 收藏于 2009-11-06

一、Makefile的规则

在讲述这个Makefile之前,还是让我们先来粗略地看一看Makefile的规则。

     target ... : prerequisites ...
             command
             ...
             ...

     target也就是一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label),对于标签这种特性,在后续的“伪目标”章节中会有叙述。

     prerequisites就是,要生成那个target所需要的文件或是目标。

     command也就是make需要执行的命令。(任意的Shell命令)

这是一个文件的依赖关系,也就是说,target这一个或多个的目标文件依赖于prerequisites中的文件,其生成规则定义在command中。说白一点就是说,prerequisites中如果有一个以上的文件比target文件要新的话,command所定义的命令就会被执行。这就是Makefile的规则。也就是Makefile中最核心的内容。

说到底,Makefile的东西就是这样一点,好像我的这篇文档也该结束了。呵呵。还不尽然,这是Makefile的主线和核心,但要写好一个Makefile还不够,我会以后面一点一点地结合我的工作经验给你慢慢到来。


二、一个示例

正如前面所说的,如果一个工程有3个头文件,和8个C文件,我们为了完成前面所述的那三个规则,我们的Makefile应该是下面的这个样子的。

     edit : main.o kbd.o command.o display.o \
            insert.o search.o files.o utils.o
             cc -o edit main.o kbd.o command.o display.o \
                        insert.o search.o files.o utils.o

     main.o : main.c defs.h
             cc -c main.c
     kbd.o : kbd.c defs.h command.h
             cc -c kbd.c
     command.o : command.c defs.h command.h
             cc -c command.c
     display.o : display.c defs.h buffer.h
             cc -c display.c
     insert.o : insert.c defs.h buffer.h
             cc -c insert.c
     search.o : search.c defs.h buffer.h
             cc -c search.c
     files.o : files.c defs.h buffer.h command.h
             cc -c files.c
     utils.o : utils.c defs.h
             cc -c utils.c
     clean :
             rm edit main.o kbd.o command.o display.o \
                insert.o search.o files.o utils.o

反斜杠(\)是换行符的意思。这样比较便于Makefile的易读。我们可以把这个内容保存在文件为“Makefile”或“makefile”的文件中,然后在该目录下直接输入命令“make”就可以生成执行文件edit。如果要删除执行文件和所有的中间目标文件,那么,只要简单地执行一下“make clean”就可以了。

在这个makefile中,目标文件(target)包含:执行文件edit和中间目标文件(*.o),依赖文件(prerequisites)就是冒号后面的那些 .c 文件和 .h文件。每一个 .o 文件都有一组依赖文件,而这些 .o 文件又是执行文件 edit 的依赖文件。依赖关系的实质上就是说明了目标文件是由哪些文件生成的,换言之,目标文件是哪些文件更新的。

在定义好依赖关系后,后续的那一行定义了如何生成目标文件的操作系统命令,一定要以一个Tab键作为开头。记住,make并不管命令是怎么工作的,他只管执行所定义的命令。make会比较targets文件和prerequisites文件的修改日期,如果prerequisites文件的日期要比targets文件的日期要新,或者target不存在的话,那么,make就会执行后续定义的命令。

这里要说明一点的是,clean不是一个文件,它只不过是一个动作名字,有点像C语言中的lable一样,其冒号后什么也没有,那么,make就不会自动去找文件的依赖性,也就不会自动执行其后所定义的命令。要执行其后的命令,就要在make命令后明显得指出这个lable的名字。这样的方法非常有用,我们可以在一个makefile中定义不用的编译或是和编译无关的命令,比如程序的打包,程序的备份,等等

被侮辱的感觉 - 收藏于 2009-11-02

今天去二面,报的是售前的技术支持岗位。

拿到一个题目,一个产品的说明书,5分钟思考时间,把这个产品卖出去。看到这个题目,感觉一种被侮辱的感觉。原来所谓的技术支持就是这样的。。。


调整心态 - 收藏于 2009-11-01

公司一个接一个,这几天心态弄的很浮躁。天天跑宣讲,好累。最累的一天跑了两趟软件学院。

自己应该调整战略了,公司宣讲应该有所选择,而且这个月要考公务员,时间很紧张,不能浪费时间。

只有中兴来再去,其他的公司都不考虑了。等12月份,大不了去“北漂”,可以不要房子,不要户口。反正会有工作的。

放开去搏,不管结果。。。 但也要有目的的去搏,不想去的城市就不要去浪费时间了。


郁闷~,被华为刷了 - 收藏于 2009-10-28

四面下来,一直感觉还可以。今天早上10点同学陆续收到了offer。

我却没有,知道被刷的感觉好难受,为什么会被刷?简历问题,表达问题,冲到脑子里的是一堆的自我否定。

现在好点了,基本接受了这个现实。找工作机会与运气同在,没必要为了个破华为,否定自己。

感谢那么多好朋友的安慰和关心,有你们在,还害怕什么呢,应该越挫越勇


如何防止头文件重复包含 - 收藏于 2009-10-27

预编译指令符, 一般用大写字母宏,为了避免重复可以_DATA_H_H_H_ 多几个H也没关系

# ifndef _DATA_H_
# define _DATA_H_

int m_data(int a);


# endif

今天考到这个题目了,没写出来,突然意识到做软件的人,编程习惯真好。业余的我,太外行了。


猴子选大王 单循环链表 c语言实现 - 收藏于 2009-10-27

转的别人的,刚才笔试没答出来。

//原题:略。

//实现目标:分别列出出列的猴子,然后得出最后的大王,(我认为没必要猴子数m要大于n!..所以没有这方面的提示~~)

//问题分析:通过对“猴子选大王”问题的分析,由于本题目的数据元素的个数不可预知,所以使用链表。链表是动态的,可以在需要的时候增长和减少其长度,而数组是在编译时分派内存的,事业其大小是不可改变的,而且会出现内存浪费的情况。我认为单循环链表能较好,在建立循环链表时,因为链表的大小由输入决定,因此与匹配的结点数也是变化的,所以要进行动态内存分配。

//测试用例:m=10;n=4,最后求出成为猴王的猴子号:结果:大王是5号:(太搞笑了,大家都用这个用例,第五号可真幸运!~)

//不健全的地方:1.没有对输入为字母,非正数(例如0)进行出错判断,结果大王会是第一号猴子。(我觉得也可以不改啊~~没有“正常的”猴子,下一个真正的猴子当然是大王!!!)2.如果正数但是非整数,输出为……(我没试过=——=!)


//猴子选大王源代码:

#include"stdio.h"//用双引比尖括号好的原因是可以在本环境外部查找这个头文件滴..
#include"stdlib.h"

typedef struct Node
{
   int data;
   struct Node *next;
}Node,*LinkList;

void CreatLinkList(LinkList *L,int m)// 创建循环链表 m为猴子总数
{
   Node *p, *q;

   int i; (*L) = (LinkList)malloc(sizeof(Node));
   if ((*L) == NULL)//这里是什么意思?
   {
        printf("Memory allocation failed,goodbye~~");
        exit(1);
     }
    p = (*L);
   p->data = 1;//为什么错误数据会返回“第一号猴子”的值?是这里初始化的么?(如果是可以换成0的说~)
    for (i = 2; i <= m; i++)
     {
        q = (LinkList)malloc(sizeof(Node));
        if (q == NULL)
          {
             printf("Mmory allocation failed,goodbye~~");
           exit(1);
           }
       q->data = i;
       p->next = q;
       p = q;
      }
   p->next =(*L);
}

void King(LinkList *L, int n, int m)
{
   Node *p, *q;
   int k;
   int j = 1; p = (*L);
   
   for (; m > 1; m--)
     {
       k = 1;
        while (k != n)
          {
             p = p->next;
            k++;
          }
       printf("第%d个出队列的是%d号猴子,\n", j++, p->data);
        p->data = p->next->data;
       q = p->next;
      p->next = p->next->next;
        free(q);
    }
   printf("最终结果:大王是第%d号猴子。\n",p->data);
}

int main(void)
{
   int m, n;
LinkList L; printf("请输入猴子总数m,和数到那个猴子出队n,(逗号隔开):");
scanf("%d%d",&m,&n);//在这后面加判断、提示部分。for循环判断..
CreatLinkList(&L, m);
   King(&L, n, m);

   sistem("pause");
    return 0;
}


东软笔试题目 2010济南区 - 收藏于 2009-10-27

前面的选择填空比较简单,细心一点就可以,最后三个大题,很能体现个人水平。

我都没做出来

1)定义一个父类,定义一个子类。然后让写出子类的赋值函数;

2)猴子选大王的程序,猴子个数m,数数设为n;

3)如果当前是2009年10月27日20时40分59秒,输出下一秒的时间,写一个函数,输入参数为年月日时分秒时间


华为面试题目 2010济南区 - 收藏于 2009-10-26

面我的问题:

1.       2级交换机,3级交换机的区别;

2.       单向链表a,链表b,结点交叉存到链表c中;

3.       写一个函数,在一个字符串中找出数字,字母,字母一定要大写输出;

4.       中层领导问的,我觉得反应还不错

6个数,没个数中不管几位数必须有6,6个数的和为100可能吗?

一面:写程序,链表的 字符串查找的

二面:小组面试,感觉表现的刚刚好,不多话,也不少话,记录笔记清楚有条理,善于倾听讲话

三面: 测试,乐观积极答就ok

四面:中层面试,感觉像是压力面,说这方面不行,那方面不行。感觉顶住压力面了吧,狠劲说自己可以。

不管结果怎么样,反正是尽力了。如果说没有尽全力的话,就是在链表那个程序,写的太仓促了。

担心:进了四面也可能会不通过,今天一天30个人都过了四面,每轮刷的都不多,感觉不正常似的,等结果中。。。

开心:在那等面试的时候,好几个不认识的人说我穿正装漂亮,师弟和宿舍人说特像王珞丹,嘿嘿,期待工作的自己~~


迅雷网络 2010济南地区 一笔试题 - 收藏于 2009-10-24

1.

int a=3;

printf("%d\n",10/a*a/a*a); 运行结果是9

2.读一段程序:

#include <stdio.h>

int func(int x)

{

       int countx=0;

       while(x){

       countx++;

       x=x&(x-1); //   按位与运算符

       }

       return countx;

}

int main()

{

       printf("%d\n",func(2010));

       return 0;

}

运行结果是8

3.友元函数怎么理解?

友函数可以调用类的私有成员和私有变量

#include <iostream>

using namespace std;

class A

{

public:

       A();

       ~A();

       int getint(){return m_a;}

       /*友函数放在类声明外面,vs 2003编译错误,可能编译器BUG*/

       friend void callset(A &a, int b)//定义友函数

       {

              a.m_a = 2;//调用私有成员

              a.set(3);//调用私有函数

       }

private:

       void set(int a);

       int m_a;

};

4.int main()

{

       int i=0xFE78DA45;

       int k=0XAC3189B2;

       printf("%x\n",i^k);     异或运算符

       return 0;

}  

输出是:7

5. A*pa=new pa[10];

delete pa;

类A的构造函数和析构函数分别执行了几次?

A: 1,1 B 10 .1 10 D. 10 1

6.全局对象,其析构函数的执行时机是?

A main函数退出之前

B.main函数退出之后,程序退出之前

C.没机会得到执行

D.既可能main函数退出之前,又可能main函数退出之后

7.关于模板代码,哪些正确?

A template< class T> void print_max(T,T)

B template< typename T> void print_max(T,T)

C void template< class T> print_max(T,T)

D void template< typename T> print_max(T,T)


转载 二叉树的程序 - 收藏于 2009-10-24

#include <stdio.h>
#include <iostream>
#include <queue>
#include <stack>
#include <malloc.h>
#define SIZE 100

using namespace std;

typedef struct      BiTNode          //定义二叉树节点结构
{
char      data;                         //数据域
struct BiTNode *lchild,*rchild; //左右孩子指针域
}BiTNode,*BiTree;

int visit(BiTree t);
void CreateBiTree(BiTree &T);        //生成一个二叉树
void PreOrder(BiTree);              //递归先序遍历二叉树
void InOrder(BiTree);               //递归中序遍历二叉树
void PostOrder(BiTree);             //递归后序遍历二叉树
void InOrderTraverse(BiTree T); //非递归中序遍历二叉树
void PreOrder_Nonrecursive(BiTree T);//非递归先序遍历二叉树
void LeverTraverse(BiTree T);//非递归层序遍历二叉树


//主函数
void main()
{
BiTree T;      
char j;
int flag=1;
//---------------------程序解说-----------------------
printf("本程序实现二叉树的操作。\n");
printf("叶子结点以空格表示。\n");
printf("可以进行建立二叉树,递归先序、中序、后序遍历,非递归先序、中序遍历及非递归层序遍历等操作。\n");
//----------------------------------------------------
printf("\n");
printf("请建立二叉树。\n");
printf("建树将以三个空格后回车结束。\n");
printf("例如:1 2 3 4 5 6       (回车)\n"); CreateBiTree(T);           //初始化队列
getchar();
while(flag)
{
printf("\n");
printf("请选择: \n");
printf("1.递归先序遍历\n");
printf("2.递归中序遍历\n");
printf("3.递归后序遍历\n");
printf("4.非递归中序遍历\n");
printf("5.非递归先序遍历\n");
printf("6.非递归层序遍历\n");
printf("0.退出程序\n");
scanf(" %c",&j);
switch(j)
{
case '1':if(T)
{
printf("递归先序遍历二叉树:");
PreOrder(T);
printf("\n");
}
else printf("二叉树为空!\n");
break;
case '2':if(T)
{
printf("递归中序遍历二叉树:");
InOrder(T);
printf("\n");
}
else printf("二叉树为空!\n");
break;
case '3':if(T)
{
printf("递归后序遍历二叉树:");
PostOrder(T);
printf("\n");
}
else printf("二叉树为空!\n");
break;
case '4':if(T)
{
printf("非递归中序遍历二叉树:");
InOrderTraverse(T);
printf("\n");
}
else printf("二叉树为空!\n");
break;
case '5':if(T)
{
printf("非递归先序遍历二叉树:");
PreOrder_Nonrecursive(T);
printf("\n");
}
else printf("二叉树为空!\n");
break;
case '6':if(T)
{
printf("非递归层序遍历二叉树:");
LeverTraverse(T);
printf("\n");
}
else printf("二叉树为空!\n");
break;
default:flag=0;printf("程序运行结束,按任意键退出!\n");
}
}

}

//建立二叉树
void CreateBiTree(BiTree &T)
{
char ch;
scanf("%c",&ch);        //读入一个字符  
if(ch==' ') T=NULL;
else
{
T=(BiTNode *)malloc(sizeof(BiTNode)); //生成一个新结点
T->data=ch;
CreateBiTree(T->lchild);      //生成左子树
CreateBiTree(T->rchild);      //生成右子树
}
}

//先序遍历的递归
void PreOrder(BiTree T)
{
if(T)
{
printf("%c ",T->data);      //访问结点
PreOrder(T->lchild);       //遍历左子树
PreOrder(T->rchild);       //遍历右子树
}
}

//中序遍历的递归
void InOrder(BiTree T)
{
if(T)
{
InOrder(T->lchild);       //遍历左子树
printf("%c ",T->data); //访问结点
InOrder(T->rchild);       //遍历右子树
}
}

//后序遍历的递归
void PostOrder(BiTree T)
{
if(T)
{
PostOrder(T->lchild); //遍历左子树
PostOrder(T->rchild); //访问结点
printf("%c ",T->data); //遍历右子树
}
}

//非递归中序遍历  
void InOrderTraverse(BiTree T)
{
stack<BiTree> S;
BiTree p;
S.push(T);//跟指针进栈
while(!S.empty())
{
p=new BiTNode;
while((p=S.top())&&p)
S.push(p->lchild);//向左走到尽头
S.pop(); //空指针退栈
if(!S.empty())
{
p=S.top();
S.pop();
cout<<p->data<<"      ";
S.push(p->rchild);
}
}

}

//先序遍历的非递归
void PreOrder_Nonrecursive(BiTree T)
{
stack<BiTree> S;
BiTree p;

S.push(T);//根指针进栈
while(!S.empty())//栈空时结束
{
while((p=S.top())&&p)
{
cout<<p->data<<"      ";
S.push(p->lchild);
}//向左走到尽头
S.pop();//弹出堆栈
if(!S.empty())
{
p=S.top();
S.pop();
S.push(p->rchild);//向右走一步
}
}
}


void LeverTraverse(BiTree T)
{//非递归层次遍历
queue <BiTree> Q;
BiTree p;
p = T;
if(visit(p)==1)
Q.push(p);
while(!Q.empty())
{
p = Q.front();
Q.pop();
if(visit(p->lchild) == 1)
Q.push(p->lchild);
if(visit(p->rchild) == 1)
Q.push(p->rchild);
}
}

int visit(BiTree T)
{
if(T)
{
printf("%c ",T->data);
return 1;
}
else
return 0;

国考职位出来了 - 收藏于 2009-10-13

国考职位出来了,认真贯彻了十七届四中全会的精神,70%的职位要求基层工作经验;同时,大家一向看好的国家知识产权局,大大缩减了招录的人数。对于我们专业都是很不利的因素。

可能真的是“天将降大任于斯人也,必先苦其心智,劳其筋骨,饿其体肤”,越搓越勇,最终才能凤凰涅槃。

畅想一下,工作之后的美好生活,还是挺开心的事情。什么都不管,只管努力就对了。坚持 还有两个月。


搜狐畅游笔试题目 程序专员 济南 - 收藏于 2009-10-11

一、选择题:

1)条件运算符(n)? (c++):(c--)

A: n=1   B: n=0   C:n!=0   D: n!=1

2)for (i=0,k=-1;k=1;i++,k++)

这个循环出现的问题,能否循环

3)int a [3][2]={3,2,1}

求 a[0][0]/a[0][1]/a[1][0]

4) 5个乱序的数找到中间数,至少需要比较多少次? 7个乱序的数找到中间数,至少需要比较多少次?

5)c++ 不允许重载的运算符有:

6)还有一个写SQL 语句的;

二、 简答题

1. 简述TCP/IP 建立连接的过程

2. 好像是多进程的什么题目,一点都不会

三、写程序题

输入字符串,倒序输出 (c++实现)

四、程序题填空

前面一部分介绍,然后是三页的程序,中间空7个空,需要填写

认真看,不难;

PS:心里感觉,晚上给哥哥打电话哭了,不全是因为笔试找工作,而是这段时间的感受,无助的迷茫,应该做的事情很多,可自己差很多,各方面感觉力不能及,能力不够。或许把失去的东西理解为不适合自己,这是唯一能让我好受一点的慰藉,可心里还不认输,觉得努力就能做到这些。


TCP/IP 建立连接 断开连接过程 - 收藏于 2009-10-11

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

1)是第二次握手,flags位上为12,二进制是0001 0010,即表示有syn和ack.

2)是第一次握手,flags位上为02,二进制是0000 0010,即表示有syn没有ack。

3)是第三次握手,flags位上为10,二进制是0001 0000,即表示有ack没有syn。

该连接访问的是80端口,是为HTTP(HyperText Transport Protocol,超文本传输协议)开放的,

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据。

tcp-断开连接:

主要部分,四次握手:

断开连接其实从我的角度看不区分客户端和服务器端,任何一方都可以调用close(or closesocket)之类
的函数开始主动终止一个连接。这里先暂时说正常情况。当调用close函数断开一个连接时,主动断开的
一方发送FIN(finish报文给对方。有了之前的经验,我想你应该明白我说的FIN报文时什么东西。也就是
一个设置了FIN标志位的报文段。FIN报文也可能附加用户数据,如果这一方还有数据要发送时,将数据附
加到这个FIN报文时完全正常的。之后你会看到,这种附加报文还会有很多,例如ACK报文。我们所要把握
的原则是,TCP肯定会力所能及地达到最大效率,所以你能够想到的优化方法,我想TCP都会想到。

当被动关闭的一方收到FIN报文时,它会发送ACK确认报文(对于ACK这个东西你应该很熟悉了)。这里有个
东西要注意,因为TCP是双工的,也就是说,你可以想象一对TCP连接上有两条数据通路。当发送FIN报文
时,意思是说,发送FIN的一端就不能发送数据,也就是关闭了其中一条数据通路。被动关闭的一端发送
了ACK后,应用层通常就会检测到这个连接即将断开,然后被动断开的应用层调用close关闭连接。

我可以告诉你,一旦当你调用close(or closesocket),这一端就会发送FIN报文。也就是说,现在被动
关闭的一端也发送FIN给主动关闭端。有时候,被动关闭端会将ACK和FIN两个报文合在一起发送。主动
关闭端收到FIN后也发送ACK,然后整个连接关闭(事实上还没完全关闭,只是关闭需要交换的报文发送
完毕),四次握手完成。如你所见,因为被动关闭端可能会将ACK和FIN合到一起发送,所以这也算不上
严格的四次握手---四个报文段。


得申论者得天下 - 收藏于 2009-09-30

申论方面,我觉得还是按照常规思路写较好,这些思路辅导书上已经总结的不错了(如党史出版社的书),把握好思路,然后将常用的句子背下来,用活,也很有效,还有就是要控制好篇幅,我当时是将申论卷子上给的答题空格差不多刚好写满,没少写,也没超出,呵呵,心中要对篇幅有数,再就是要练写字的速度,既要工整,又要快,所以平时要有意识的专门练这一点。申论是公务员考试拉分的重点,行测大家的分数都差不了多少,关键是申论,有人说,得申论者得天下,呵呵,这挺有道理的,所以要重视它,然后注意上述技巧,再多练,应该会有效果的,呵呵~

浏览招聘信息,心情很差 - 收藏于 2009-09-24

自立 自强,可不会有人真的能做到各方面都能自立、自强。

看着那么多的招聘信息,我突然没了应聘的勇气,自己都找不到公司会要我的原因,拿什么说服别人呢。

有的时候感觉前途还是挺光明的,可有的时候又觉得好迷茫。

该往哪走呢? 有点无助,希望这段时间过得快点,快点结束这个迷茫的生活;也希望它过的慢点,让我有更多的时间准备它,接受它,克服它。


第一次参加无领导小组讨论 - 收藏于 2009-09-22

1)无领导小组讨论定义:      

   外企、大公司常选用的一种面试筛选方式。无领导小组讨论,在讨论时应尽量展示你的组织能力\领导意识\和时间管理能力。

2)摘录别人的一句套话:

       "由于时间比较紧张,我们先把时间分配一下再开始讨论吧,给大家两分钟的时间看资料并思考问题的答案,每人一分钟针对问题发言,讨论五分钟,留一分钟作总结并发言,剩下的两分钟作为弹性时间,谁有手表,麻烦帮忙记下时间,我们马上开始"他很流利的说完了这段话,然后就开始看资料了,我觉得他这样做是对的,开始就抓住先机,并把自己的组织能力和时间管理能力体现出来。

3)自身感受:

我分到的那个面试讨论小组,大多数人都比较内向,我心里自我感觉良好,放的有点太开,注意的东西太少了。感触比较深的3点:1是思路要开阔,要多角度,多思维;2是条理性要,这个我能做到;3是总结、协调、领导能力要积极体现出来。面试还是领教了几个牛人的,口才流利,思路开阔,沉着冷静。

回来上网看了看前人的经验和教训,结合自己的感受总结如下:

     1. 其他人做自我介绍时,要尽量多的记录他们的信息,写在草稿纸上;

    2.参与无领导小组讨论一定要抓住先机,做最先发言的那个人.办法比较简单,首先选择一个比较好的位置,坐在大家的最前面或者是最后面,我感觉坐中间比较被动.其次,主考官一说开始你就马上接话,并且不要停,因为这个时候很有可能有人会跟你抢这个优势,如果是这样的话,你千万不要停,别人会停的,等他停了你就献给他一个蒙娜利莎般的微笑,然后继续分配时间,建议采用上面那个发言模式。

   3. 辩论开始后,不要抢着发言,第一个说的人一般都比较紧张,因此不可能说得清楚和全面,记住,想得高分就是要清楚、有层次、有深度。我就第一说的,说的就不全面。

   4.每个人发言完之后你一定要稍微大要点总结一下,表现出你的抽象能力。当然最后肯定要对大家的观点进行总结,总结时注意条理要清晰.:“总结目前讨论的3点,1是。。2是。。3是。。”,并且时不时询问一下别人的意见。

   5.当主持提醒还有10分钟就要结束了时,切记这时抢着说一句:“现在时间不多了。大家应该统一下意见!”然后把自己刚才说的结论再重复一下。

   6.讨论过程中,不要和个别人私聊。注意团队,照顾发言少的同学。第一次参加参加没有注意到这个

    7.一定要戴一块手表,最后是有秒针的那种,讨论的时间限制很强,任何人都不允许超时的,一个人浪费的是整队人的时间. 呜呜~ ,我没有手表。


    8.讨论到最后一定要有一个一致的观点,并跟大家说清楚,总结陈词之后就不要发表不同的意见了,最后得到的一致观点就是最终大家都认同的结果。


    9.整个过程都不要太紧张,如果你安排得妥当,一切都在你的掌控之中。

   10.如果是自己总结,提及感谢领导、时间所限、求同存异、主观客观、希望祝愿之类。

初出茅庐,有待提升!!

PS: 应该提前一段有特色的自我介绍,让大家能记住你。



黑皮肤美眉穿衣小贴士 - 收藏于 2009-09-20

穿白色,不要是漂白的那种,暖色的比较好;

穿黑色或深蓝色,要穿颜色很纯正的那种,太浊的显得脏。

穿着黑外套或者黑大衣时,应注意细节的点缀,比如露出白色衬衣领或者红色丝巾等,来提亮脸色。

晒黑的皮肤给人一种天生的运动感,最适宜搭配运动风格的休闲装。诸如一字领针织衫、尼龙外套、彩条T恤、连帽背心等等,都是黑肤美眉的好拍档。当然除此而外,还少不了条纹短袜、帆布运动鞋、牛仔休闲帽、尼龙双肩背包等配饰。

多数人都以为黑皮肤和白色服装是绝缘的,其实不然,帅气健康的黑肤美眉穿上白色服饰更能显出与众不同的个性风采。简单的白色短袖T恤加上蓝色翻边牛仔裤,平淡中穿出洒脱与自信;若以迷彩色上衣配穿白色七分裤,诠释的又是一种甜美与清纯。

黑皮肤穿红色也会十分好看,但应注意不可大面积使用。一件红色背心、一双红色短袜,或者一枚红色发卡、一条点缀红色石榴石的项链,往往能起到画龙点睛、出奇制胜的效果。

黑肤美眉自然流露出来的活泼好动,更适合穿颜色比较鲜明的衣服,比如桃红、鲜绿、湖蓝等纯粹色彩的衣服都能让黑肤美眉看上去更加健康、生动。

  谁说浅蓝色不可以成为黑肤美眉衣柜里的新宠,很有质感的浅蓝色风衣内穿上一件紧身横条连衣短裙,一定能把黑肤美眉的俏皮和成熟发挥的淋漓尽致,如此穿着,不要再担心自己的黑色皮肤啦,尽管自信的笑吧。

  叠穿现在很流行,任何时尚美眉都不会错过这样的穿着吧,当然只要黑肤美眉搭配得当,今年的流行天后非你莫数,上身是鲜艳夸张的黄色外套一件明快的嫩绿色,这样黄色就不会显的很扎眼,而下身再穿一条动感十足的迷彩短裙,好像树枝上的小鸟,谁还会在意你的黑色皮肤呢

永不落伍的图案是美眉的最爱,可是什么样的图案穿起来才适合黑肤美眉可是一项学问,一般来说,大面积的亮色印花比较适合黑肤美眉,而细碎的素色印花就不要考虑了。

  色彩搭配鲜明的宽条衣服也十分适合黑肤美眉,质地柔软的针织衫露出性感迷人的锁骨,穿上一条紧身的米色长裤,走在秋日的街头,倘若阳光明媚,再带上一款自己钟爱的太阳镜,那份惬意散发着黑肤美眉特有的迷人味道。

  惹人喜爱的浅粉色既然不能穿在上身,那么黑肤女孩就尝试着穿在下身吧,再搭配一件可爱夸张的圆点针织衫,让你像糖果般可爱,叫人多禁不住看一眼,和皮肤白皙的亲密女友去逛街吧,你再不会因为皮肤黑而不敢和女友并排走了

黑肤美眉不要因为平时的休闲装是随意穿着,而就不注意服装的款式和颜色的搭配那可是大忌,一般来说运动式或者休闲式的衣服比较适合黑肤美眉。

  粉色和黄色的叠穿会把人的视线拉到黄色的部分,因此他人就会忽略黑肤美眉不太适合粉色这一点,再配上米色的七分裤,休闲混搭时尚又衬肤色。

  胸前大大的数字会让黑肤女孩看起来十分有运动感,而宽宽的抽带领子又不失时尚和性感,亮丽的颜色搭配一条普通的浅色仔裤,谁还在为黑色的皮肤发愁呢,让人羡慕还来不急呢


简历投递情况 - 收藏于 2009-09-18

重庆移动:     密码 cjycjy1013

中兴 cjy2020 密码 101301


要做的事情好多,却不知所措 - 收藏于 2009-09-11

公务员考试准备,专业课复习

主题就是这两个,可心里好乱,有点不知所措。可能是目的性不强,才会陷入这种状态。

必须理个思路出来,想办法安排好这段时间!!


Tobbi公司的eyetracking 技术 被苹果公司收购 - 收藏于 2009-09-08

眼球跟踪仪,是产品经理进行用户体验研究的利器,有助于对网络用户交互行为深层次的挖掘。苹果收购Eye Tracking技术,是否预示着一个令人期待的新产品、新体验?

看上去苹果又要有出伟大产品的计划了,他们刚刚收购了一家名叫Tobii Technology的斯德哥尔摩公司,交易价格2150万美元.

Tobii主要拥有一个眼球跟踪器的技术,可以嵌入设备中观察用户在应用程序和网站上的视觉焦点,苹果可能会将这一技术加入其消费电子产品中,帮助用户用更简单的方式来读取屏幕上的信息,包括台式机,笔记本甚至是iPhone手机都有可能因此而受益.

想像一下,某一天您的电脑不需要手来操作,远远地扫视一下,或者眨一下眼就可以让电脑完成你想要的工作.

来源:http://news.weiphone.com/news/2009-05-16/pingguoshougouyanqiugenzongxitongjishufamingshangTobii_201191.shtml#zoom


勇敢的心 Braveheart - 收藏于 2009-09-05

华莱士:苏格兰民族历史上最具感染力的战士

Every man dies     每个人都会死

Not every man really lives    并不是每个人活着都有意义


电信应聘情况 - 收藏于 2009-08-31

tongtong 19:34:35
我在电信
金玉 19:35:02
电信 那也很好 在电信我们专业主要做什么?
tongtong 19:35:59
据说要搞专业,可是我们现在都在基层实习,将来具体搞什么我也不知道呢
tongtong 19:36:14
怎么,你想应聘联通啊
金玉 19:36:35
我想先打听一下
金玉 19:36:49
基层实习在做什么?
金玉 19:37:11
他们招聘时 要求我们什么知识啊
tongtong 19:38:45
目前我们就是在看大门
tongtong 19:39:06
联通电信移动考得都不太一样
金玉 19:39:32
呵呵 轮岗吗   师姐的电信考什么?
tongtong 19:39:34
你要应聘是山东省的运营商么
tongtong 19:39:57
电信笔试是专业题
tongtong 19:40:12
应该就是通信方面的东西
tongtong 19:40:30
挺基础的内容,可是因为学过好久了,当时印象很模糊了
金玉 19:40:41
恩 现在还没人招人 我先打听一下 不要什么都不知道
tongtong 19:40:45
你可以提前看看,就是些概念性的东西
金玉 19:41:03
恩 通信原理?
tongtong 19:41:05
面试是招专业招聘公司进行的
tongtong 19:41:13
半结构化面试
tongtong 19:42:16
大部分是
tongtong 19:42:21
但也有别的
tongtong 19:42:40
好像还有个电路题
金玉 19:42:50
恩 师姐真好   要实习多久?
tongtong 19:43:07
不过到运营商,你要有个思想准备,收入会比较低
tongtong 19:43:38
3个月
tongtong 19:43:44
见习期一年
金玉 19:43:43
有多低? 大家都说待遇不错呢
金玉 19:43:54
恩 最后再定岗 ?
tongtong 19:44:21
我现在一千多,积成将近四千耶
tongtong 19:44:45
运营商待遇不错那是指移动
tongtong 19:44:56
现在竞争激烈,待遇都下降很多
金玉 19:45:30
呵呵 工作性质不一样 一年后会好点吧
tongtong 19:45:39
当然会比那些搞研发的企业轻松点,但是我们现在要值夜班,很痛苦滴
tongtong 19:46:07
不过据说,可能不超过三千
金玉 19:46:21
呵呵 我觉得比在公司好
金玉 19:46:40
公司的压力让人早衰 呵呵
tongtong 19:47:13
运营商也是公司呐
tongtong 19:47:39
整天值夜班你还想有什么好容颜啊
金玉 19:48:08
呵呵   师姐那么漂亮 怎么都不会丑的
金玉 19:48:40
等定岗了 3000也挺好的 不会一直值夜班吧

关于中位数 - 收藏于 2009-08-30

今天做题碰到中位数这个概念,看来一直理解有偏差,序列要分奇数 偶数考虑

中位数 中位数(Median)统计学名词。
将数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分小于该数值。中位数的位置:当样本数为奇数时,中位数=第(N+1)/2个数据 ; 当样本数为偶数时,中位数为第N/2个数据与第N/2+1个数据的算术平均值 。


最后一年象牙塔里的生活 - 收藏于 2009-08-29

研三马上开学了,最后一年象牙塔里的生活。真的想离开了

象牙塔里呆久了,发现自己真的傻了。该出去生活了,学业以前我看得比什么都重要,现在不这么想了,想生活,想正常人的生活。

这一年是找工作时间,不管最后结局怎么样,工作赚钱,孝顺父母,实现自我。这是我想要的。没有太大的目标,目前只有几个小小的理想: 工作实现自我价值 赚钱买房 结婚 孝顺父母 生个小孩


《knowing》 - 收藏于 2009-07-31

看这部电影的时间不是很好,心情也不好,再加上这部《knowing》

我的精神快崩溃了,只想呆呆得坐着,不想看书,不想想问题。这就是电影艺术的感染力吧,看来我要几天才能缓过来了。

记忆里,看完电影让我这个状态的还有一部电影是《reader》,不知道难受在哪里,就是低沉了好几天。。。


心疼 - 收藏于 2009-07-30

心疼爸妈,要回家。


专家推荐最完美的作息表 - 收藏于 2009-07-27

7:30:起床。英国威斯敏斯特大学的研究人员发现,那些在早上5:22―7:21 分起床的人,其血液中有一种能引起心脏病的物质含量较高,因此,在7:21之后起床对身体健康更加有益。打开台灯。“一醒来,就将灯打开,这样将会重新调整体内的生物钟,调整睡眠和醒来模式。”拉夫堡大学睡眠研究中心教授吉姆·霍恩说。喝一杯水。水是身体内成千上万化学反应得以进行的必需物质。早上喝一杯清水,可以补充晚上的缺水状态。

7:30―8:00:在早饭之前刷牙。“在早饭之前刷牙可以防止牙齿的腐蚀,因为刷牙之后,可以在牙齿外面涂上一层含氟的保护层。要么,就等早饭之后半小时再刷牙。”英国牙齿协会健康和安全研究人员戈登·沃特金斯说。

8:00―8:30:吃早饭。“早饭必须吃,因为它可以帮助你维持血糖水平的稳定,”伦敦大学国王学院营养师凯文·威尔伦说。早饭可以吃燕麦粥等,这类食物具有较低的血糖指数。

8:30―9:00:避免运动。来自布鲁奈尔大学的研究人员发现,在早晨进行锻炼的运动员更容易感染疾病,因为免疫系统在这个时间的功能最弱。步行上班。马萨诸塞州大学医学院的研究人员发现,每天走路的人,比那些久坐不运动的人患感冒病的几率低25%。

9:30:开始一天中最困难的工作。纽约睡眠中心的研究人员发现,大部分人在每天醒来的一两个小时内头脑最清醒。

10:30:让眼睛离开屏幕休息一下。如果你使用电脑工作,那么每工作一小时,就让眼睛休息3分钟。

11:00:吃点水果。这是一种解决身体血糖下降的好方法。吃一个橙子或一些红色水果,这样做能同时补充体内的铁含量和维生素C含量。

13:00:在面包上加一些豆类蔬菜。你需要一顿可口的午餐,并且能够缓慢地释放能量。“烘烤的豆类食品富含纤维素,番茄酱可以当作是蔬菜的一部分。”维伦博士说。

14:30―15:30:午休一小会儿。雅典的一所大学研究发现,那些每天中午午休30分钟或更长时间,每周至少午休3次的人,因心脏病死亡的几率会下降37%。

16:00:喝杯酸奶。这样做可以稳定血糖水平。在每天三餐之间喝些酸牛奶,有利于心脏健康。

17:00―19:00:锻炼身体。根据体内的生物钟,这个时间是运动的最佳时间,舍菲尔德大学运动学医生瑞沃·尼克说。

19:30:晚餐少吃点。晚饭吃太多,会引起血糖升高,并增加消化系统的负担,影响睡眠。晚饭应该多吃蔬菜,少吃富含卡路里和蛋白质的食物。吃饭时要细嚼慢咽。

21:45:看会电视。这个时间看会儿电视放松一下,有助于睡眠,但要注意,尽量不要躺在床上看电视,这会影响睡眠质量。

23:00:洗个热水澡。“体温的适当降低有助于放松和睡眠。”拉夫堡大学睡眠研究中心吉姆·霍恩教授说。

23:30:上床睡觉。如果你早上7点30起床,现在入睡可以保证你享受8小时充足的睡眠。


任何试图更改生物钟的行为,都将给身体留下莫名其妙的疾病,20、30年之后再后悔,已经来不及了。

一、晚上9-11点为免疫系统(淋巴)排毒时间,此段时间应安静或听音乐。

二、晚间11-凌晨1点,肝的排毒,需在熟睡中进行。

三、凌晨1-3点,胆的排毒,亦同。

四、凌晨3-5点,肺的排毒。此即为何咳嗽的人在这段时间咳得最剧烈,因排毒动作已走到肺;不应用止咳药,以免抑制废积物的排除。

五、凌晨5-7点,大肠的排毒,应上厕所排便。

六、凌晨7-9点,小肠大量吸收营养的时段,应吃早餐。疗病者最好早吃,在6点半前,养生者在7点半前,不吃早餐者应改变习惯,即使拖到9、10点吃都比不吃好。

七、半夜至凌晨4点为脊椎造血时段,必须熟睡,不宜熬夜。


蝴蝶效应---马太效应 - 收藏于 2009-07-27

1、蝴蝶效应:上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶翅膀偶尔振动,也许两周后就会引起美国得克萨斯州的一场龙卷风。  

蝴蝶效应是说,初始条件十分微小的变化经过不断放大,对其未来状态会造成极其巨大的差别。有些小事可以糊涂,有些小事如经系统放大,则对一个组织、一个国家来说是很重要的,就不能糊涂。

  2、青蛙现象:把一只青蛙直接放进热水锅里,由于它对不良环境的反应十分敏感,就会迅速跳出锅外。如果把一个青蛙放进冷水锅里,慢慢地加温,青蛙并不会立即跳出锅外,水温逐渐提高的最终结局是青蛙被煮死了,因为等水温高到青蛙无法忍受时,它已经来不及、或者说是没有能力跳出锅外了。  

青蛙现象告诉我们,一些突变事件,往往容易引起人们的警觉,而易致人于死地的却是在自我感觉良好的情况下,对实际情况的逐渐恶化,没有清醒的察觉。

  3、鳄鱼法则:其原意是假定一只鳄鱼咬住你的脚,如果你用手去试图挣脱你的脚,鳄鱼便会同时咬住你的脚与手。你愈挣扎,就被咬住得越多。所以,万一鳄鱼咬住你的脚,你唯一的办法就是牺牲一只脚。

譬如在股市中,鳄鱼法则就是:当你发现自己的交易背离了市场的方向,必须立即止损,不得有任何延误,不得存有任何侥幸。

  4、鲇鱼效应:以前,沙丁鱼在运输过程中成活率很低。后有人发现,若在沙丁鱼中放一条鲇鱼,情况却有所改观,成活率会大大提高。这是何故呢?

原来鲇鱼在到了一个陌生的环境后,就会“性情急躁”,四处乱游,这对于大量好静的沙丁鱼来说,无疑起到了搅拌作用;而沙丁鱼发现多了这样一个“异已分子”,自然也很紧张,加速游动。这样沙丁鱼缺氧的问题就迎刃而解了,沙丁鱼也就不会死了。

  5、羊群效应:头羊往哪里走,后面的羊就跟着往哪里走。

羊群效应最早是股票投资中的一个术语,主要是指投资者在交易过程中存在学习与模仿现象,“有样学样”,盲目效仿别人,从而导致他们在某段时期内买卖相同的股票。

  6、刺猬法则:两只困倦的刺猬,由于寒冷而拥在一起。可因为各自身上都长着刺,于是它们离开了一段距离,但又冷得受不了,于是凑到一起。几经折腾,两只刺猬终于找到一个合适的距离:既能互相获得对方的温暖而又不至于被扎。  

刺猬法则主要是指人际交往中的“心理距离效应”。

  7、手表定律:手表定律是指一个人有一只表时,可以知道现在是几点钟,而当他同时拥有两只时却无法确定。两只表并不能告诉一个人更准确的时间,反而会使看表的人失去对准确时间的信心。

手表定律在企业管理方面给我们一种非常直观的启发,就是对同一个人或同一个组织不能同时采用两种不同的方法,不能同时设置两个不同的目标,甚至每一个人不能由两个人来同时指挥,否则将使这个企业或者个人无所适从。

  8、破窗理论:一个房子如果窗户破了,没有人去修补,隔不久,其它的窗户也会莫名其妙地被人打破;一面墙,如果出现一些涂鸦没有被清洗掉,很快的,墙上就布满了乱七八糟、不堪入目的东西;一个很干净的地方,人们不好意思丢垃圾,但是一旦地上有垃圾出现之后,人就会毫不犹疑地抛,丝毫不觉羞愧。

  9、二八定律(巴莱多定律):19世纪末20世纪初意大利的经济学家巴莱多认为,在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%尽管是多数,却是次要的。  社会约80%的财富集中在20%的人手里,而80%的人只拥有20%的社会财富。这种统计的不平衡性在社会、经济及生活中无处不在,这就是二八法则。

二八法则告诉我们,不要平均地分析、处理和看待问题,企业经营和管理中要抓住关键的少数;要找出那些能给企业带来80%利润、总量却仅占20%的关键客户,加强服务,达到事半功倍的效果;企业领导人要对工作认真分类分析,要把主要精力花在解决主要问题、抓主要项目上。

  10、木桶理论:组成木桶的木板如果长短不齐,那么木桶的盛水量不是取决于最长的那一块木板,而是取决于最短的那一块木板。

  11、马太效应:《圣经?马太福音》中有一句名言:“凡有的,还要加给他,叫他有余;没有的,连他所有的,也要夺过来。”

社会学家从中引申出了“马太效应”这一概念,用以描述社会生活领域中普遍存在的两极分化现象


过来感慨一下 - 收藏于 2009-07-24

今天从一开始做题,就晕乎乎的。对着题看十几分钟,都睡着了。晚上突然发现,所有题目都是有规律的,并不神秘,自己总结出来几点规律,就不存在所谓的“难”了。

首先,心里要信仰这些题目

其次,肯定他们都是有规律的,规律要自己去总结

最后,肯定能做出来。如果做不出来是,是总结的不全面,继续总结。


今天去参加省科学院面试 - 收藏于 2009-07-16

虽说是一个没有任何技术含量的面试,回想起来自己的表现确实一般,没热情。

企业编制,事业待遇,还有标准撰写,让人兴趣不大。可我表现的就是自己所想的,不太好。既然去面试了,就应该有热情才对。看来暑假实习的梦想破灭了,好好看书吧。

你想以后在哪里工作? 这个问题应该如何回答呢?

你想从事什么性质的工作? 现在该有个想法了吧? 我又犹豫了。

放松心态吧,不着急。


linux umoumt mount - 收藏于 2009-06-21

sudo fdisk -l

cd /
cd media/
mkdir u_disk
sudo mount /dev/sdb1 /media/u_disk/



sudo umount /dev/sdb1



Blog 好友的作品 - 收藏于 2009-06-18

写得很好,拿过来放着

因为你不喜欢我
所以你不明白
我经常去看你空间的意义
只想了解你的最新情况

因为你不喜欢我
所以你不明白
我为什么经常给你发短信
不是此刻想起你
而是我一直想着你
只是此刻想你想的最厉害

因为你不喜欢我
所以你不明白
我为什么会知道你那么多的信息
因为你的一切,哪怕是早点吃了什么
对于我来说也是有意义的

因为你不喜欢我
所以你不明白
你和谁在一起干了什么
对我来说都是一种纠结
我会乱揣测,乱生气
即使我们什么关系也没有

因为你不喜欢我
所以你不明白
你的一句不在乎
我为什么会那么在乎
我在乎的不是这句话
我在乎的是你的人

因为你不喜欢我
所以你不知道我打出那一句句
那你忙吧!我不打扰时
内心的纠结

因为不喜欢我
所以你不知道我的手机里面存的都是你的信息
不开心时,看着看着,不自觉的傻笑
因为感觉你就在身边
自我安慰么

因为你不喜欢我
所以你不知道
你对我的忽冷忽热
总是让我不自觉被你掌控
一般甜蜜,一半忧伤

因为你不喜欢我
所以你不明白
我为什么会经常生你气
喜欢上一个人
也赋予了他伤害我的权力

因为你不喜欢我
所以你不知道
在我失去你信息的日子里
我是多么的沮丧
我怕就此失去你

因为你不喜欢我
所以你寂寞的时候不会想起我
而我却在时时刻刻的想着你

因为你不喜欢我
所以你不知道
你在我眼里多么的重要
而我知道
我在你眼里却是十分的渺小

因为你不喜欢我
所以你不知道
我的QQ头像只为你一个人而闪亮
只为你一个人“我在线上”
即使有时你是隐身或是离开,也许为的是等别人的头像亮起来
我也觉得值得

因为你不喜欢我
所以你不会关注我的空间,校内有什么变化
但是你只要偶然打开看一眼
所有的所有跟你全有关系
我会为了你看到
而感到既兴奋又紧张

因为你不喜欢我
所以你不明白
我的QQ签名,校内状态只为你一个人改变
我的心情
永远只是写给你一个人看

因为你不喜欢我
所以你不知道
在你坚持喜欢着某人的时候
我也在坚持在我的坚持
一直在这儿等着你

因为你不喜欢我
所以你不知道
我等待着你的关心
却等到我关上了心

因为你不喜欢我
所以你不明白
你的一举一动对于我来说
都是指挥棒
指挥着我的心情和生活
你没有关注过我
没有在乎过我
甚至不知道我一直在默默奉献着
因为你一直都不懂…… 


高考阅卷结束 - 收藏于 2009-06-18

今天上午高考阅卷终于结束了,好多同学开玩笑说,再不结束,就要因公殉职了。真的,太累了!累但也挺开心的,大家一起聊聊笑笑就过去了。

阅卷数量:

38题    22346份

36题    7500份

阅卷结束,接下来的任务还好多:

出一份多媒体试卷,上两次课,考试;

专利修改;

实验室毕业验收、聚餐;

学院毕业典礼开会、布置会场;

TI 竞赛;

师兄安排的实验室任务;

生活上的小理想有:

买身套装,看师姐们穿好有气质啊~~

等打折了,去买几件较正式的夏装穿

还有我的化妆水啊,阅卷赚了100元奖金,自己再贴点就可以了

做下头发


好消息 坏消息 - 收藏于 2009-06-15

坏消息,没接到IBM的面试通知,很失望。

好消息,今天高考阅卷工作量第一,拿到了50元奖励。呵呵,钱不多,但心情挺好的。更累了,希望阅卷早点结束。

目前为止 阅卷的工作量 20052

                   敲击键盘数    20052*4=80208 次


阅卷好累!!!! - 收藏于 2009-06-13

这几天参加高考阅卷,每天8小时的工作量。好累,累得不想动,不想说话,不想想问题,不想看书,更不想对着电脑了。感觉脑子像个CPU,在那机械的跑了8个小时。

渐渐意识到,以后工作了,每天8小时这样的工作量,我做不来,会早衰。还是身体最重要,其他的排在其次。进外企做研发,是不是也是这样的工作量?


原码 反码 补码 - 收藏于 2009-06-07

补码与原码的转换过程几乎是相同的。
  数值的补码表示也分两种情况:
  (1)正数的补码:与原码相同。
  例如,+9的补码是00001001。
  (2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
  例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码
  0000111按位取反为1111000;再加1,所以-7的补码是11111001。
  已知一个数的补码,求原码的操作分两种情况:
  (1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。
  (2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取
  反,然后再整个数加1。
  例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负

  数,所以该位不变,仍为“1”;其余7位1111001取反后为0000110;再加1,所以是10000111。

举例:

八位,带符号


          原码 反码 补码
1 0,0000001 0,0000001 0,0000001
-1 1,0000001 1,1111110 1,1111111
0 0,0000000 0,0000000 0,0000000
-0 1,0000000 1,1111111 0,0000000
128 一个有符号的字节不能表示,若无符号,那太简单了
-128 不能表示 不能表示 1,0000000   (八位,带符号数,最小的负数)


一路走好 - 收藏于 2009-06-07

博士生导师,彭教授,66年出生,09年6月6日上午6点三十6分不幸去世,享年43岁。

这两天学院里都在谈论这件事情,彭老师专注科研,工作劳累,不注意休息,因病去世

我感觉彭老师是个吉星,天妒英才。从她的日期可以看出她不是一个凡人。她是我们学院的女强人,年轻漂亮又有实力的女博导。

参加葬礼,我总会想起去世的大伯。今年正月初二,我和哥哥去城里看他,他还在学校收拾东西,和我们说笑。在他眼里,我和哥哥永远是个孩子,在客厅,大伯让我们吃这个零食,吃那个零食。清楚地记得,大伯让我坐在高高的舒服的椅子上,自己拿过来个小板凳坐在旁边。可就在第二天早上,正月初三的早上,大伯的遗体被运回了老家。

脑子空白了几秒,我说了句“不可能,你们弄错了吧”。脑子还是我坐在高高的椅子上,大伯坐在矮我一截的小板凳上的情景。

一人一世界,虽说人的生老病死是自然规律,我们无法改变,但一个人的去世,代表着一个世界的终止,乃至消亡。有时候我很希望灵魂的存在,以至于不要让生者的世界,空荡荡的。


产生随机数 函数 - 收藏于 2009-06-06

static unsigned long int next=1; /* 种子 */

int rand(void)
{
/*   产生伪随机数的魔术般的公式 */
next=next*1103515245+12345;
return (unsigned int)(next/65536)%32768;
}

void srand(unsigned int seed) /* 种子 */
{
next=seed;  
}

先随机化种子:

srand(time(NULL))       time( ) 可返回系统时间 , 作为随机种子

然后:

rand( )       产生随机数


有点伤感 - 收藏于 2009-06-04

不知道为什么,心理很难受。。。

希望时间过得快一点,快点工作、生活。生活在亲人、恋人身边,不想自己在这里奋斗

好累,好辛苦。。。


socket编程 - 收藏于 2009-06-04

套接字socket编程时一种典型的网络通信程序,采用客户端/服务器的方式。特别是在实时性要求比较高的项目中,Winsock编程方法是非常实用的。

socket编程用途:计算机之间进行网络通信。就像师兄那次弄得测试小软件。能实时对话。

库函数:

socket()函数
bind()函数
connect()函数
listen()函数
accept()函数
send()和recv()函数
sendto()和recvfrom()函数

close()和shutdown()函数

linux下服务器端编程

linux下客户端编程

windows下服务器端编程

windows下客户端编程


TCP UDP 区别 - 收藏于 2009-06-03

TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它 们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快

UDP
UDP 与 TCP 的主要区别在于 UDP 不一定提供可靠的数据传输。事实上,该协议不能保证数据准确无误地到达目的地。UDP 在许多方面非常有效。当某个程序的目标是尽快地传输尽可能多的信息时(其中任意给定数据的重要性相对较低),可使用 UDP。ICQ 短消息使用 UDP 协议发送消息。
许多程序将使用单独的TCP连接和单独的UDP连接。重要的状态信息随可靠的TCP连接发送,而主数据流通过UDP发送。

TCP

TCP的目的是提供可靠的数据传 输,并在相互进行通信的设备或服务之间保持一个虚拟连接。TCP在数据包接收无序、丢失或在交付期间被破坏时,负责数据恢复。它通过为其发送的每个数据包 提供一个序号来完成此恢复。记住,较低的网络层会将每个数据包视为一个独立的单元,因此,数据包可以沿完全不同的路径发送,即使它们都是同一消息的组成部 分。这种路由与网络层处理分段和重新组装数据包的方式非常相似,只是级别更高而已。
为确保 正确地接收数据,TCP要求在目标计算机成功收到数据时发回一个确认(即 ACK)。如果在某个时限内未收到相应的 ACK,将重新传送数据包。如果网络拥塞,这种重新传送将导致发送的数据包重复。但是,接收计算机可使用数据包的序号来确定它是否为重复数据包,并在必要 时丢弃它。

TCP与UDP的选择

如果比较UDP包和TCP包的结构,很明显UDP包不具备TCP包复杂的可靠性与控制机 制。与TCP协议相同,UDP的源端口数和目的端口数也都支持一台主机上的多个应用。一个16位的UDP包包含了一个字节长的头部和数据的长度,校验码域 使其可以进行整体校验。(许多应用只支持UDP,如:多媒体数据流,不产生任何额外的数据,即使知道有破坏的包也不进行重发。)
很 明显,当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择。当强调传输性能而不是传输的完整性时,如:音频和多媒 体应用,UDP是最好的选择。在数据传输时间很短,以至于此前的连接过程成为整个流量主体的情况下,UDP也是一个好的选择,如:DNS交换。把SNMP 建立在UDP上的部分原因是设计者认为当发生网络阻塞时,UDP较低的开销使其有更好的机会去传送管理数据。TCP丰富的功能有时会导致不可预料的性能低 下,但是我们相信在不远的将来,TCP可靠的点对点连接将会用于绝大多数的网络应用。


TCP 三次握手 - 收藏于 2009-06-03

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。


  第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;


  SYN: 同步序列编号(Synchronize Sequence Numbers)


  第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;


  第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。


  完成三次握手,客户端与服务器开始传送数据


C语言 bmp-read.c - 收藏于 2009-06-02

//programme:bmp-read.c
//description:the programme to read the data of pixel from the BMP picture,and storge the bmp file after change it as
//some rules


#include <stdio.h>
#include <stdlib.h>

//#define BUFFSIZE 1024
#define WIDTH    256


unsigned char head[1078];
unsigned char pix[WIDTH][WIDTH];
int       width=WIDTH;

void          pixread(FILE *fpin);
void       headread(FILE *fpin);
void          newbmp();


int main()
{
//int datanum;
//int i;
FILE *bmpfp=NULL;
//int width=WIDTH;


if((bmpfp=fopen("E:/image_c/bmpread/lena.bmp","rb"))==NULL){
    printf("Read the bmp file has failed\n");
    exit(1);
    }
                
         headread(bmpfp);
     pixread(bmpfp);
            newbmp();    
   
    fclose(bmpfp);
    return 0;
}

     
void headread(FILE *fpin)                               //read the bmp file head 1078 byte
{
int num1;


num1=fread(head,sizeof(char),1078,fpin);
printf("You have successfully read %d data from bmp file\n",num1);
}

void pixread(FILE *fpin)                                   //read the bmp file pixels data 32*32 byte
{
int num2;
int i,j;
int count;
unsigned char *pixbuff=NULL;


fseek(fpin,1078,0);
if((pixbuff=(unsigned char *)malloc(sizeof(char)*width*width))==NULL){
   printf("Data memory allocation fail!\n");
}
num2=fread(pixbuff,sizeof(char),256*256,fpin);
        printf("You have successfully read %d data from the bmp file\n",num2);


        for(i=(width-1);i>=0;i--){
   count=width-1-i;
   for(j=0;j<width;j++){
     pix[i][j]=pixbuff[count*width+j];
     }
}
  
free(pixbuff);
pixbuff=NULL;


printf("The data are\n");
          for(i=0;i<width;i++){
    for(j=0;j<WIDTH;j++){
                     printf("%d ",pix[i][j]);
                    }
        printf("\n");
       }

   printf("Read the data end\n");
}


void newbmp()                                               //write the data that has some change to new bmp file
{
int             i,j;
int             num3;
int             num4;
int          count;
//unsigned char pixbuff[1024];
        FILE            *newfp;
        unsigned char *pixbuff=NULL;

for(i=1;i<256;i++) {
   pix[128][i]=pix[127][i]=0;                                //make a small change about old bmp file
     
}


newfp=fopen("E:/image_c/bmpread/lena_new.bmp","wb");

        num3=fwrite(head,sizeof(char),1078,newfp);
printf("You have successfully write %d data to new bmp file\n",num3);


if((pixbuff=(unsigned char *)malloc(sizeof(char)*width*width))==NULL){
    printf(" Data memory allocation fail!\n");
}

         width=256;                                                 //because the global var has changed

for(i=(width-1);i>=0;i--){
   count=width-1-i;
   for(j=0;j<width;j++){
    pixbuff[count*width+j]=pix[i][j];
   }
}

//for(i=1;i<1025;i++){                                  //display the data
// printf("%d ",pixbuf[i]);
// if(i%32==0){
//      putchar('\n');
// }
//}  
fseek(newfp,1078,0);
num4=fwrite(pixbuff,sizeof(char),256*256,newfp);     
        printf("You have successfully write %d data to new bmp file\n",num4);

free(pixbuff);
pixbuff=NULL;
}


linux 下的网络命令 - 收藏于 2009-06-01

转:

经过两周的学习,终于写成了一个这个shell脚本--寻找代理服务器并自动修改本机IP实现上网功能。在次过程中也了解了一些网络命令。
    现就将其中使用的在shell脚本中修该IP和网关的命令ifconfig和route命令在此做以总结。
一、route命令
1、使用不加任何参数的route命令将会显示出路由表,例如
    目标            网关            子网掩码        标志 跃点   引用 使用 接口
   192.168.200.0   *               255.255.255.0   U     0      0    0 eth0
   link-local      *               255.255.0.0     U     1000   0    0 eth0
   default         xylinux.local   0.0.0.0         UG    100    0    0 eth0
2、使用route修该网关
     先使用 sudo route del default ***.***.***.*** 删除掉当前的网关
   后使用 sudo route add default ***.***.***.*** 添加网关
二、ifconfig 命令
1、使用不加任何参数的ifconfig命令。将会显示出 eth0和lo的信息,如
          eth0      Link encap:以太网 硬件地址 00:1d:7d:53:25:e8
          inet 地址:192.168.200.129 广播:192.168.200.255 掩码:255.255.255.0
          inet6 地址: fe80::21d:7dff:fe53:25e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
          接收数据包:41902 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:19521 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:1000
          接收字节:18265261 (17.4 MB) 发送字节:3480084 (3.3 MB)
          中断:20 基本地址:0xf800

          lo        Link encap:本地环回
          inet 地址:127.0.0.1 掩码:255.0.0.0
          inet6 地址: ::1/128 Scope:Host
          UP LOOPBACK RUNNING MTU:16436 跃点数:1
          接收数据包:1226 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:1226 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:0
          接收字节:61300 (59.8 KB) 发送字节:61300
2、使用命令ifconfig 命令,修改IP,netmask
     sudo ifconfig ***.***.***.*** netmask ***.***.***.***     
     用此命令修改后,用ifconfig 查看显示的是修改过的信息,但是用ping命令时还是不能ping通外网,那是因为r用ifconfig修改IP时会将网关删除,所以在修改完IP 后还需用
     sudo route add default ***.***.***.*** 把正确的网关田间上。
     这也是我讲的一个重点方面,所以在是用ifconfig命令后不要忘了添加网关。
3、另外还有ifup、ifdown分别用来激活和关闭网卡
     ifup eth0 等价于 ifconfig eth0 up
     ifdown eth0 等价于 ifconfig eth0 down


BMP 文件结构分析 - 收藏于 2009-05-31

1. BMP文件组成

  BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。文件头主要包含文件的大小、文件类型、图像数据偏离文件头的长度等信息;位图信息头包含图象的尺寸信息、图像用几个比特数值来表示一个像素、图像是否压缩、图像所用的颜色数等信息。颜色信息包含图像所用到的颜色表,显示图像时需用到这个颜色表来生成调色板,但如果图像为真彩色,既图像的每个像素用24个比特来表示,文件中就没有这一块信息,也就不需要操作调色板。文件中的数据块表示图像的相应的像素值,需要注意的是:图像的像素值在文件中的存放顺序为从左到右,从下到上,也就是说,在BMP文件中首先存放的是图像的最后一行像素,最后才存储图像的第一行像素,但对与同一行的像素,则是按照先左边后右边的的顺序存储的;另外一个需要读者朋友关注的细节是:文件存储图像的每一行像素值时,如果存储该行像素值所占的字节数为4的倍数,则正常存储,否则,需要在后端补0,凑足4的倍数。

2. BMP文件头

  BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。其结构定义如下:

typedef struct tagBITMAPFILEHEADER
{
WORD bfType; // 位图文件的类型,必须为“BM”
DWORD bfSize; // 位图文件的大小,以字节为单位
WORD bfReserved1; // 位图文件保留字,必须为0
WORD bfReserved2; // 位图文件保留字,必须为0
DWORD bfOffBits; // 位图数据的起始位置,以相对于位图文件头的偏移量表示,以字节为单位
} BITMAPFILEHEADER;该结构占据14个字节。

3. 位图信息头

  BMP位图信息头数据用于说明位图的尺寸等信息。其结构如下:

typedef struct tagBITMAPINFOHEADER{
DWORD biSize; // 本结构所占用字节数
LONG biWidth; // 位图的宽度,以像素为单位
LONG biHeight; // 位图的高度,以像素为单位
WORD biPlanes; // 目标设备的平面数不清,必须为1
WORD biBitCount// 每个像素所需的位数,必须是1(双色), 4(16色),8(256色)或24(真彩色)之一
DWORD biCompression; // 位图压缩类型,必须是 0(不压缩),1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一
DWORD biSizeImage; // 位图的大小,以字节为单位
LONG biXPelsPerMeter; // 位图水平分辨率,每米像素数
LONG biYPelsPerMeter; // 位图垂直分辨率,每米像素数
DWORD biClrUsed;// 位图实际使用的颜色表中的颜色数
DWORD biClrImportant;// 位图显示过程中重要的颜色数
} BITMAPINFOHEADER;该结构占据40个字节。

  注意:对于BMP文件格式,在处理单色图像和真彩色图像的时候,无论图象数据多么庞大,都不对图象数据进行任何压缩处理,一般情况下,如果位图采用压缩格式,那么16色图像采用RLE4压缩算法,256色图像采用RLE8压缩算法。

4. 颜色表

  颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下:

typedef struct tagRGBQUAD {
BYTErgbBlue;// 蓝色的亮度(值范围为0-255)
BYTErgbGreen; // 绿色的亮度(值范围为0-255)
BYTErgbRed; // 红色的亮度(值范围为0-255)
BYTErgbReserved;// 保留,必须为0
} RGBQUAD;

  颜色表中RGBQUAD结构数据的个数由BITMAPINFOHEADER 中的biBitCount项来确定,当biBitCount=1,4,8时,分别有2,16,256个颜色表项,当biBitCount=24时,图像为真彩色,图像中每个像素的颜色用三个字节表示,分别对应R、G、B值,图像文件没有颜色表项。位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下:

typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader; // 位图信息头
RGBQUAD bmiColors[1]; // 颜色表
} BITMAPINFO;

  注意:RGBQUAD数据结构中,增加了一个保留字段rgbReserved,它不代表任何颜色,必须取固定的值为“0”,同时,RGBQUAD结构中定义的颜色值中,红色、绿色和蓝色的排列顺序与一般真彩色图像文件的颜色数据排列顺序恰好相反,既:若某个位图中的一个像素点的颜色的描述为“00,00,ff,00”,则表示该点为红色,而不是蓝色。

5. 位图数据

  位图数据记录了位图的每一个像素值或该对应像素的颜色表的索引值,图像记录顺序是在扫描行内是从左到右,扫描行之间是从下到上。这种格式我们又称为Bottom_Up位图,当然与之相对的还有Up_Down形式的位图,它的记录顺序是从上到下的,对于这种形式的位图,也不存在压缩形式。位图的一个像素值所占的字节数:当biBitCount=1时,8个像素占1个字节;当biBitCount=4时,2个像素占1个字节;当biBitCount=8时,1个像素占1个字节;当biBitCount=24时,1个像素占3个字节,此时图像为真彩色图像。当图像不是为真彩色时,图像文件中包含颜色表,位图的数据表示对应像素点在颜色表中相应的索引值,当为真彩色时,每一个像素用三个字节表示图像相应像素点彩色值,每个字节分别对应R、G、B分量的值,这时候图像文件中没有颜色表。上面我已经讲过了,Windows规定图像文件中一个扫描行所占的字节数必须是4的倍数(即以字为单位),不足的以0填充,图像文件中一个扫描行所占的字节数计算方法:

       DataSizePerLine= (biWidth* biBitCount+31)/8;// 一个扫描行所占的字节数

或者
     
     DataSizePerLine= (biWidth* biBitCount+31)/32 * 4;// 一个扫描行所占的字节数

(如果biBitCount == 8 或24)

         DataSizePerLine= (biWidth* 3+3)/4*4;// 一个扫描行所占的字节数

       DataSizePerLine= (biWidth*1+3)/4*4;// 一个扫描行所占的字节数
  位图数据的大小按下式计算(不压缩情况下):

  DataSize= DataSizePerLine* biHeight。

  上述是BMP文件格式的说明,搞清楚了以上的结构,就可以正确的操作图像文件,对它进行读或写操作了。


居然是被SCI检索的,高兴哈~~ - 收藏于 2009-05-31

SCI(科学引文索引 )、EI(工程索引 )、ISTP(科技会议录索引 ) 是世界著名的三大科技文献检索系统,是国际公认的进行科学统计与科学评价的主要检索工具,其中以SCI最为重要。

  《科学引文索引》(Science Citation Index, SCI)是由美国科学信息研究所(ISI)1961年创办出版的引文数据库,其覆盖生命科学、临床医学、物理化学、农业、生物、兽医学、工程技术等方面的综合性检索刊物。

而我发的文章BME :

1989年创刊新加坡世界科学出版社(WORLD SCIENTIFIC PUBL CO PTE LTD, 5 TOH TUCK LINK, SINGAPORE, SINGAPORE, 596224 )出版的Biomedical Engineering-Applications Basis Communications 《生物医学工程》,ISSN: 1016-2372,2008年入选 Web of Science的Science Citation Index Expanded,目前在SCI可以检索到该期刊2008年的第20卷第1期到2009年的第21卷第1期共64篇论文。

Biomedical Engineering-Applications Basis Communications《生物医学工程》网址:http://www.worldscinet.com/bme/bme.shtml

2008年以后就是SCI收录的了,我也有SCI 、EI收录的文章了。


Easy Virtue 水性杨花 - 收藏于 2009-05-29

杰西卡.贝尔 有人这么评价她:

杰西卡·贝尔,你可以从几个侧面对她评头论足,挑剔她粗壮的胳膊和坚硬的下巴,笑起来两块颧骨会拢成圆润的倒三角形,这让她看上去像个村姑,还有……可能她的金发是后天染成的,跟玛丽莲·梦露一样。然而即便有诸多缺陷可以病诟,杰西卡给人印象依然是“美艳如花”,与爱德华·诺顿在《魔术师》中联合耍了个浪漫的伎俩,做成手段狡猾的神仙眷侣,而《水性杨花》中她又成为一个不和谐的音符,我喜欢这种容易制造突兀氛围的女人,特别甚至令人讨厌,可你就是无法忽视,忍不住就要谈论她,语气抑或尖酸,可头一句必然是:“她真是个美人儿。”某位文人讲过,一个真正的“美人儿”不见得要五官绝对端丽,然而时时刻刻身上提拎着一股气,要你识别不出丑态,脑中只胡乱闪着一个“美”字。这样的女子最易被“水性杨花”的恶名缠上,因为还不够完善,又偏偏吸削男人的骨血,也必定隐约露一点豪放的底,以为人家看不太清,其实暴露无余。

故事的情节算是比较老套,美国媳妇和英国婆婆的冲突,比较喜欢的是杰西卡身上表露的独立和野性。关于她的婆婆,可以理解她的行为,可活得有待反省,一个控制欲极强的女人,有点可怕。

片尾曲:

Darling, I'll climb any mountain,

Darling, I'll do anything,

when the going gets tough, the tough get going,   

when the going gets rough, the tough get rough,

Gonna get myself across the river,

That's the price that I'll willing to pay,

I'm gonna make you stand and dliver,

And give me love in that old-fashioned way.


实验室硕士答辩 - 收藏于 2009-05-28

师兄师姐答辩结束了

1)论文规范,尤其是摘要部分的语句,还有图的 横纵标?

2)讲的时候,上下连贯,思路清楚。要从给别人讲的角度,讲给别人听,像是讲课

3) 回答问题时自信就可以


今天的心情 - 收藏于 2009-05-27

今天心情一直不错,下午过来看邮件,BME 期刊的文章居然这么快被收录了。哈哈,高兴啊,本来以为要等到暑假呢。这篇文章录了,之后我对学术就没什么企图了,就等明年3月份写最后的大论文了。

晚饭和例会都和师姐一起,师姐是个超级小富婆了。在北京买了套房子将近200w,很不错工作+很赚钱的老公,真算是让人羡慕的生活了。

关于钱的概念,我一直没怎么考虑过这个,可能生活的阶段不一样,脑子里看重的,考虑的东西也不一样了。看来我脑子还不是很健全呢,拥有是一种快乐,大家谁不想拥有自己需要想要的东西?

如果把这些和道德品质放一起,是不公平的。大多数人是平平淡淡生活的,但哪个人没有渴望拥有的内心呢?没有事业又怎么可能家庭幸福? 经济基础决定上层建筑,这是初中就学的知识。你可以现在没有钱,但必须有以后有钱的潜质,不然能做什么使家庭幸福呢?相濡以沫那是童话故事

没有考虑过坐享其成,我会创造我的价值,也不想要把自己10几年的青春放在这,换来刚刚的起点。10年后,我能有200W吗?


MySQL 基本操作 - 收藏于 2009-05-27

1:显示数据库

   mysql>SHOW DATABASES;

  2:当前选择的数据库,

   mysql> SELECT DATABASE();

   +------------+

   | DATABASE() |

   +------------+

   | test |

   +------------+

  3.当前数据库包含的表信息:

   mysql> SHOW TABLES;

   +---------------------+

   | Tables in test |

   +---------------------+

   | mytable1 |

   | mytable2 |

   +---------------------+

  4.获取表结构

   mysql> desc mytable1;

   +---------+-------------+------+-----+---------+-------+

   | Field | Type | Null | Key | Default | Extra |

   +---------+-------------+------+-----+---------+-------+

   | s1 | varchar(20) | YES | | NULL | |

   +---------+-------------+------+-----+---------+-------+

  5.创建表

  表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联。创建表的基本语法如下:

   create table table_name

   (column_name datatype {identity |null|not null},

   …)

  其中参数table_name和column_name必须满足用户数据库中的识别器(identifier)的要求,参数datatype是一个标准的SQL类型或由用户数  据库提供的类型。用户要使用non-null从句为各字段输入数据。

  create table还有一些其他选项,如创建临时表和使用select子句从其他的表中读取某些字段组成新表等。还有,在创建表是可用PRIMARY   KEY、KEY、INDEX等标识符设定某些字段为主键或索引等。书写上要注意:在一对圆括号里的列出完整的字段清单。字段名间用逗号隔开  。字段名间的逗号后要加一个空格。最后一个字段名后不用逗号。所有的SQL陈述都以分号";"结束。

  例:

   mysql>CREATE TABLE guest (name varchar(10),sex varchar(2),age int(3),career varchar(10));

  6.创建索引

  索引用于对数据库的查询。一般数据库建有多种索引方案,每种方案都精于某一特定的查询类。索引可以加速对数据库的查询过程。创建  索引的基本语法如下:

   create index index_name

   on table_name (col_name[(length)],... )

  例:

   mysql> CREATE INDEX number ON guest (number(10));

  7.执行查询

  查询是使用最多的SQL命令。查询数据库需要凭借结构、索引和字段类型等因素。大多数数据库含有一个优化器(optimizer),把用户的查  询语句转换成可选的形式,以提高查询效率。

  值得注意的是MySQL不支持SQL92标准的嵌套的where子句,即它只支持一个where子句。其基本语法如下:

   SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [HIGH_PRIORITY]

   [DISTINCT | DISTINCTROW | ALL]

   select_expression,...

   [INTO {OUTFILE | DUMPFILE} 'file_name' export_options]

   [FROM table_references

   [WHERE where_definition]

   [GROUP BY col_name,...]

   [HAVING where_definition]

   [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...]

   [LIMIT [offset,] rows]

   [PROCEDURE procedure_name] ]

  其中where从句是定义选择标准的地方,where_definition可以有不同的格式,但都遵循下面的形式:

  字段名操作表达式

  字段名操作字段名

  在第一种形式下,标准把字段的值与表达式进行比较;在第二种形式下,把两个字段的值进行比较。根据所比较的数据类型,       search_condition中的操作可能选以下几种:

   =检查是否相等

   !=检查是否不等

   > (或>=)检查左边值是否大于(或大于等于)右边值

   < (或<=)检查左边值是否小于(或小于等于)右边值

   [not] between检查左边值是否在某个范围内

   [not] in检查左边是否某个特定集的成员

   [not] like检查左边是否为右边的子串

   is [not] null检查左边是否为空值

  在这里,可以用通配符_代表任何一个字符,%代表任何字符串。使用关键字、和可以生成复杂的词,它们运行检查时使用  布尔表达式的多重标准集。

  例:

   mysql> select t1.name, t2.salary from employee AS t1, info AS t2swherest1.name = t2.name;

   mysql> select college, region, seed from tournament

   ORDER BY region, seed;

   mysql> select col_name from tbl_nameswherescol_name > 0;

  8.改变表结构

  在数据库的使用过程中,有时需要改变它的表结构,包括改变字段名,甚至改变不同数据库字段间的关系。可以实现上述改变的命令是   alter,其基本语法如下:

  alter table table_name alter_spec [, alter_spec ...]

  例:

   mysql> alter table dbname add column userid int(11) not null primary key auto_increment;

  这样,就在表dbname中添加了一个字段userid,类型为int(11)。

  9.修改表中数据

  在使用数据库过程中,往往要修改其表中的数据,比如往表中添加新数据,删除表中原有数据,或对表中原有数据进行更改。它们的基本  语法如下:

  数据添加:

   insert [into] table_name [(column(s))]

   values (expression(s))

  例:

   mysql>insertsintosmydatabase values('php','mysql','asp','sqlserver','jsp','oracle');


 10.表的数据更新

  (1)一次修改一个字段,再次注意语法。文本需要加引号但数字不要。

   mysql>update table01 set field03='new info'swheresfield01=1;

   Query OK, 1 row affected (0.00 sec)

  (2)一次改变多个字段,记住在每一个更新的字段间用逗号隔开。

   mysql>update table01 set field04=19991022, field05=062218swheresfield01=1;

   Query OK, 1 row affected (0.00 sec)

  (3)一次更新多个数据

   mysql>update table01 set field05=152901swheresfield04>19990101;

   Query OK, 3 rows affected (0.00 sec)

  11.删除数据

   mysql>delete from table01swheresfield01=3;

   Query OK, 1 row affected (0.00 sec)

  12.导入数据库表

   (1)创建.sql文件

   (2)先产生一个库如auction.c:mysql in>mysqladmin -u root -p creat auction,会提示输入密码,然后成功创建。

   (3)导入auction.sql文件

    c:mysql in>mysql -u root -p auction < auction.sql。

   通过以上操作,就可以创建了一个数据库auction以及其中的一个表auction。

  13.mysql数据库的授权

   mysql>grant select,insert,delete,create,drop

   on *.* (或test.*/user.*/..)

   to用户名@localhost

   identified by '密码';

  如:新建一个用户帐号以便可以访问数据库,需要进行如下操作:

   mysql> grant usage

   -> ON test.*

   -> TO testuser@localhost;

   Query OK, 0 rows affected (0.15 sec)

  此后就创建了一个新用户叫:testuser,这个用户只能从localhost连接到数据库并可以连接到test数据库。下一步,我们必须指定     testuser这个用户可以执行哪些操作:

   mysql> GRANT select, insert, delete,update

   -> ON test.*

   -> TO testuser@localhost;

   Query OK, 0 rows affected (0.00 sec)

  此操作使testuser能够在每一个test数据库中的表执行SELECT,INSERT和DELETE以及UPDATE查询操作。现在我们结束操作并退出MySQL客户  程序:

   mysql> exit

   Bye

  14.授权MySQL用户密码

  MySQL数据库的默认用户名为"root"(MS SQL Server的sa相似),密码默认为空。在DOS提示符(注意,不是mysql提示符)下输入

  c:mysql in>"mysqladmin -u root -p password newpassword

  回车后会提示你输入原来的密码,由于原来密码为空,直接回车,root用户的密码便改为"newpassword"了。


使用MySQL - 收藏于 2009-05-27

MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成,MySQL的执行性能非常高,运行速度非常快,并非常容易使用,是一个非常棒的数据库。MySQL的官方发音是"My Ess Que Ell"(不是MY-SEQUEL )。

用命令行访问数据库

1)启动数据服务器:   net start mysql

                                  net stop mysql

     数据库管理操作之前,必须启动数据库服务

2) 登录MySQL       mysql -u root -p

接着,根据提示输入新密码,正常情况下会出现几行提示信息并出现提示符号:

    Welcome to the MySQL monitor. Commands end with ; or g.

    Your MySQL connection id is 6268 to server version: 3.22.32

    Type 'help' for help.

    mysql>

3)用show databases命令可以将安装的数据库列出来:

    mysql> show databases;

  你就可以看到:

    +----------+

    | Database |

    +----------+

    | mysql |

    | test |

    +----------+

    2 rows in set (0.00 sec)

  如果一切正常的话,那说明MySQL可以完全工作了!如果要退出程序,输入:exit

    mysql> exit;

    Bye

     


MySQL安装 图解 - 收藏于 2009-05-27

转自http://hi.baidu.com/tvrjcf/blog/item/13c59923e3b2d246935807e4.html

下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下!   打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面:

          mysql安装向导启动,按“Next”继续

选择安装类型,有“Typical(默认)”、“Complete(完全)”、“Custom(用户自定义)”三个选项,我们选择“Custom”,有更多的选项,也方便熟悉安装过程

在“Developer Components(开发者部分)”上左键单击,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。在上面的“MySQL Server(mysql服务器)”、“Client Programs(mysql客户端程序)”、“Documentation(文档)”也如此操作,以保证安装所有文件。点选“Change...”,手 动指定安装目录。

填上安装目录,我的是“F:\Server\MySQL\MySQL Server 5.0”,也建议不要放在与操作系统同一分区,这样可以防止系统备份还原的时
候,数据被清空。按“OK”继续。

返回刚才的界面,按“Next”继续。

确认一下先前的设置,如果有误,按“Back”返回重做。按“Install”开始安装。

正在安装中,请稍候,直到出现下面的界面

这里是询问你是否要注册一个mysql.com的账号,或是使用已有的账号登陆mysql.com,一般不需要了,点选“Skip Sign-Up”,按“Next”略过此步骤。

现在软件安 装完成了,出现上面的界面,这里有一个很好的功能,mysql配置向导,不用向以前一样,自己手动乱七八糟的配置my.ini了,将 “Configure the Mysql Server now”前面的勾打上,点“Finish”结束软件的安装并启动mysql配置向导。

mysql配置向导启动界面,按“Next”继续。

选择配置方式,“Detailed Configuration(手动精确配置)”、“Standard Configuration(标准配置)”,我们选择“Detailed Configuration”,方便熟悉配置过程。

选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,大家根据自己的类型选择了,一般选“Server Machine”,不会太少,也不会占满。

选择mysql数据库的大致用途,“Multifunctional Database(通 用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),随自己的用途而选 择了,我这里选择“Transactional Database Only”,按“Next”继续。
对InnoDB Tablespace进行配置,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里 不详述。我这里没有修改,使用用默认位置,直接按“Next”继续

选择您的网站的一般mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,我这里选“Online Transaction Processing(OLTP)”,自己的服务器,应该够用了,按“Next”继续

是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,我这里启用,把前面的勾打上,Port Number:3306,在这个页面上,您还可以选择“启用标准模式”(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。如果您还是个新手,我建议您取消标准模式以减少麻烦。但熟悉MySQL以后,尽量使用标准模式,因 为它可以降低有害数据进入数据库的可能性。按“Next”继续

这个比较重要,就是对mysql默认数据库语言编码进行设置,第一个是西文编码,第二个是多字节的通用utf8编码,都不是我们通用的编码,这里选择第三 个,然后在Character Set那里选择或填入“gbk”,当然也可以用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字、和其它 乱七八糟的字——使用mysql的时候,在执行数据操作命令之前运行一次“SET NAMES GBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。按 “Next”继续。

选择是否将mysql安装为windows服务,还可以指定Service Name(服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“mysql.exe -uusername -ppassword;”就可以了,不用指出mysql.exe的完整地址,很方便),我这里全部打上了勾,Service Name不变。按“Next”继续。
这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“New root password”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“Modify Security Settings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。“Enable root access from remote machines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。最后“Create An Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。
确认设置无误,如果有误,按“Back”返回检查。按“Execute”使设置生效。
设置完毕,按“Finish”结束mysql的安装与配置——这里有一个比较常见的错误,就是不能“Start service”,一般出现在以前有安装mysql的服务器上,解决的办法,先保证以前安装的mysql服务器彻底卸载掉了;不行的话,检查是否按上面一 步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的 data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。


SQL(structured query language)结构化查询语言 - 收藏于 2009-05-27

1) 创建表

create table months (

             month_id INT NOT NULL AUTO_INCREMENT,

              month VERCHAR (20),

             days INT,

             primary key (month_id);

在将数据添加到表中时,必须提供的值使用NOT NULL 关键字。PRIMARY KEY 关键字告知MySQL 将哪个列用作键字段。

2)将数据添加到表中

INSERT INTO months VALUES (NULL, 'January', 31);

INSERT INTO months VALUES (NULL, 'February', 28);

......

添加数据时,即使没有为每一列提供值,也必须制定所有列。

3)查询数据库

查询所有数据                    SELECT * FROM months

用WHERE 子句限制结果   SELECT * FROM books WHERE title=(' Classic Shell Scripting');

指定顺序                            SELECT * FROM authors ORDER BY author;

将表连接到一起                 SELECT books.*, author FROM books, authors WHERE book.title_id=authors.title_id;

(books.*, author 部分告知数据库从books表中选择所有字段,但只从authors表中选择作者。通过title_id 将表链接在一起)

自然连接:                        SELECT * FROM books NATURAL JOIN authors;

4)修改数据库

    UPDATE books SET pages=376 WHERE title="Linux in a Nutshell";

5)删除数据库

   DELETE FROM authors WHERE author=" Ellen Siever";


数据库基础知识 - 收藏于 2009-05-27

学习目的,就是想不要别人在我面前提到“数据库”这三个字时,我茫然不知,像个傻瓜。关于数据库的总结,分为3个部分:数据库基础知识,SQL语言, MySQL数据库关系系统。

1)数据库(DB)、 数据库管理系统(DBMS database management system)、   数据库系统(DBS )

数据库: 存放数据的仓库,但所存放的数据并不是简单地堆放在一起,而是相互之间有联系的,并按某种存储模式组织管理。

数据库管理系统: 一个数据库管理软件,位于用户和操作系统之间,其职能是维护数据库,接受和完成用户程序或命令提出的访问数据的各种请求。

例如:Oracle,   SQL Server, MySQL 等都是数据库管理系统。

数据库系统:计算机系统引进数据库技术后的整个系统,包括硬件、操作系统、数据库管理系统、应用系统

数据库管理员工作在DBMS上,而用户则是应用系统的使用者。

2)数据库系统的数据模式

三级模式之间的两级映射,外模式/模式   模式/内模式映射

3)数据库系统体系结构

从用户角度看,数据库系统可分为:

单机结构

主从机结构

分布式结构

客户-服务器结构 (C/S Client/ Server)

浏览器-服务器结构 (B/S   Browser/ Server)

4)3种数据模型

层次模型、 网状模型、关系模型(数据结构是若干二维表构成的数据模型,学习的重点)


命令行MYSQL 基本操作 - 收藏于 2009-05-26

MySQL命令行~ZZ~


第一招、mysql服务的启动和停止
net stop mysql
net start mysql

第二招、登陆mysql
语法如下: mysql -u用户名 -p用户密码
键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:
mysql>
注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP

第三招、增加新用户
格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码"
如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。
如果你不想user1有密码,可以再打一个命令将密码去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

第四招: 操作数据库
登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。
1、 显示数据库列表。
show databases;
缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。
2、 显示库中的数据表:
use mysql;
show tables;
3、 显示数据表的结构:
describe 表名;
4、 建库与删库:
create database 库名;
drop database 库名;
5、 建表:
use 库名;
create table 表名(字段列表);
drop table 表名;
6、 清空表中记录:
delete from 表名;
7、 显示表中的记录:
select * from 表名;

第五招、导出和导入数据
1. 导出数据:
mysqldump --opt test > mysql.test
即将数据库test数据库导出到mysql.test文件,后者是一个文本文件
如:mysqldump -u root -p123456 --databases dbname > mysql.dbname
就是把数据库dbname导出到文件mysql.dbname中。
2. 导入数据:
mysqlimport -u root -p123456 < mysql.dbname。
不用解释了吧。
3. 将文本数据导入数据库:
文本数据的字段数据之间用tab键隔开。
use test;
load data local infile "文件名" into table 表名;

1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:2、创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values ("hyq","M");
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数据
mysql>update MYTABLE set sex="f" where name='hyq'; posted on 2006-01-10 16:21 happytian 阅读(6) 评论(0) 编辑 收藏 收藏至365Key13:备份数据库mysqldump -u root 库名>xxx.data14:例2:连接到远程主机上的MYSQL
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:   

mysql -h110.110.110.110 -uroot -pabcd123  

(注:u与root可以不用加空格,其它也一样)  

3、退出MYSQL命令: exit


IBM 实习网申 简历分值 (转) - 收藏于 2009-05-25

IBM蓝色之路09年的暑期实习已经开始了,不知道大家都申请了吗?在论坛里面看到很多前辈写了很多关于网申的经验,受益匪浅。我根据前辈总结的经验对今年IBM的实习申请简历筛选做一个大胆的预测,建议大家采用这个标准先自我评估下,能够通过筛选的概率有多大,免得浪费时间和感情。毕竟IBM的实习职位不可能满足那么多2010年毕业的筒子们。
  
  【说明:听以前去IBM实习过的师姐说过,IBM的实习申请全国范围内能收到2~3万份简历,多数人都是分母炮灰命,在这种严峻形势下,研究下它家的简历标准还是很有必要的。这个标准属于我个人研究成果,仅供参考。】
  
  (1)硬标准
  --英语四级的硬要求(旧的四级:必须为通过,新的四级:425分以上)肯定要首先满足,不满足的,你不用再往下看其他标准了,该忙啥就去忙啥,不用浪费时间了。
  --学历必须为本科以上,专科没戏,所以专科生不用浪费时间了,IBM实习从不招大专生;
  --不是2010年毕业的也没戏,包括09年以前毕业的、2011年毕业的,都不要浪费时间了。
  
  (2)简历评分
  根据权重,简历每一项对应的分值不等,分值越大越好,最后累加计算各项得分。
  
  (一)基本信息部分:
  是否有IBM的实习经验?是:5分,否:0分。
  生源地是否为职位所在城市?是:5分,否:0分。
  目前所在城市与首选应聘城市是否一致,且为以下城市之一:北京、上海、广州、深圳、南京、沈阳、成都、杭州、济南?
  是:5分
  否:目前所在地与首选应聘城市在上述城市范围,但不一致,则加3分;目前所在地不在上述城市范围,则为0分。
  【备注:上述城市范围参考的是它家官方网页上的宣讲会行程所到城市】
  
  (二)教育背景部分:
  学校:985高校5分;211高校3分;其他高校0分;(这一项基本上可通过下拉列表中是否有你学校的名字作为一个初步判断标准)
  专业:专业与职位是否对口,是:2分,否:0分;(见职位的具体要求自行评估)
  学历:本科1分,硕士2分,博士及MBA 为3分;
  年级排名:5%为5分,前10%为3分,前20%及30%为1分,其他0分;
  主修课程:是否含有与职位要求的相关技能,是:1分,否:0分;(见职位的具体要求自行评估)
  
  (三)奖励活动部分:
  是否获得过IBM或者其他IT公司相关奖学金?是:5分,否:0分;
  是否有其他获奖经历:是:1分,否:0分;
  是否有学生会、社团的主席任职经历?是:2分;否:0分。
  
  (四)技能爱好:
  英语等级:
  CET 4:
  如果为旧的CET4:没通过0分(直接被out),通过1分,良好2分,优秀3分;
  如果为新的CET 4新分制:425分以下0分(直接被out),425-519为1分,520-614为2分,615以上为3分;
  CET 6:
  如果为旧的CET 6:通过3分,良好4分,优秀5分;
  如果为新的CET6新分制:425分以下0分,425-519为3分,520-614为4分,615以上为5分;
  TEM4:通过2分,良好3分,优秀4分;
  TEM8:通过3分,良好4分,优秀5分;
  PET3:没通过0分(直接被out),通过1分,良好2分,优秀3分;
  参加过TOFEL、GRE、GMAT、TOEIC、IELTS考试?是:3分,否0分;
  英语口语水平:母语5分,流利5分,可英语面试2分,简单会话1分;
  是否获得过IBM专业资格证书?是5分,否0分;
  如果是2个证书,则再加2分;如果是3个证书,则再加4分;
  
  (五)项目经验:
  是否有项目经验?有2分,无0分;
  项目关键字是否与职位要求是否匹配?是2分,否0分;(见职位的具体要求自行评估);
  项目是否有论文、专利及获奖?是3分,否0分;
  
  (六)实习或工作经验:
  是否有实习或经验?有3分,无0分;
  是否在IBM或其商业伙伴工作过?是5分,否0分;
  实习或工作经验时间:半年以上5分,1-2个月2分,3-5个月4分;
  实习或工作经验与职位要求是否匹配?是5分,否0分;
  
  
  (七)发表论文
  是否有发表论文?是:2分,否:0分;
  如果有发表,是否为第一作者:是2分,否1分;
  发表论文的期刊是否属于SCI、EI、ISTP、ISR?是:5分,否0分;
  
  以上就是我根据IBM实习网申的填写明细自定义的简历评分标准,大家可参考给自己打个分,然后将各项分值累加,计算出一个总分值,然后对照一下。
  
  各分值区间说明:
  小于25分:基本没戏,申了也白申;
  大于25分,小于等于40分:可能有戏,不妨试试,能否通过全看你的运气和人品、HR看你简历时的心情;
  大于40分,小于等于60分:机会很大,值得认真填写网申;
  大于60分,小于等于90分:肯定通过,可以早点准备笔试、面试。

IBM 笔试归来 - 收藏于 2009-05-24

感受

1)申请职位应该申请技术的,当时考虑太多的传说中的地域限制,申请时太保守了。

2) 题型:

     13 分钟     15个题 三个矩阵变换题,题目太长的没做,其他的做了,时间还好;

     4分钟      20个题 很简单的数字找规律题,把答案写在纸上了,最后涂答题卡,做完了,时间也是刚刚好。

     15分钟    12个题   应用题, 这部分答的很差,不但没做几个,做的也是模棱两可。答的很差。

3) 我的第一个工作笔试,就这样结束了,还没来得及我反应,收卷子了。


enum & switch 两个小题目 - 收藏于 2009-05-23


18. enum number { a=-1, b= 4,c,d,e}
      What is the value of e ?
(a) 7
(b) 4
(c) 5
(d) 15
(e) 3
Ans: 7

解释:枚举元素的值,可以由程序员制定,以后顺序加1 ;


20. Output of the following program is
main()
{int i=0;
for(i=0;i<20;i++)
{switch(i){
case 0:i+=5;
case 1:i+=2;
case 5:i+=5;
default : i+=4;
break;}
printf("%d,",i);
}
}
a) 0,5,9,13,17
b) 5,9,13,17
c) 12,17,22
d) 16,21
e) Syntax error

Ans. (d)

解释:在执行switch语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号执行下去,不再进行判断。所以在执行一个case分支后,加一个break语句。


枚举类型 enum color {red,orage, blue ...} - 收藏于 2009-05-22

问题解决,曾一度complain 谭书中的 enum 代码错误,其实是自己知道的太少了。谭书中下面的程序:

//Date: Mon. 13 April 2009
//enum 枚举类型

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
enum color {red,yellow,blue,white,black};
// enum color i,j,k,pri;
int i,j,k,pri;

int n,loop;
n=0;
for(i=red;i<=black;i++)
{
   for(j=red;j<=black;j++)
   {
    if(i!=j)
    {
     for(k=red;k<=black;k++)
     {
      if((k!=i)&&(k!=j))
      {
       n=n+1;
       printf("%-4d",n);
       for(loop=1;loop<=3;loop++)
       {
        switch (loop)
        {
        case 1:pri=i;break;
        case 2:pri=j;break;
        case 3:pri=k;break;
        default: break;
        }
        switch (pri)
        {
        case red: printf("%-10s","red");break;
                            case yellow: printf("%-10s","yellow");break;
        case blue: printf("%-10s","blue");break;
        case white: printf("%-10s","white");break;
        case black: printf("%-10s","black");break;
        default: break;
        }
       }
       printf("\n");
      }
     }
    }
   }
}
printf("\ntotal:%5d\n",n);
return 0;
}

1)enum 常量是int类型的,因此在使用int类型的任何地方都可以使用它。

2)c的某些枚举属性不能延至C++中,例如,C允许对枚举类型使用运算符++,而C++不允许。因此,如果你的代码有可能被加入C++程序中,那么在上面的例子中,必须把color声明为int类型。这样代码就既能工作在C下,也能工作在C++下。


毕马威 HR(Human Resource) 讲解面试官的感受 - 收藏于 2009-05-21

很难得听到 牛企的HR 的report, 感慨她们的口才和多角度思考的思维。总结几点面试前要准备的:

1)了解行业、了解公司、了解职位。 简单几个字,做起来不是很简单的

2) 更重要的一点,了解自己。 自己的skill

      回答面试官问题时,最好给出example来present自己,描述一件事情来说明自己。这是几天听到的最大的感触。

3)小组讨论时,要关注每个人的思维和理由,而不是张扬自己的。

4)面试官问问题时,不是为了寻求答案,No right answer! 只是想更多了解你

     回答自己的工作时,要区分我和我们

To sum up ,就是要真实地反映自己,储备知识 improve yourself,这是最重要也是最真实的要准备的。


变量类型限定词 const volatile & restrict - 收藏于 2009-05-21

const: 不能通过赋值、增量或减量来修改该变量的值

              const   float * pf     指针pf指向的值必须不变

              float * const   pf     pf必须总是指向同一个地址

            指针本身不变还是指针指向的值不变要区分开来。

1)对全局数据使用const    使用全局数据被认为是一个冒险的方法,因为它暴露了数据,使程序的任何部分都可以错误地修改数据。使用const,这种危险就不存在了

volatile: 告诉编译器该变量除了可被程序改变外还可被其他代理改变。

                    volatile int locl;

1)它被用于硬件地址和与其他并行运行的程序共享的数据

PS: 一个值可以同时是const和volatile,例如:硬件时钟一般设定为不能由程序改变,这一点使它成为const,但它被程序以外的代理改变,这使它成为volatile的

                volatile const int loc;

                const   volatile int loc;

顺序不重要

restrict: 它只可用于指针,并表明指针式访问一个数据对象的唯一且初始的方式

                int * restrict restar=(int *) malloc(1)*sizeof(int));

指针restar是访问由malloc()分配的内存的唯一且初始的方式


df 查看linux磁盘剩余空间 - 收藏于 2009-05-21

使用df命令查看linux磁盘剩余空间

[root]# df -hl
文件系统               容量   已用   可用 已用% 挂载点
/dev/hda5              487M   120M   342M   27% /
/dev/hda1              981M    21M   911M    3% /boot
none                   125M      0   125M    0% /dev/shm
/dev/hda2               29G   4.9G    23G   18% /home
/dev/hda3               20G   4.8G    14G   27% /usr
/dev/hda7               24G   510M    22G    3% /var
/dev/hdb2               75G     75G     0 100% /

df是以磁盘分区为单位来查看文件系统。
/dev/hdb2 75G 75G 0 100% /, 以此为例。
表示HD硬盘接口的第二个硬盘(b),第二个分区(2),容量是75G,用了75G,可用是0,因此利用率是100%, 被挂载到根分区目录上(/)

     另外简单的一个办法就是鼠标右键查看磁盘、文件夹属性,就能了解到已用多少,剩余多少空间。


Linux Unix 重定向 - 收藏于 2009-05-21

重定向的一个主要问题是其与操作系统而不是c相关联。输入重定向使您的程序能够使用文件代替键盘作为输入,输出重定向则使程序能够使用文件代替屏幕作为输出。

假设你已经编译echo_eof.c 程序,可执行文件echo_eof .exe,要运行该程序,在命令行键入:

echo_eof

这样运行,从键盘获取输入。若希望从一个名为words的文本文件使用该程序。在命令行键入:

echo_eof < words

若你希望输入的不显示在屏幕上,而发送到一个名为mywords的文件。在命令行键入:

echo_eof > mywords

实际上,重定向就是将stdin流 stdout流重新分配至文件。


rect_pol.c - 收藏于 2009-05-20

可以复习math.h库 还有结构体和typedef工具

//Date: Wed. 20 May 2009
//rect_pol.c 直角坐标转化成极坐标

#include <stdio.h>
#include <math.h>

#define RAD_TO_DEG (180/(4*atan(1)))

typedef struct polar_v{
double magnitude;
double angle;
}POLAR_V;

typedef struct rect_v{
double x;
double y;
}RECT_V;

POLAR_V rect_to_polar(RECT_V);

int main(void)
{
RECT_V input;
POLAR_V result;

puts("Enter x,y coordinates: enter q to quit:");
while (scanf("%lf%lf",&input.x,&input.y)==2)    //为什么输入q会 跳出这个循环?

/*scanf函数是有返回值的,其返回值为被正确赋值的变量的个数,所以如果你的输入只有一个,不管是不是q,程序都会退出*/
{
   result=rect_to_polar(input);
   printf("magnitude=%0.2f,angle=%0.2f\n",result.magnitude,result.angle);
}
puts("Bye.");
return 0;
}

POLAR_V rect_to_polar (RECT_V rv)
{
POLAR_V pv;
pv.magnitude=sqrt(rv.x*rv.x+rv.y*rv.y);
if(pv.magnitude==0)
   pv.angle=0.0;
else
   pv.angle=RAD_TO_DEG*atan2(rv.y,rv.x);
return pv;
}


内联函数 - 收藏于 2009-05-20

通常函数调用需要一定的时间开销。这意味着执行调用时花费了时间用于建立调用、传递参数、跳转到函数代码并返回。使用类函数宏的一个原因就是可减少执行时间。

c99还提供另一个方法:内联函数(inline function)。c99标准这样描述:“把函数变为内联函数将建议编译器尽可能快速地调用函数。上述建议的效率由实现来定义。”因此,使函数变为内联函数可能会简化函数的调用机制,但也可能不起作用。

内联函数应该比较短小,对于很长的函数,调用函数的时间少于执行函数主体的时间:此时,使用内联函数不会节省多少时间。


宏和函数的区别 - 收藏于 2009-05-20

宏分为 不带参数宏定义和带参数宏定义。宏在某种程度上比常规的函数复杂,有些编译器限制宏只能定义成一行。

宏和函数的区别:

1)在函数调用时,先求出实参表达式的值,然后代入形参。而使用带参的宏只是进行简单的字符替换。

2)函数调用在程序运行时,为形参分配临时的内存单元。而宏展开则是在编译前进行的。在展开时不分配内存单元,不进行值得传递处理,也没有“返回值”的概念

3)函数中的实参和形参要类型一致。而宏不存在类型的问题,宏名无类型,它的参数也无类型,只是一个符号代表。

4)调用函数值可得到一个返回值,而用宏可以设法得到几个结果。

5)使用宏的次数多时,源程序增长。而函数调用不使源程序变长。

6) 宏替换不占用运行时间,只占编译时间。函数调用(分配单元、保留现场、值传递、返回)占运行时间。


windows下 main(argc,argv[])在命令行运行 - 收藏于 2009-05-20

程序:

//Date: Tue. 19 May 2009
//文件压缩

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LEN 40

int main(int argc,char *argv[])
{
FILE * in,* out;
int ch;
char name[LEN];
int count=0;

//检查命令行参数
if(argc<2)
{
   fprintf(stderr,"Usage:%s filename\n",argv[0]);
   exit(1);
}

//实际输入
if((in=fopen(argv[1],"r"))==NULL)
{
   fprintf(stderr, "I couldn't open the file\"%s\"\n",argv[1]);
   exit(2);
}
strcpy(name, argv[1]);
strcat(name,".red");

//实际输出
if((out=fopen(name,"w"))==NULL)
{
   fprintf(stderr,"Can't create ouput file.\n");
   exit(3);
}

//复制数据
while((ch=getc(in))!=EOF)
{
   if(count++%3==0)
    putc(ch,out);
}

//收尾工作
if(fclose(in)!=0||fclose(out)!=0)
   fprintf(stderr,"Error in closing files\n");

return 0;
}

命令行运行方法:

1)编译生成.exe(VC 运行的话,.exe 在Debug里) , 拖到cmd中(回车),显示全路径

2)全路径 *.exe    全路径参数


存储类与动态内存分配 - 收藏于 2009-05-19

我们来看一个理想的模型,可以认为程序将它的可用内存分成了三个独立的部分:

一个是具有外部链接的、具有内部链接的以及具有空链接的静态变量的;

一个是自动变量的;(栈区 stack, 栈区比较小,先进后出)

另一个是动态分配的内存的; (堆区 heap, 堆区比较大,先进先出)

    在编译时已经知道了静态存储时期存储类变量所需的内存变量,存储在这一部分的数据在整个程序运行期间都可用。这一类型的每个变量在程序开始时就已存在,到程序结束时终止。

    一个自动变量在程序进入包含该变量定义的代码块时产生,在退出这一代码块时终止。因此,伴随着程序对函数的调用和终止,自动变量使用的内存数量也在增加和减少。 典型地,将这一部分内存处理为一个堆栈。这意味着在内存中,新变量在创建是按顺序加入,在消亡时按相反顺序移除。

    动态分配的内存在调用malloc () 或想相关函数时产生,在调用free()时释放。


stdlib.h库中 常用函数 - 收藏于 2009-05-19

1)srand(time()NULL)    初始化种子

2)rand( )      产生随机数

3)malloc( )      free( )

     double * ptd=(double *) malloc (N * sizeof(double))

                   free (ptd)

4)exit( )     用来在内存分配失败时结束程序

    exit( EXIT_SUCCESS)     exit(EXIT_FAILURE)


C中变量的 存储类 - 收藏于 2009-05-19

存储类的3个术语: 作用域、链接、存储时期

1)作用域: 文件作用域(file scope) (也叫全局变量)

                     代码块(block scope)和函数原型(function prototype scope)作用域

2)链接:     代码块(block scope)和函数原型(function prototype scope)作用域-------空链接

                      文件(file scope)作用域-------- 内部链接(static) 或是外部链接

3)存储时期:自动存储时期-----代码块作用域和函数原型作用域

                        静态存储时期------文件作用域变量,不管是内部链接还是外部链接的

总结:5个存储类

自动变量具有代码块作用、空链接和自动存储时期。它们是局部的,为定义它们的代码块(通常是一个函数)所私有。

寄存器变量与自动变量具有相同的属性,如果幸运的话,可以存储在CPU的寄存器中,或存储在速度最快的内存中,比普通变量更快地访问和操作。因为寄存器变量多是存放在寄存器而非内存中,所以无法获得寄存器变量的地址。

具有静态存储时期的变量可能具有外部链接,内部链接或空链接                                                                 

当变量在文件的所有函数之外声明时,它是一个具有文件作用域的外部变量,具有外部链接和静态存储时期。如果在这样的声明中再加上关键字static,将获得一个具有静态存储时期、文件作用域和内部链接的变量。 如果在一个函数内部使用关键字static声明变量,变量具有静态存储时期、代码块作用域和空链接。

当程序执行到包含变量声明的代码块时,给具有自动存储时期的变量分配内存,并在代码块结束时释放这部分内存。如果没有初始化,这样的变量具有一个无效值。 在程序编译时给具有静态存储时期的变量分配内存,并且在程序运行时一直保持。如果没有初始化,这样的变量被设置为0,具有代码块作用域的变量局部与包含变量声明的代码。

具有文件作用域的变量对文件中它的声明之后的所有函数可见。如果一个文件作用域变量具有外部链接,则它可被程序中的其他文件使用。如果一个文件作用域变量具有内部链接, 它只能在声明它的文件中使用。


小有压力 - 收藏于 2009-05-18

晚上去听IBM的宣讲会了,公司很好,渴望这个锻炼的机会。可每次不管是经验交流,还是宣讲,都在提示我们每个人,先认识自己,自己适合什么样的工作?面对这样的问题,我总是在2种观念中徘徊

一是: 如果我们不去尝试,怎么知道自己适合什么样的工作?

二是:即使我们知道自己现在能做什么样的,在环境的熏陶下,做其他的也可能啊

现在就应该定下来自己做什么,还是要不断尝试?重在尝试,相信有尝试的时间和机会,不管什么时候。


多打电话 多发邮件 多咨询 - 收藏于 2009-05-12

最近迷迷糊糊的,好多事情想当然的做了,不咨询确认,就自己拿主意去做了。结果麻烦不断。

论文提交系统,没和老师说,没和师兄说,以为他们忙。可忙是他们的事情,说不说就是我的事情了。

高考阅卷系统,没经确认自己选了个数学,真是的。数学院的才会评数学,我们只能评理综啊,以为系统不会在意这些,但提交会不通过的。做事情真的不能想当然啊,要细心、严谨、认真。

心得:

1)不确定的地方,一定要找能问的人问清楚,不要怵去咨询别人;

2)机会靠自己争取,努力争取,还能弥补回来。最好一开始就不要有什么疏漏;

3) 一定要细心、严谨、认真。态度很重要!!


微软考试 智力测试 - 收藏于 2009-05-12

    智力题--五盗分赃(据说在美国,20分钟能做出这道题的人都是百万富翁。) 5个海盗抢到了100颗宝石,每一颗都一样的大小和价值连城。他们决定这么分:   1、抽签决定自己的号码(1,2,3,4,5)    2、首先,由1号贼提出分配方案,然后由其余4贼进行表决,当且仅当超过半数 的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。    3、如果1号贼死后,再由2号贼提出分配方案,然后由其余3贼进行表决,当且仅当超过半数的贼同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。    4、以次类推……   条件:   每个海盗都是很聪明的人,都能很理智的判断得失,从而做出选择。   问题:   第一个海盗提出怎样的分配方案才能够使自己的收益最大化?

  小红买了一只手表小红买了一只手表,戴上的当天就发现它比家里的闹钟每小时要快2分钟。后来,她又发现家里的闹钟比电台播报的标准时间每小时要慢2分钟。因此?(a)手表指示的时间是准的(b)手表指示的时间比标准时间要快(c)手表指示的时间比标准时间要慢。

分叉路口一个人走到一个分叉路口,不知到该怎么走。这时他碰到三个人,他只知道其中一个只说真话,另外两个只说假话,但不知具体是谁。他问了其中一个人一句话,就知道该怎么走了。请问他问的是什么?

一道据说是世界上目前最好的智力题有十二个乒乓球特征相同,其中只有一个重量异常,现在要求用一部没有砝码的天平称三次,将那个重量异常的球找出来。评分标准: 1、30分钟以内做出来:智力很高很高很高,不知道有多高。    2、60分钟以内做出来:智力很高。    3、两小时内做出来: 智力相当高。    4、1天或者1周内做出来:智力也很高,而且还是一个有毅力的人。  5、10分钟内做出来:你或者以前做过,或者多半是个马虎的人。回去检查答案。玩玩智力题,等于作头脑体*,对于防止脑子生锈是有好处的。

烧绳子确定时间您要能在十分钟内找到正确答案,毫无疑问,你是非常聪明的人。 问题:一模一样的绳子,有若干根。绳子每段材质不同(因此燃烧速度也不同)。一根绳子燃尽全程需一小时。试用燃烧的方法确定出45分钟?


红眼睛 蓝眼睛 - 收藏于 2009-05-12

有一个很古老的村子,这个村子的人分两种,红眼睛和蓝眼睛,这两种人并没有什
么不同,小孩在没生出来之前,没人知道他是什么颜色的眼睛,这个村子中间有一个广
场,是村民们聚集的地方,现在这个村子只有三个人,分 住三处。在这个村子,有一个规定,就是如果一个人能知道自己眼睛的颜色并且在晚上 自杀的话,他就会升入天堂,这三个人不能够用语言告诉对方眼睛的颜色,也不能用任 何方式提示对方的眼睛是什么颜色,而且也不能用镜子, 水等一切有反光的物质来看到自己眼睛的颜色,当然,他们不是瞎子,他们能看到对方 的眼睛,但就是不能告诉他!他们只能用思想来思考,于是他们每天就一大早来到广场 上,面对面的傻坐着,想自己眼睛的颜色,一天天过去了
,一点进展也没有,直到有一天,来了一个外地人,他到广场上说了一句话,改变了他
们的命运,他说,你们之中至少有一个人的眼睛是红色的。说完就走了。这三个人听了
之后,又面对面的坐到晚上才回去睡觉,第二天,他们又 来到广场,又坐了一天。当天晚上,就有两个人成功的自杀了!第三天,当最后一个人 来到广场,看到那两个人没来,知道他们成功的自杀了,于是他也回去,当天晚上,也 成功的自杀了!
根据以上,请说出三个人的眼睛的颜色,并能够说出推理过程!


两个红眼睛,一个蓝眼睛


1.如果三个人是两个蓝眼睛,一个红眼睛的话,那么第一天回去那个红眼睛的人应该可以肯定自己的眼镜是红,所以会自杀,可是第二天没有人自杀,所以不可能是这种情况.
2.如果是两个红眼睛,一个蓝眼睛的话,那么其中一个红眼睛的人这样推理,如果自己是蓝眼睛,那么另一个红眼睛的人看到有两个蓝眼睛的,就知道自己是红眼睛了,回去一定自杀.如果自己是红眼睛,那么另两个人都无法判断,所以第二天不会有人自杀,因此当第二天来时没人自杀,那么那两个红眼睛的人都能知道自己是红眼睛的.所以回去就自杀了.这样的话最后一个人根据前面的推理就能能够知道自己是蓝眼睛了.
3.另一种情况是三个人的眼睛都是红的,那么应该是在最后一天时三个人同时自杀,因为按一个人的判断,如果自己是蓝眼睛的话自己应该是情况2中最后一个自杀的,可是连续两天都没人自杀的话说明自己也是红眼睛.这样三个人情况一样应该同时自杀.
所以结果如2,则可以判断是两个红眼睛,一个蓝眼睛


微软智力测试 - 收藏于 2009-05-12

一个村子里,有50户人家,每家都养了一条狗。现在,发现村子里面出现了n只疯狗,村里规定,谁要是发现了自己的狗是疯狗,就要将自己的狗枪毙。
但问题是,村子里面的人只能看出别人家的狗是不是疯狗,而不能看出自己的狗是不是疯的,如果看出别人家的狗是疯狗,也不能告诉别人。
于是大家开始观察,第一天晚上,没有枪声,第二天晚上,没有枪声,第三天晚上,枪声响起(具体几枪不清楚),问村子里有几只疯狗?

已知,N>=1. (为什么没人讨论N=0的问题?是我就要问,N只是N,可以有0条病狗嘛。呵呵,不过既然大家都默认N>1才有意义,那就取N>=1)

因此,第一天,没有枪响。排除N=1的情况。因为如果N=1,将会有一个人看不见任何病狗。而他当天就会开枪。事实并没有发生,因此,不存在一个人看不见病狗的情况,即N=1 不成立。

剩下的条件为N>1.


第二轮,已知条件为N>1. N是自然数,大于1,就必然>=2.每个人都知道至少有2条病狗。那么N=2不? 假设N=2,那么就会有一个人只看见1条病狗。那么这个人当天晚上就会开枪,事实上,他并没有开枪。 说明N=2,不成立。 因此N>2. 病狗数大于2条。

第三轮,已知条件N>2。 同理,每个人都知道病狗数至少为3条。 那么N=3不? 假设N=3,那么就必然有一个人只看见了2条病狗,而他晚上就会开枪。

事实上,晚上确实有人开枪了。 所以N=3 成立。

那么N>3 成立不?

假设病狗数为4条。

那么第一天,病狗主人每人看见了3条。不存在只看见0条的人。第一天不会响枪。

第2天,每个病狗主人还是看见了3条。不存在只看见1条的人。第二天不会响枪。

第3天,每个病狗主人还是看见了3条。不存在只看见2条的人。第三天不会响枪。


因此,N=4 不成立。

同理,N>4 不成立。


结论:本题有唯一解 N=3 3条病狗。


证明完毕。


sprintf 函数用法 - 收藏于 2009-05-12

在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。

sprintf 是个变参函数,定义如下:
int sprintf( char *buffer, const char *format [, argument] ... );
除了前两个参数类型固定外,后面可以接任意多个参数。而它的精华,显然就在第二个参数:
格式化字符串上。


printf 和sprintf 都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串。

格式化数字字符串
sprintf 最常见的应用之一莫过于把整数打印到字符串中,所以,spritnf 在大多数场合可以替代
itoa。

如:
//把整数123 打印成一个字符串保存在s 中。
sprintf(s, "%d", 123); //产生"123"
可以指定宽度,不足的左边补空格:
sprintf(s, "%8d%8d", 123, 4567); //产生:" 123 4567"
当然也可以左对齐:
sprintf(s, "%-8d%8d", 123, 4567); //产生:"123 4567"
也可以按照16 进制打印:
sprintf(s, "%8x", 4567); //小写16 进制,宽度占8 个位置,右对齐
sprintf(s, "%-8X", 4568); //大写16 进制,宽度占8 个位置,左对齐

这样,一个整数的16 进制字符串就很容易得到,但我们在打印16 进制内容时,通常想要一种左边补0 的等宽格式,那该怎么做呢?很简单,在表示宽度的数字前面加个0 就可以了。
sprintf(s, "%08X", 4567); //产生:"000011D7"
上面以”%d”进行的10 进制打印同样也可以使用这种左边补0 的方式。


这里要注意一个符号扩展的问题:比如,假如我们想打印短整数(short)-1 的内存16 进制表示形式,在Win32 平台上,一个short 型占2 个字节,所以我们自然希望用4 个16 进制数字来打印它:
short si = -1;
sprintf(s, "%04X", si);
产生“FFFFFFFF”,怎么回事?因为spritnf 是个变参函数,除了前面两个参数之外,后面的参数都不是类型安全的,函数更没有办法仅仅通过一个“%X”就能得知当初函数调用前参数压栈时被压进来的到底是个4 字节的整数还是个2 字节的短整数,所以采取了统一4 字节的处理方式,导致参数压栈时做了符号扩展,扩展成了32 位的整数-1,打印时4 个位置不够了,就把32 位整数-1 的8 位16 进制都打印出来了。

如果你想看si 的本来面目,那么就应该让编译器做0 扩展而不是符号扩展(扩展时二进制左边补0 而不是补符号位):
sprintf(s, "%04X", (unsigned short)si);
就可以了。或者:
unsigned short si = -1;
sprintf(s, "%04X", si);


sprintf 和printf 还可以按8 进制打印整数字符串,使用”%o”。注意8 进制和16 进制都不会打
印出负数,都是无符号的,实际上也就是变量的内部编码的直接的16 进制或8 进制表示。

控制浮点数打印格式
浮点数的打印和格式控制是sprintf 的又一大常用功能,浮点数使用格式符”%f”控制,默认保
留小数点后6 位数字,比如:
sprintf(s, "%f", 3.1415926); //产生"3.141593"
但有时我们希望自己控制打印的宽度和小数位数,这时就应该使用:”%m.nf”格式,其中m 表
示打印的宽度,n 表示小数点后的位数。比如:
sprintf(s, "%10.3f", 3.1415626); //产生:" 3.142"
sprintf(s, "%-10.3f", 3.1415626); //产生:"3.142 "
sprintf(s, "%.3f", 3.1415626); //不指定总宽度,产生:"3.142"

注意一个问题,你猜
int i = 100;
sprintf(s, "%.2f", i);
会打出什么东东来?“100.00”?对吗?自己试试就知道了,同时也试试下面这个:
sprintf(s, "%.2f", (double)i);
第一个打出来的肯定不是正确结果,原因跟前面提到的一样,参数压栈时调用者并不知道跟i相对应的格式控制符是个”%f”。而函数执行时函数本身则并不知道当年被压入栈里的是个整数,于是可怜的保存整数i 的那4 个字节就被不由分说地强行作为浮点数格式来解释了,整个乱套了。不过,如果有人有兴趣使用手工编码一个浮点数,那么倒可以使用这种方法来检验一下你手工编排的结果是否正确。

字符/Ascii 码对照
我们知道,在C/C++语言中,char 也是一种普通的scalable 类型,除了字长之外,它与short,
int,long 这些类型没有本质区别,只不过被大家习惯用来表示字符和字符串而已。(或许当年该把
这个类型叫做“byte”,然后现在就可以根据实际情况,使用byte 或short 来把char 通过typedef 定义出来,这样更合适些)于是,使用”%d”或者”%x”打印一个字符,便能得出它的10 进制或16 进制的ASCII 码;反过来,使用”%c”打印一个整数,便可以看到它所对应的ASCII 字符。以下程序段把所有可见字符的ASCII 码对照表打印到屏幕上(这里采用printf,注意”#”与”%X”合用时自动为16 进制数增加”0X”前缀):
for(int i = 32; i < 127; i++) {
printf("[ %c ]: %3d 0x%#04X\n", i, i, i);
}


连接字符串
sprintf 的格式控制串中既然可以插入各种东西,并最终把它们“连成一串”,自然也就能够连
接字符串,从而在许多场合可以替代strcat,但sprintf 能够一次连接多个字符串(自然也可以同时
在它们中间插入别的内容,总之非常灵活)。比如:
char* who = "I";
char* whom = "CSDN";
sprintf(s, "%s love %s.", who, whom); //产生:"I love CSDN. "
strcat 只能连接字符串(一段以’\0’结尾的字符数组或叫做字符缓冲,null-terminated-string),但有时我们有两段字符缓冲区,他们并不是以’\0’结尾。比如许多从第三方库函数中返回的字符数组,从硬件或者网络传输中读进来的字符流,它们未必每一段字符序列后面都有个相应的’\0’来结尾。如果直接连接,不管是sprintf 还是strcat 肯定会导致非法内存操作,而strncat 也至少要求第一个参数是个null-terminated-string,那该怎么办呢?我们自然会想起前面介绍打印整数和浮点数时可以指定宽度,字符串也一样的。比如:
char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};
char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', 'N'};
如果:
sprintf(s, "%s%s", a1, a2); //Don't do that!
十有八九要出问题了。是否可以改成:
sprintf(s, "%7s%7s", a1, a2);
也没好到哪儿去,正确的应该是:
sprintf(s, "%.7s%.7s", a1, a2);//产生:"ABCDEFGHIJKLMN"
这可以类比打印浮点数的”%m.nf”,在”%m.ns”中,m 表示占用宽度(字符串长度不足时补空格,超出了则按照实际宽度打印),n 才表示从相应的字符串中最多取用的字符数。通常在打印字符串时m 没什么大用,还是点号后面的n 用的多。自然,也可以前后都只取部分字符:
sprintf(s, "%.6s%.5s", a1, a2);//产生:"ABCDEFHIJKL"
在许多时候,我们或许还希望这些格式控制符中用以指定长度信息的数字是动态的,而不是静态指定的,因为许多时候,程序要到运行时才会清楚到底需要取字符数组中的几个字符,这种动态的宽度/精度设置功能在sprintf 的实现中也被考虑到了,sprintf 采用”*”来占用一个本来需要一个指定宽度或精度的常数数字的位置,同样,而实际的宽度或精度就可以和其它被打印的变量一样被提供出来,于是,上面的例子可以变成:
sprintf(s, "%.*s%.*s", 7, a1, 7, a2);
或者:
sprintf(s, "%.*s%.*s", sizeof(a1), a1, sizeof(a2), a2);
实际上,前面介绍的打印字符、整数、浮点数等都可以动态指定那些常量值,比如:
sprintf(s, "%-*d", 4, 'A'); //产生"65 "
sprintf(s, "%#0*X", 8, 128); //产生"0X000080","#"产生0X
sprintf(s, "%*.*f", 10, 2, 3.1415926); //产生" 3.14"


打印地址信息
有时调试程序时,我们可能想查看某些变量或者成员的地址,由于地址或者指针也不过是个32 位的数,你完全可以使用打印无符号整数的”%u”把他们打印出来:
sprintf(s, "%u", &i);
不过通常人们还是喜欢使用16 进制而不是10 进制来显示一个地址:
sprintf(s, "%08X", &i);
然而,这些都是间接的方法,对于地址打印,sprintf 提供了专门的”%p”:
sprintf(s, "%p", &i);
我觉得它实际上就相当于:
sprintf(s, "%0*x", 2 * sizeof(void *), &i);
利用sprintf 的返回值
较少有人注意printf/sprintf 函数的返回值,但有时它却是有用的,spritnf 返回了本次函数调用
最终打印到字符缓冲区中的字符数目。也就是说每当一次sprinf 调用结束以后,你无须再调用一次
strlen 便已经知道了结果字符串的长度。如:
int len = sprintf(s, "%d", i);
对于正整数来说,len 便等于整数i 的10 进制位数。
下面的是个完整的例子,产生10 个[0, 100)之间的随机数,并将他们打印到一个字符数组s 中,
以逗号分隔开。
#i nclude
#i nclude
#i nclude
int main() {
srand(time(0));
char s[64];
int offset = 0;
for(int i = 0; i < 10; i++) {
offset += sprintf(s + offset, "%d,", rand() % 100);
}
s[offset - 1] = '\n';//将最后一个逗号换成换行符。
printf(s);
return 0;
}
设想当你从数据库中取出一条记录,然后希望把他们的各个字段按照某种规则连接成一个字
符串时,就可以使用这种方法,从理论上讲,他应该比不断的strcat 效率高,因为strcat 每次调用
都需要先找到最后的那个’\0’的位置,而在上面给出的例子中,我们每次都利用sprintf 返回值把这
个位置直接记下来了。


使用sprintf 的常见问题
sprintf 是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访
问错误,但好在由sprintf 误用导致的问题虽然严重,却很容易找出,无非就是那么几种情况,通
常用眼睛再把出错的代码多看几眼就看出来了。


第一个参数的长度太短了,没的说,给个大点的地方吧。当然也可能是后面的参数的问
题,建议变参对应一定要细心,而打印字符串时,尽量使用”%.ns”的形式指定最大字符数。


忘记了第一个参数
低级得不能再低级问题,用printf 用得太惯了。//偶就常犯。:。(


变参对应出问题
通常是忘记了提供对应某个格式符的变参,导致以后的参数统统错位,检查检查吧。尤
其是对应”*”的那些参数,都提供了吗?不要把一个整数对应一个”%s”,编译器会觉得你
欺她太甚了(编译器是obj 和exe 的妈妈,应该是个女的,:P)。

strftime
sprnitf 还有个不错的表妹:strftime,专门用于格式化时间字符串的,用法跟她表哥很像,也
是一大堆格式控制符,只是毕竟小姑娘家心细,她还要调用者指定缓冲区的最大长度,可能是为
了在出现问题时可以推卸责任吧。这里举个例子:
time_t t = time(0);
//产生"YYYY-MM-DD hh:mm:ss"格式的字符串。
char s[32];
strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", localtime(&t));
sprintf 在MFC 中也能找到他的知音:CString::Format,strftime 在MFC 中自然也有她的同道:
CTime::Format,这一对由于从面向对象哪里得到了赞助,用以写出的代码更觉优雅


整数转成字符串IP地址 - 收藏于 2009-05-11

编写一个函数将给4个十进制的数字,将其转换成为IP地址,void toIP(char *str,int n1,int n2,int n3,int n4),比如下面这样调用:

char str[128];

toIP(str,121,121,256,32),返回str为”121.121.

写了一下,感觉很不专业

//Date: Mon. 11 May 2009
//整数转化成IP地址

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
void toIP(char *str,int n1,int n2,int n3,int n4);
char str[128];
int n1,n2,n3,n4;
printf("请输入四个整数:\n");
scanf("%d%d%d%d",&n1,&n2,&n3,&n4);
toIP(str,n1,n2,n3,n4);
printf("转化成IP地址为:\n");
printf("%s\n",str);
return 0;   
}


void toIP(char *str,int n1,int n2,int n3,int n4)
{
int i=0,j;
int k=0;
char tmp;
int a[4]={n1,n2,n3,n4};
   
for(j=0;j<4;j++)
{
    k=0;
    do
    {
   *(str+i)=a[j]%10+'0';
   i++;
k++;
    }while((a[j]=a[j]/10)>0);    /* 整数转成字符串*/

tmp=str[i-1];               /* 顺序 */
   str[i-1]=str[i-k];
   str[i-k]=tmp;

       *(str+i)='.';      /* ASCII 46 */
    i++;
}

    str[i-1]='\0';
}


bbs叫去培训 网页制作 - 收藏于 2009-05-09

培训了一下午,还是有所收获。最起码听到“三剑客”知道具体怎么回事了。不想做专业网站设计,只是了解,会照猫画虎。代码确实很简单,和我用latex差不多,关键是看idea 、审美、还有经验。

对网页制作的粗略理解是: 先写个Html文件做骨架,再写个css文件做美化;

1)HTML:Hyper Text Mark-up Lanuage 超文本标记语言

2)URL: 协议+域名+路径+文件名

3)文件名:

           静态: .html .htm

           动态: .asp .php .jsp

          辅助文件:.css(层叠样本表,华仔叫它“衣服”)   .js

4)编辑网页文件:

          文本工具: 记事本 Vim

         专业工具: DreamWeaver

5)HTML 关键字分类:

          单: < br />   <hr />

         双: < html >    < body > < p >

        <a (链接)    href (指向地址)  

6) 图片:

          Jpg: 绝对不透明的

          Gif:    边缘透明

          Png: 多级透明

7)推荐浏览器:

           Opera      Chrome

8)推荐网页制作书籍:

         图灵    O'Reilly

  


Thank chinsung for your valuable advice - 收藏于 2009-05-08

迷惑了好久,见信很开心,谢谢chinsung的耐心指点。不迷茫,不恐惧了,又可以踏实地看书了。


IBM 08年题型 - 收藏于 2009-05-07

笔试:

多找以前题型看看

矩阵题15个,3个矩阵,忘了几分钟了,做错不扣分;

数字规律题20个,4 分钟,做错要扣分;

英语应用题15个,12分钟,做错要扣分;

面试:

目的性强,自信,了解公司现状

笔试一共分三场,每场时间都不等,根据题型决定,我参加的那场是一组矩阵题,一组数字序列题,两组数学推理题。一共需要47分钟,是最长的那一类型。

  每一组都必须在一定时间内完成,首先是矩阵题,13分钟,共15道。

  一共有三个5*5的矩阵,每个矩阵5小题,在印象中,大概有这样一些:

  把所有的W替换成2,所有的Y替换成6,所有的X替换成4,哪一行和哪一列的和等于18?

  把第四列反转,把第2行和第二列替换,第三列第四个下面的数字是什么?

  把出现了数字2次数最多的那一行的出现的唯一一个字母从矩阵中删掉,它出现在矩阵其他地方的次数减去3出现的次数和4出现的次数减一是多少?

  把每一个出现在数字2和3左边的字母全部与他们右边的数字交换,出现在数字最多的那一列的两个字母是?

  都是这一类型的题,换来换去,非常麻烦,最后我没有做完,仅仅做到第11题,前面还不能保证都对。但是因为这一大题答错不扣分,最后我想起这一点的时候就把后面4个空着的都填上了B,看运气了。

  第二部分是数字序列题,4分钟,共20题,题目简单得要命,全是一个规律:连续几个数字,跳一个,再连续几个数字,再跳…… 举几个例子:

  3,4,1,1,5,6,1,1,?

  15,16,7,8,17,18,9,?

  4,5,7,10,14,19,?

  17,18,15,14,19,20,13,?

  12,14,15,17,18,19,?

  20道题全是这一类型,超级简单。

  第三、四部分是数学推理题,其实我觉得叫快速计算题可能更合适,都是一些很简单的数学应用题,大多数都是与比例有关,就是想考考快速理解和快速计算能力罢了,15分钟15个题,共有两组。也举几个例子:

  A复印机每天是B复印机复印的2.5倍,他们一共复印了1200份,问复印得多的那一个复印了多少份?

  一组机器共有5cluster,每个cluster有50台机器,第一天员工们使用了135台,第二天使用了86台,第三天75台,第四天105台,问这些机器的使用率是多少?

  有60%和10%的酒精,现在需要13升30%的酒精,问需要60%的酒精多少升?

  这三个题目就是具有代表性的题目了,其他全都是这个样子。狂计算了一通,最后也都是提前完成,应该不会错。都是选择题嘛。

  做完后除了矩阵题以外感觉都不错,后来问同学,感觉也都差不多,有同学做的是2组数字序列题,不是两组数学推理题,当时觉得她很幸运,因为这个简单。后来听说重复的一组中有一组是不计分的,都是这样。

  总体感觉来看,不算难,IBM主要是想考英语阅读能力、快速反应和计算能力。


That is the destiny - 收藏于 2009-05-06

调整心态,迎接新的挑战,年轻就是好,可以不断尝试。

原来宿舍的要结婚了,真心地祝福她。可能结婚没那么神圣,慢慢地,不管什么出于什么原因,大家都会结婚的,爱情的坟墓也好,甜蜜的负担也好。

五一去北京,好多同学是边读书边订婚,哥哥也要订婚结婚了,孟也在qq上宣布自己的婚礼时间。见识过他们艰辛感情路的我,没有看到他们发自内心的甜蜜,倒感觉是生活使然。人和感情都要向现实低头,在没有能力颠覆这些的时候,必须接受。


void rotate(char *str,int n) - 收藏于 2009-05-05

编写一个函数void rotate(char *str,int n)这个函数能够将一个字符串分为两个部分:前面n个字符组成的字符串a,和后面剩下的字符串b,返回的结果是字符串ba。比如char str[]=”helloworld”,rotate(str,5)之后str的字符串就是”worldhello”。

不使用临时数组保留字符串

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>

int main(int agrc, char * agrv[])
{
void rotate(char *str,int n);
char str[]="helloworld";
int n=5;
rotate(str,n);
printf("%s\n",str);
return 0;
}

void rotate(char *str,int n)
{
char tmp;
int i,j,length;
length=strlen(str);
for(i=0;i<n;i++)
{
   tmp=str[0];
   for(j=0;j<length-1;j++)    //像移珍珠项链一样,感觉也像是一种数据结构思想
    str[j]=str[j+1];
   str[j]=tmp;
}
}


不知道还要失去多少 - 收藏于 2009-04-23

矛盾太长时间了,不知道还要失去多少,而最终坚守的是什么?给别人答案,还是给自己答案。这一年快点过完,不管什么结局,过完就能有新的生活了吧


这个星期要做的事情 - 收藏于 2009-04-21

1)开题, 不是很难的问题,可我做的课题 第一年和第二年不一致,要硬生生的联系起来,还不要让老师们觉得我牵强

2)论文修改   还要重新弄latex,重新采集视频、跑程序、整理文章格式,那个提交系统也让人很烦

3)师兄的项目申请资料   资料准备比较缠人的工作

身体又不舒服,不知道什么时候才能好些。还有,生活感情上的事情。。。

这个星期会过得比较忧虑,突击性的工作都赶到一起了。


string.h中的函数 - 收藏于 2009-04-21

@函数名称:   strdup
函数原型:   char *strdup(const char *s)
函数功能:   字符串拷贝,目的空间由该函数分配
函数返回:   指向拷贝后的字符串指针
参数说明:   src-待拷贝的源字符串
@函数名称:   strcpy
函数原型:   char* strcpy(char* str1,char* str2);
函数功能:   把str2指向的字符串拷贝到str1中去
函数返回:   返回str1,即指向str1的指针
参数说明:
@函数名称:   strncpy
函数原型:   char *strncpy(char *dest, const char *src,int count)
函数功能:   将字符串src中的count个字符拷贝到字符串dest中去
函数返回:   指向dest的指针
参数说明:   dest-目的字符串,src-源字符串,count-拷贝的字符个数
@函数名称:   strcat
函数原型:   char* strcat(char * str1,char * str2);
函数功能:   把字符串str2接到str1后面,str1最后的''\0''被取消
函数返回:   str1
@函数名称:   strncat
函数原型:   char *strncat(char *dest, const char *src, size_t maxlen)
函数功能:   将字符串src中前maxlen个字符连接到dest中
@函数名称:   strcmp
函数原型:   int strcmp(char * str1,char * str2);
函数功能:   比较两个字符串str1,str2.
函数返回:   str1<str2,返回负数; str1=str2,返回 0; str1>str2,返回正数.
@函数名称:   strncmp
函数原型:   int strncmp(char *str1,char *str2,int count)
函数功能:   对str1和str2中的前count个字符按字典顺序比较
函数返回:   小于0:str1<str2,等于0:str1=str2,大于0:str1>str2
参数说明:   str1,str2-待比较的字符串,count-比较的长度
@函数名称:   strpbrk
函数原型:   char *strpbrk(const char *s1, const char *s2)
函数功能:   得到s1中第一个“同时也出现在s2中”字符的位置指针
函数返回:   位置指针
@函数名称:   strcspn
函数原型:   int strcspn(const char *s1, const char *s2)
函数功能:   统计s1中从头开始直到第一个“来自s2中的字符”出现的长度
函数返回:   长度
@函数名称:   strspn
函数原型:   int strspn(const char *s1, const char *s2)
函数功能:   统计s1中从头开始直到第一个“不来自s2中的字符”出现的长度
函数返回:   位置指针
@函数名称:   strchr
函数原型:   char* strchr(char* str,char ch);
函数功能:   找出str指向的字符串中第一次出现字符ch的位置
函数返回:   返回指向该位置的指针,如找不到,则返回空指针
参数说明:   str-待搜索的字符串,ch-查找的字符
@函数名称:   strrchr
函数原型:   char *strrchr(const char *s, int c)
函数功能:   得到字符串s中最后一个含有c字符的位置指针
函数返回:   位置指针
@函数名称:   strstr
函数原型:   char* strstr(char* str1,char* str2);
函数功能:   找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)
函数返回:   返回该位置的指针,如找不到,返回空指针
@函数名称:   strrev
函数原型:   char *strrev(char *s)
函数功能:   将字符串中的所有字符颠倒次序排列
函数返回:   指向s的指针
@函数名称:   strnset
函数原型:   char *strnset(char *s, int ch, size_t n)
函数功能:   将字符串s中前n个字符设置为ch的值
函数返回:   指向s的指针
@函数名称:   strset
函数原型:   char *strset(char *s, int ch)
函数功能:   将字符串s中所有字符设置为ch的值
函数返回:   指向s的指针
@函数名称:   strtok
函数原型:   char *strtok(char *s1, const char *s2)
函数功能:   分解s1字符串为用特定分隔符分隔的多个字符串(一般用于将英文句分解为单词)
函数返回:   字符串s1中首次出现s2中的字符前的子字符串指针
参数说明:   s2一般设置为s1中的分隔字符
        规定进行子调用时(即分割s1的第二、三及后续子串)第一参数必须是NULL
        在每一次匹配成功后,将s1中分割出的子串位置替换为NULL(摘下链中第一个环),因此s1被破坏了
        函数会记忆指针位置以供下一次调用
        @函数名称:   strupr
函数原型:   char *strupr(char *s)
函数功能:   将字符串s中的字符变为大写
@函数名称:   strlwr
函数原型:   char *strlwr(char *s)
函数功能:   将字符串中的字符变为小写字符
函数返回:   指向s的指针
@函数名称:   strlen
函数原型:   unsigned int strlen(char * str);
函数功能:   统计字符串str中字符的个数(不包括终止符''\0'')
函数返回:   返回字符串的长度.
@函数名称:   strerror
函数原型:   char *strerror(int errnum)
函数功能:   得到错误信息的内容信息
函数返回:   错误提示信息字符串指针
参数说明:   errnum-错误编号
@函数名称:   memcpy
函数原型:   void *memcpy(void *dest, const void *src, size_t n)
函数功能:   字符串拷贝
函数返回:   指向dest的指针
参数说明:   src-源字符串,n-拷贝的最大长度
@函数名称:   memccpy
函数原型:   void *memccpy(void *dest, const void *src, int c, size_t n)
函数功能:   字符串拷贝,到指定长度或遇到指定字符时停止拷贝
函数返回:
参数说明:   src-源字符串指针,c-中止拷贝检查字符,n-长度,dest-拷贝底目的字符串指针
@函数名称:   memchr
函数原型:   void *memchr(const void *s, int c, size_t n)
函数功能:   在字符串中第开始n个字符中寻找某个字符c的位置
函数返回:   返回c的位置指针,返回NULL时表示未找到
参数说明:   s-要搜索的字符串,c-要寻找的字符,n-指定长度
@函数名称:   memcmp
函数原型:   int memcmp(const void *s1, const void *s2,size_t n)
函数功能:   按字典顺序比较两个串s1和s2的前n个字节
函数返回:   <0,=0,>0分别表示s1<,=,>s2
参数说明:   s1,s2-要比较的字符串,n-比较的长度
@函数名称:   memicmp
函数原型:   int memicmp(const void *s1, const void *s2, size_t n)
函数功能:   按字典顺序、不考虑字母大小写对字符串s1,s2前n个字符比较
函数返回:   <0,=0,>0分别表示s1<,=,>s2
参数说明:   s1,s2-要比较的字符串,n-比较的长度

@函数名称:   memmove
函数原型:   void *memmove(void *dest, const void *src, size_t n)
函数功能:   字符串拷贝
函数返回:   指向dest的指针
参数说明:   src-源字符串,

文章出处:http://www.diybl.com/course/3_program/c/c_js/2008510/115201.html


char *strstr(char *str1,char *str2) - 收藏于 2009-04-21

1)刚意识到strlen()

    测试字符串的实际长度,不包括'\0' 在内的。

2) 写了个能运行,但不好的程序,这个函数是string.h 库中函数,很想知道源函数是怎么写的??

编写这个函数char *strstr(char *str1,char *str2),作用是在字符串str1中,寻找字串str2,若找到返回找到的位置,否则返回NULL。

//Date: Tue. 21 April 2009
//char *strstr(char *str1,char *str2)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 20

int main()
{
char *strstr(char *str1,char *str2);
char str1[N],str2[N];
char * pos;
int i;
    printf("请输入两个字符串:\n");
scanf("%s%s",str1,str2);
pos=strstr(str1,str2);

if(pos==NULL) printf("NOT FOUND!!\n");
else
{printf("FOUND:\n");
   for(i=0;i<strlen(str2);i++)
   {
   printf("%c",*(pos+i));
   }
}
    return 0;
}

char *strstr(char *str1,char *str2)
{
char *p;
int i,j,k;
for(i=0;*(str1+i)!='\0';i++)
{
   for(j=0,k=0;*(str2+j)!='\0';j++,k++)
   {
            if(*(str1+i+k)!=*(str2+j)) break;
   }
   if(*(str2+j)=='\0')
   {p=str1+i;break;}
}
if(*(str1+i)=='\0') return NULL;
else return (p);
}


有点没意思 - 收藏于 2009-04-17

可能看课后题看的,弄得自己很较真似的,在比较简单的问题上停留。

没什么意思的,我都不想看了,太单一,而且用途不大。

这本书我不想再看了,有错误,而且有的地方是误导。还好,错误误导不算多。

1)指针那部分,类型处有误导,一个排序例子,顺序是错误的;

2)枚举类型有一个;enum 不能运算,程序也错了。

3)feof 也是,没解释清楚;

我想看其他书了。这个有点单一,看完了,也不想再里面拿着小问题较真了。。。


还是feof的问题 - 收藏于 2009-04-17

1)关于枚举的

没错,枚举类型和int之间是相对应的enum color{red=0,black=1,...},但是需要
注意枚举类型是不允许运算的,所以把
enum i,j,k,pri;修改成为
int i,j,k,pri;
这样才能够正常编译。

2)文件结束

其实feof就有一个用途,给出下面的总结吧(你只要理解为什么这样
就好了,关键是理解原因):
1.对于文本使用fgetc(fin)==EOF来判断是否达到文件结尾或者是读入出错
2.对于二进制使用fread(fin)的返回值来判断是否到达文件结尾或者是读入出错
3.但是需要注意在fgetc(fin)和fread(fin)之后可能不一定到达到文件结尾,因为
它们调用也可能是因为读入文件出错,所以这个时候再调用一次feof来判断是到达
文件结尾还是读入出错。
所以程序框架应该是
文本
char ch;
while((ch=fgetc(fin))!=EOF){
...
}
if(!feof(fin)){//fgetc(fin)返回EOF,但是没有到达文件结尾
print_error("ERROR");
}

二进制
while((fread(fin...)){
...
}
if(!feof(fin)){//fread完成读入,但是没有到达文件结尾,说明读入出错
print_error("ERROR");
}


文件结束符 EOF(-1) 和 feof - 收藏于 2009-04-14

1)文件结束符 EOF (-1),不是可输出文件,不能在屏幕上显示

      对于文本文件:

ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}

遇到EOF 结束;但是对于二进制文件,二进制数据可能有-1,因此采用feof

2)feof 判断文件是否结束

1.文件在读入最后一个有效数据字节之后,这个时候feof并不为真
2.然后继续调用fgetc的话会返回一个EOF,这个时候feof才为真

其实很简单,就是说文件指针指向文件结束符EOF时, feof并不为真,而是再读下一个字符feof才返回真

对文本文件 二进制文件通用的

while (1)
{
c=fgetc(fp);
if(feof(fp)) break;
putchar(c);
}

     


13.4.2 fread 函数和 fwrite 函数 - 收藏于 2009-04-13

从键盘中输入4个学生的有关信息,然后把它们转到磁盘文件中去

//Date: Mon. 13 April 2009
// fread fwrite

#include <stdio.h>
#define SIZE 4
struct student_type
{
char name[10];
int num;
int age;
char addr[15];
}stud[SIZE];

void save()
{
FILE *fp;
int i;
if((fp=fopen("stu_list","wb"))==NULL) // stu_list 是个二进制文件,程序运行完之后,这个文件打开是乱码!
{
   printf("can not open file\n");
}
for(i=0;i<SIZE;i++)
{
   if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1)  
   /* stud[i] 不是地址 stud+i 是地址 */
    printf("file write error\n");
}
fclose(fp);
}

int main()
{
int i;
for(i=0;i<SIZE;i++)
        scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);
save();
return 0;
}

问题解决:

文本文件是那种可读的文件,比如你在main.cpp里面写上int main()...,那么
main.cpp就是一个文本文件
二进制文件是里面的内容都是以二进制表示的,一般里面的内容是不可读的(就是
乱码)比如这个程序里面
fwrite(&stud[i],sizeof(struct student_type),1,fp),是将stud[i]这个结构体
(在内存中是二进制
)写入到文件中(相当于将内存中的数据写到文件中),所以
stu_list是一个二进制文件
这也就解释了为什么stu_list打开是乱码的原因

stud[i]并不是一个地址,回忆一下int a[10]={1,2,3,4..},那么a[0]是地址吗?
(当然不是,a[0]是1这个数,地址是&(a[0])或者是a+0或者是a).所以这里需要加
上&(stud[i])

二进制文件在屏幕上输出:

//Date: Mon. 13 April 2009
// fread fwrite (buffer,size,count,fp)

#include <stdio.h>
#define SIZE 4
struct student_type
{
char name[10];
int num;
int age;
char addr[15];
}stud[SIZE];

int main()
{
int i;
FILE *fp;
fp=fopen("stu_list","rb");
for(i=0;i<SIZE;i++)
{
   fread(&stud[i],sizeof(struct student_type),1,fp);
   printf("%-10s %4d %4d %-15s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);
}
    fclose(fp);
return 0;
}


好久没写心情了 - 收藏于 2009-04-12

好久没写了,并不代表一直很平静。这段生活的侧重点不在这里了吧,最近过得还算好。虽然每天还是实验室、宿舍这样的生活。但每天都能睡的很舒服,偶尔还和同学出去吃,过得算是惬意。

一直感觉这个学期像是在等待,等待命运的降临。一些问题想了两三年,还是没什么结果,还是不要去想了,准备一切可能的命运。不能说自己老了,只是心境不得不这样。忙好现在的事情,以后的事情自然会明了。这句话曾支撑我走完大学,也会支撑我走完研究生。


第11章 结构体 - 收藏于 2009-04-12

结构体的声明;

结构体及结构体数组的定义和初始化;

结构体及结构体数组的引用;

结构体及指向结构体类型的指针做函数参数;

//Date: Sun. 12 April 2009
//年月日,计算第几天

#include <stdio.h>
#include <string.h>
struct date      // 结构体声明
{
int year;
int month;
int day;
};

int main()
{
int cal_day(struct date a);
struct date a;
int n;
printf("请输入年月日:\n");
scanf("%d%d%d",&a.year,&a.month,&a.day);   //地址
n=cal_day(a);
printf("该日是第%d天\n",n);
    return 0;
}

/* calculate the day*/
int cal_day(struct date a)     //结构体做函数参数
{
int leap_year(int m);
int sum=0,i;
int b[]={31,28,31,30,31,30,31,31,30,31,30,31};
for(i=0;i<a.month-1;i++)    //先计算出前month-1的天数,再加上本月的天数
   sum+=b[i];
if(a.month>2)
   sum=sum+a.day+leap_year(a.year);
return sum;
}

/* leap_year */
int leap_year(int m)
{
if(m%400==0||m%4==0&&m%100!=0)
   return 1;
else
   return 0;
}


第10章 指针总结 - 收藏于 2009-04-12

1) 指针的类型

      int *p   指向整型数据的指针变量

     int (*p)[n]   指向包含n个元素的一维数组的指针变量

     int *p[n]    指针数组,由n个指向整型数据的指针元素组成, 数组中每个元素存放的是地址

     int (*p)() 指向函数的指针,该函数的返回一个整型值      例如example10_24

     int * p()   带回一个指针的函数,该指针指向整型数据

     int * *p   指针的指针

2)理解

a)理解指针与一维数组、二维数组、字符串的关系

b)看完这一章,感触比较深的是 指针数组。

       不管是定义一个一维数组、二维数组、还是字符串(数组),都可以用指针数组指向它们,通过调整指针的指向,达到调整的目的。而不用改变定义的数组或字符串。

    这样效率高,而且能很好地利用指针。

    


10.8 scanf("%[^\n]",str) 输入一行文字,找出大写字母、小写字母、空格、数字及其他的个数 - 收藏于 2009-04-11

这个形式之前也很少见,意思是说"能够输入一个字符串直到\n为止",就是获得一
行字符串(即使中间有空格)但是不包括最后面的换行符。"%s"也是输入字符串但是
如果中途如果遇到空格就会完成字符串的输入,下面是一个例子:
int main()
{
char str1[128],str2[128];
scanf("%[^\n]",str1);
printf("str1=%s\n",str1);
scanf("%s",str2);
printf("str2=%s",str2);
return 0;
}
两次都输入hello world这个字符串,那么
str1="hello world",没有包括最后面的\n,所以打印出来时候需要\n
str2="hello",因为中间出现了空格
有引申的格式,需要查看scanf手册,man scanf

//Date: Sat. 11 April 2009
//简单指针

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
char str[100],*p;
int high,low,space,digit,other;
high=low=space=digit=other=0;
printf("请输入字符串:\n");
scanf("%[^\n]",str);      // %s 出现空格就代表字符串结束
//gets(str);
for(p=str;*p!='\0';p++)
{
   if(*p>='A'&&*p<='Z') high++;
   else if(*p>='a'&&*p<='z') low++;
   else if(*p>='0'&&*p<='9') digit++;
   else if(*p==' ') space++;
   else other++;
}
printf("大写字母个数为%d\n小写字母个数为%d\n空格个数为%d\n数字个数为%d\n其他个数为%d\n",high,low,space,digit,other);
    return 0;
}


10.4 n个整数,依次后移m个,最后m个变成最前面m个 (指针数组) - 收藏于 2009-04-11

//Date: Thu. 9 April 2009
// 指针数组 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define N 10

int main()
{
int exec(int *p[],int n,int m);
int i,m;
    int a[N];
int *p[N];
srand(time(NULL));
for(i=0;i<N;i++)
{
   a[i]=rand()%100;
   printf("%3d",a[i]);
   *(p+i)=a+i;
}
printf("\n");
scanf("%d",&m);    // 这个地方简单,但几次忘记加 地址了
    exec(p,N,m);
printf("After sorting:\n");
for(i=0;i<N;i++)
{
   printf("%3d",*(*(p+i)));
}
return 0;
}

int exec(int *p[],int n,int m)
{
int * tmp[N];     //想定义一个指针数组,暂时存放 后m个
int i;
for(i=0;i<m;i++)
{
   *(tmp+i)=*(p+n-m+i);
}
for(i=n-1;i>=m;i--)
{
   *(p+i)=*(p-m+i);
}
for(i=0;i<m;i++)
{
   *(p+i)=*(tmp+i);
}
return 0;
}



10.4 n个整数,依次后移m个,最后m个变成最前面m个 (数组) - 收藏于 2009-04-11

//Date: Fri. 10 April 2009
//

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#define N 10

int main()
{
int exec(int * p,int n,int m);
int i,a[N];
int m;
srand(time(NULL));
for(i=0;i<N;i++)
{
   a[i]=rand()%100;
   printf("%3d",a[i]);
}
printf("\n");
scanf("%d",&m);
exec(a,N,m);
printf("After sorting:\n");
for(i=0;i<N;i++)
{
   printf("%3d",a[i]);
}
return 0;
}

int exec(int * p,int n,int m)
{
int i,a[N];        // N 要用常量
for(i=0;i<m;i++)
{
   a[i]=*(p+n-m+i);
}
for(i=n-1;i>=m;i--)
{
   *(p+i)=*(p+i-m);
}
for(i=0;i<m;i++)
{
   *(p+i)=a[i];
}
return 0;
}


10.7有一字符串,包含n个字符。写一个函数,将字符中从第m个字符开始复制到另一个字符串 - 收藏于 2009-04-11

程序简单,尽量写得可读性好些。

//Date: Sat. 11 April 2009
//字符串复制   指针指向字符串

#include <stdio.h>
#include <string.h>

int main()
{
char str[100],substr[100],*p,*subp;
int n,m;
printf("请输入字符串:\n");
scanf("%s",str);
n=strlen(str);
printf("输入的字符串的长度为%d\n",n);
printf("从第几个字符开始截取?\n");
scanf("%d",&m);
while(m>n-1||m<1)
{
   printf("至少截取一个字符,请输入小于%d的正整数\n",n);
   scanf("%d",&m);
}
for(p=str+m,subp=substr;*p!='\0';p++,subp++)
     *subp=*p;
*subp='\0';
    printf("截取后的字符为%s.\n",substr);
return 0;
}


10.1 输入3个整数,按由小到大的顺序输出 (指针数组) - 收藏于 2009-04-10

指针数组的指向发生变化,而数组a没有发生变化

//Date: Fri. 10 April 2009
//指针数组 整数排序

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 3

int main()
{
int sort(int *p[],int n);
int a[N],i,*p[N];
printf("please input %d numbers:\n",N);
for(i=0;i<N;i++)
{
   scanf("%d",a+i);   //地址
   *(p+i)=a+i;        //指针数组指向 一维数组
}
sort(p,N);
for(i=0;i<N;i++)
{
   printf("%2d",*(*(p+i)));
}
return 0;
}

int sort(int *p[],int n)
{
int i,j;
int *t;
for(i=0;i<n-1;i++)
{
   for(j=0;j<n-1-i;j++)
   {
    if(*(*(p+j))>*(*(p+j+1)))
    {t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;}
   }
}
return 0;
}


10.1 输入3个整数,按由小到大的顺序输出 (简单数组) - 收藏于 2009-04-10

     数组a的值发生了变化

//Date: Thu. 9 April 2009
//输入三个整数,有小到大输出

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 3

int main()
{
int sort(int *p,int n);
int i;
int a[N];
srand(time(NULL));
for(i=0;i<N;i++)
{
   a[i]=rand()%100;
   printf("%3d",a[i]);
}
printf("\n");
sort(a,N);
for(i=0;i<N;i++)
{
   printf("%3d",a[i]);
}    
return 0;
}

int sort(int *p,int n)
{
int i,j;
int t;
for(i=0;i<n-1;i++)
{
   for(j=0;j<n-1-i;j++)
   {
    if(*(p+j+1)<*(p+j))
    {t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;}
   }
}
return 0;
}


10.2 输入3个字符串,有小到大输出 (指针数组的形式) - 收藏于 2009-04-10

指针数组注意:

1)怎么定义一个数组,一维数组还是二维数组

2)指针数组如何指向定义的数组;

//Date: Thu. 9 April 2009
// (指针数组) 字符串读入 排序 输出


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 3

int main()
{
int sort(char *name[],int n);
char * name[N];        //定义指针数组
char a[N][20];
int i;
for(i=0;i<N;i++)        //读入字符串
{
   scanf("%s",a[i]);
   name[i]=*(a+i);     //指针数组指向 二维数组a
}
    sort(name,N);

for(i=0;i<N;i++)        //输出字符串
{
   printf("%s\n",name[i]);   //字符串地址
}
return 0;
}

/* 选择法 */
int sort(char *name[],int n)
{
int i,j,k;
char * tmp;
for(i=0;i<n-1;i++)
{
   k=i;
   for(j=i+1;j<n;j++)
   {
    if(strcmp(name[k],name[j])>0) k=j;     //字符串地址
   }
   if(k!=i)
   {
    tmp=name[i];name[i]=name[k];name[k]=tmp;
   }
}
return 0;
}


10.2 输入3个字符串,有小到大输出 (简单数组的形式) - 收藏于 2009-04-10

//Date: Thu. 9 April 2009
// 字符串比较

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 3

int main()
{
int sort(char name[][20],int n);
char name[N][20];
int i;
for(i=0;i<N;i++)
{
   scanf("%s",name[i]);     //字符串读入
}
sort(name,N);
for(i=0;i<N;i++)
{
   printf("%s\n",name[i]); //字符串输出
}
    return 0;
}

/* 冒泡法*/
//int sort(char name[][20],int n)
//{
// char tmp[20];
// int i,j;
// for(i=0;i<n-1;i++)
// {
//   for(j=0;j<n-1-i;j++)
//   {
//    if(strcmp(name[j],name[j+1])>0)
//    {
//     strcpy(tmp,name[j]);
//     strcpy(name[j],name[j+1]);
//     strcpy(name[j+1],tmp);
//    }
//   }
// }
// return 0;
//}

/* 选择法 */
int sort(char name[][20],int n)
{
int i,j,k;
char tmp[20];
for(i=0;i<n-1;i++)
{
   k=i;
   for(j=i+1;j<n;j++)
   {
    if(strcmp(name[k],name[j])>0) k=j;
   }
        if(k!=i)
   {
    strcpy(tmp,name[i]);
    strcpy(name[i],name[k]);
    strcpy(name[k],tmp);
   }
}
return 0;
}


10.3 输入10个整数,将其中最小的数与第一个数对换,最大的数与最后一个数对换 - 收藏于 2009-04-10

这个程序有很多错误的
1.首先这个程序的算法需要使用两次循环才能够完成,使用一次循环是错误的算
法。我在注释里面标注了
2.需要注意的是max是表示最大值,而不是最大值的位置,所以不能够使用max=i来
记录最大值的位置,需要定义一个变量max_pos来记录最大值的位置。同理min也是
一样的
3.在程序里面某些难懂的地方你需要加上一些注释,这样才能够理清思路的,而且
别人也能够一下就明白

修改后:

//Date: Thu. 9 April 2009
// 输入10个整数,其中最小的数与第一个数对换,最大的数与最后一个数对换,用指针写3个函数 输入、处理、输出
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 10

int main()
{
int scan(int *p,int n);
    int process(int *p,int n);
    int print(int *p,int n);
int a[N];
printf("please input %d numbers: \n",N);
scan(a,N);
process(a,N);
printf("After sorting:\n");
print(a,N);
return 0;
}

int scan(int *p,int n)
{
int i;
for(i=0;i<n;i++)
{
   scanf("%d",p+i);   // 地址
}
return 0;
}

int process(int *p,int n)
{

int max,min,i;
int tmp;
max=min=0;   //最大最小值的位置
/* find max */
for(i=0;i<n;i++)
{
   if(*(p+i)>*(p+max)) max=i;
}
/* swap the max*/    //标注
    tmp=*(p+max);
*(p+max)=*(p+n-1);
*(p+n-1)=tmp;

/* find the min*/
    for(i=0;i<n;i++)
{
   if(*(p+i)<*(p+min)) min=i;
}
/* swap the min*/
    tmp=*(p+min);
*(p+min)=*p;
*p=tmp;

    return 0;
}


int print(int *p,int n)
{
int i;
for(i=0;i<n;i++)
{
   printf("%2d",*(p+i));
}
return 0;
}


指向函数的指针 (类型一致及兼容问题) - 收藏于 2009-04-08

一个函数的类型不仅仅包括了返回值,还包括了参数,所以func的类型应该是:
参数1为double,返回值为double的函数,
而double (*p)()的类型是没有参数,返回值为double的函数指针,
所以两个是不兼容的,所以应该修改为double (*p)(double)这样才对

还有一点就是函数和函数指针是兼容的(就像二维数组score和指针 int (*p)[N] 那样),所以
p=func1是ok没有问题的,虽然func是参数1为double,返回值为double的函数,
而double (*p)(double)是参数1为double,返回值为double的函数指针

二维数组 score 类型为 二维数组;而 int (*p)[N] p为指针,指向大小为N的一位数组;类型兼容问题

//Date: Wed. 8 April 2009
//指向函数的指针 int (*p)()   *p 指针变量   指向函数,函数返回值为整型
//求5个不同函数的定积分

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

double fun1(double x)
{
return x*(1+x);
}

double fun2(double x)
{
return (2*x+3)*x;
}

double fun3(double x)
{
return exp(x)+1;
}

double fun4(double x)
{
return (x+1)*(x+1);
}

double fun5(double x)
{
return x*x*x;
}

double integral (double a,double b,double (*p)(double))
{
    double step=(b-a)/10000;
double x,sum=0;
for(x=a;x<b;x+=step)
{
   sum=sum+step*(*p)(x);
}
return sum;
}

int main()
{
double integral (double a,double b,double (*p)(double));
double a,b,sum,(*p)(double);   // 指针函数 要定义函数类型 和 参数类型
int type;
printf("1:(1+x)x\n2:(2x+3)x\n3:exp(x)+1\n4:(1+x)(1+x)\n5:x*x*x\n");
printf("请选择被积分函数的种类:\n");
scanf("%d",&type);
if(type<1||type>5)
{
   printf("输入的种类不正确,请从新输入:\n");
   scanf("%d",&type);
}
switch (type)
{
case 1: p=fun1;break;
case 2: p=fun2;break;
case 3: p=fun3;break;
case 4: p=fun4;break;
case 5: p=fun5;break;
}
p=fun1;
printf("请输入积分下限:\n");
scanf("%lf",&a);
printf("请输入积分上限:\n");
scanf("%lf",&b);
sum=integral(a,b,p);
printf("第%d种函数在范围(%g,%g)的积分为:%.2f",type,a,b,sum);
return 0;
}


变量名&数组名做 函数参数 - 收藏于 2009-04-07

          实参类型                 变量名                   数组名 (指针变量也可以)

    要求形参的类型             变量名                  数组名或指针变量

     传递的信息                 变量的值               实参数组元素首地址

函数调用能否改变实参的值    不能                  


指针变量做函数参数 - 收藏于 2009-04-07

函数的调用可以(而且只可以)得到一个返回值(即函数值),而运用指针变量做参数可以得到多个变化了的值。如果想通过函数调用得到n个要改变的值,可以:

1)在主函数中设n个变量,用n个指针变量指向它们

2)然后将指针变量作实参,将这n个变量的地址传给所调用的函数的形参

3)通过形参指针,改变该n个变量的值

4)主调函数中就可以使用这些改变了值得变量。


“文件包含” 处理 - 收藏于 2009-04-03

在#include命令中,文件名可以用" "或是 <>   #include <>   #include " " 二者区别

1)#include <>   系统到存放c库函数的头文件所在的目录中寻找要包含的文件,称为标准方式。

    一般的调用库函数时用

2)#include " " 系统先在当前目录中寻找要包含的文件,若找不到,在按标准方式查找。

一般的自己编写的文件(一般都在当前目录中),用这种格式的。


8.17 递归法 整数转成字符串 - 收藏于 2009-04-03

整数转成字符串 +'0' or   + 48

/Date: Thu. 2 April 2009
//递归法将一个整数转换成字符串

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define N 10

int x[N];

int pf(unsigned long m,int n)
{
int y;
    if(n==0) {y=(int)(m%10);x[0]=y;}
    else {y=(unsigned long)((m-pf(m,n-1))/pow(10,n))%10;x[n]=y;}
    return 0;
}

int main()
{
unsigned long a,b;
int i,j,k,p;
char c[N+1];
    scanf("%ld",&a);
    for(j=0,b=a;b>0;j++,b/=10)   // j
        ;
    pf(a,j-1);                   //
    for(i=0,k=j-1;i<j;i++,k--)
       c[i]=x[k]+48;
c[i]='\0';
    puts(c);
    return 0;
}


8.16 输入十六进制,输出相应的十进制 - 收藏于 2009-04-03

十六进制数的范围: 0-F 比如 2A5F   要以字符串的形式读入

//Date: Thu. 2 April 2009
// 十六进制 (0-F) 转成 十进制 (0-9)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define N 10

int main()
{
long fun(char s[N]);
long m;
char s[N];
printf ("请输入一个十六进制数:");   //for example "2AF5"
scanf("%s",s);
m=fun(s);
printf("%ld\n",m);
return 0;
}

long fun(char s[N])
{
int i,t;
long sum=0;
for(i=0;s[i]!='\0';i++)
{
   if(s[i]>='0' && s[i]<='9')     // 0-9
    t=s[i]-'0';
   else if(s[i]>='a' && s[i]<='z') // a-z
    t=s[i]-'a'+10;
   else if(s[i]>='A' && s[i]<='Z')   // A-Z
    t=s[i]-'A'+10;
         sum=sum*16+t;
}
    return (sum);
}


有点着急 - 收藏于 2009-04-01

前段时间,还有点悠哉悠哉的感觉,今天和小孩聊天,突然有点紧迫感,要做的事情还好多

c程序设计还有四章 数据结构    数据库   网络    通信    公务员

踏实看的话,真的挺需要时间的。有点小紧张。。。


gmail 更改附件上传方式,影响用户上传附件 - 收藏于 2009-04-01

问题:

今天发现,TW Broser 中gmail无法上传附件,但IE可以上传

原因:

Gmail邮箱附件上传改变了样式,现在在上传附件的时候有了一个进度表,这在所有的邮箱中还算是首例。

但是对于其他浏览器的支持显然做得不够,或者其他浏览器对Gmail 邮箱的支持没有跟进,出现了问题,影响了用户的使用。

解决方案:

1.改用IE浏览器,上传附件,显然不是很好;

2.gmail里 设置---附件----基本附件功能(选中),但没有进度条显示了;


ps 进站心得 - 收藏于 2009-03-31

昨天晚上和今天上午,在忙,做了两张进站图。

先回答上篇PS的问题:

1)抠图和背景很好融合的问题,可以通过调整对比度来实现;

2)窗口--->动作 点击下面向右的箭头,就可以执行动作,比如加"边框"。执行动作时,隐含着很多操作

在窗口--->历史记录,可以删除不想要的操作。

这两天非常感谢师弟的指点;


8.10 最长字符串 - 收藏于 2009-03-31

1)for 循环的理解   (每次for执行之后,执行递增条件)

1.第一次执行的时候判断条件
2.进入for执行
3.执行递增条件,然后再判断

test 810


PS 做海报 - 收藏于 2009-03-29

1) 海报大小一般按cm来计算,一般的海报大小为: 60 cm & 80cm

2) 首先,给海报一个背景色(油漆桶),快捷键 :ctrl+delete   Alt+delete

      然后在背景色上可以加上一些渐变效果

3)文字处理 (栅格话 和 混合选项)

     a)选中 T 后,在图层上点一下就可以输入文字了(这样可以不受边框的限制);

     b)对于学术报告性质的海报,文字较多,注意使用 字符&段落 (右上角),调整字距;

   c)文字图层—>右键—> 混合选项 —>效果;还有 变形文字 (右上角);

    d)文字—>选择—>栅格化,只有栅格化后,才能用描边和滤镜等效果;

         编辑—>描边 ,可以一直往外描下去;

         滤镜—>球面化等;

     e)调整文字大小,选中图层—> ctrl +t —> 锁定现在比例—> 拖动;

     d)一行文字,第一个字也可以单独变大,作为强调。

4)加图

    a)打开要用的图—>移动工具,移到一个新的图层;

    b)抠图: 用魔术棒(容差) & 磁性套索 都可以 —> 移动工具 (或是新建一个图层);

    c)ctrl+d    取消选区;

问题:

    1)加图和背景色如果更好的融合;

    2)窗口—>动作,怎么加边框。


linux ftp命令详解 (转) - 收藏于 2009-03-28

输入ftp ----> open ip adress ----> user & password ----> 操作命令: (连接到ftp上之后,会在本地自动下载一个临时目录文件,在这里可以打开、查看ftp上的文件)

FTP> ! 从 ftp 子系统退出到外壳。

FTP> ? 显示 ftp 命令说明。? 与 help 相同。
格式:? [command]
说明:[command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表。

FTP> append 使用当前文件类型设置将本地文件附加到远程计算机上的文件。
格式:append local-file [remote-file]
说明:local-file 指定要添加的本地文件。
remote-file 指定要添加 local-file 的远程计算机上的文件。如果省略了 remote-file,本地文件名将被用作远程文件名。

FTP> ascii 将文件传送类型设置为默认的 ASCII。
说明:FTP 支持两种文件传送类型,ASCII 码和二进制图像。在传送文本文件时应该使用ASCII。

FTP> bell 切换响铃以在每个文件传送命令完成后响铃。默认情况下,铃声是关闭的。

FTP> binary(或bi) 将文件传送类型设置为二进制。

FTP> bye(或by) 结束与远程计算机的 FTP 会话并退出 ftp。

FTP> cd 更改远程计算机上的工作目录。
格式:cd remote-directory
说明:remote-directory 指定要更改的远程计算机上的目录。

FTP> close 结束与远程服务器的 FTP 会话并返回命令解释程序。

FTP> debug 切换调试。当调试打开时,发送到远程计算机的每个命令都打印,前面是字符串“>”。默认情况下,调试是关闭的。

FTP> delete 删除远程计算机上的文件。
格式:delete remote-file
说明:remote-file 指定要删除的文件。

FTP> dir 显示远程目录文件和子目录列表。
格式:dir [remote-directory] [local-file]
说明:remote-directory 指定要查看其列表的目录。如果没有指定目录,将使用远程计算机中的当前工作目录。Local-file 指定要存储列表的本地文件。如果没有指定,输出将显示在屏幕上。

FTP> disconnect 从远程计算机断开,保留 ftp 提示。

FTP> get 使用当前文件转换类型将远程文件复制到本地计算机。
格式:get remote-file [local-file]
说明:remote-file 指定要复制的远程文件。
Local-file 指定要在本地计算机上使用的名称。如果没有指定,文件将命名为 remote-file。

FTP >glob 切换文件名组合。组合允许在内部文件或路径名中使用通配符(*和?)。默认情况下,组合是打开的。

FTP >hash 切换已传输的每个数据块的数字签名 (#) 打印。数据块的大小是2048 字节。默认情况下,散列符号打印是关闭的。
FTP >help 显示 ftp 命令说明。
格式:help [command]
说明:command 指定需要有关说明的命令的名称。如果没有指定 command,ftp 将显示全部命令的列表。

FTP >lcd 更改本地计算机上的工作目录。默认情况下,工作目录是启动 ftp 的目录。
格式:lcd [directory]
说明:directory 指定要更改的本地计算机上的目录。如果没有指定directory,将显示本地计算机中当前的工作目录。

FTP >literal 将参数逐字发送到远程 FTP 服务器。将返回单个的 FTP 回复代码。
格式:literal argument [ ...]
说明:argument 指定要发送到 FTP 服务器的参数。

FTP >ls 显示远程目录文件和子目录的缩写列表。
格式:ls [remote-directory] [local-file]
说明:remote-directory 指定要查看其列表的目录。如果没有指定目录,将使用远程计算机中的当前工作目录。 local-file 指定要存储列表的本地文件。如果没有指定,输出将显示在屏幕上。

FTP >mdelete 删除远程计算机上的文件。
格式:mdelete remote-files [ ...]
说明:remote-files 指定要删除的远程文件。

FTP >mdir 显示远程目录文件和子目录列表。可以使用 mdir 指定多个文件。
格式:mdir remote-files [ ...] local-file
说明:remote-files 指定要查看列表的目录。必须指定 remote-files。请键入 - 使用远程计算机上的当前工作目录。
local-file 指定要还原列表的本地文件。请键入- 在屏幕上显示列表。

FTP >mget 使用当前文件传送类型将远程文件复制到本地计算机。
格式:mget remote-files [ ...]
说明:remote-files 指定要复制到本地计算机的远程文件。

FTP >mkdir 创建远程目录。
格式:mkdir directory
说明:directory 指定新的远程目录的名称。
FTP >mls 显示远程目录文件和子目录的缩写列表。

格式:mls remote-files [ ...] local-file
说明:remote-files 指定要查看列表的文件。必须指定 remote-files;
请键入- 使用远程计算机上的当前工作目录。
local-file 指定要存储列表的本地文件。请键入 - 以在屏幕上显示列表。

FTP >mput 使用当前文件传送类型将本地文件复制到远程计算机上。
格式:mput local-files [ ...]
说明:local-files 指定要复制到远程计算机的本地文件
FTP >open 与指定的 FTP 服务器连接。
格式:open computer [port]
说明:computer 指定要连接的远程计算机。可以通过 IP 地址或计算机名称指定计算机(DNS 或主机文件必须可用)。如果自动登录打开(默认),ftp 还将尝试自动将用户登录到 FTP 服务器port 指定用来联系 FTP 服务器的端口号。

FTP >prompt 切换提示。如果关闭提示时 mget 及 mput 传送所有文件,Ftp在多文件传送过程中将提示允许您有选择地检索或存储文件。默认情况下,提示是
打开的。

FTP >put 使用当前文件传送类型将本地文件复制到远程计算机上。
格式:put local-file [remote-file]
说明:local-file 指定要复制的本地文件。
remote-file 指定要在远程计算机上使用的名称。如果没有指定,文件将命名为 local-file。

FTP >pwd 显示远程计算机上的当前目录。

FTP >quit 结束与远程计算机的 FTP 会话并退出 ftp。

FTP >quote 将参数逐字发送到远程 FTP 服务器。将返回单个的 FTP 回复代码。
Quote 与 literal 相同。
格式:quote argument [ ...]
说明:argument 指定要发送到 FTP 服务器的参数。

FTP >recv 使用当前文件传送类型将远程文件复制到本地计算机。Recv 与 get相同。
格式:recv remote-file [local-file]
说明:remote-file 指定要复制的远程文件。
local-file 指定要在本地计算机上使用的名称。如果没有指定,文件将命名为 remote-file。

FTP >remotehelp 显示远程命令帮助。
格式:remotehelp [command]
说明:command 指定需要帮助的命令的名称。如果没有指定 command,ftp将显示全部远程命令的列表。

FTP >rename 重命名远程文件。
格式:rename filename newfilename
说明:filename 指定要重命名的文件。 newfilename 指定新的文件名。

FTP >rmdir 删除远程目录。
格式:rmdir directory
说明:directory 指定要删除的远程目录的名称。

FTP >send 使用当前文件传送类型将本地文件复制到远程计算机上。Send 与put 相同。
格式:send local-file [remote-file]
说明:local-file 指定要复制的本地文件。 remote-file 指定要在远程计算机上使用的名称。如果没有指定,文件将命名为 local-file。

FTP >status 显示 FTP 连接和切换的当前状态。

FTP >trace 切换数据包跟踪。Trace 在运行 ftp 命令时显示每个数据包的路由。

FTP >type 设置或显示文件传送类型。
格式:type [type-name]
说明:type-name 指定文件传送类型。默认设置为 ascii。如果没有指定type-name,将显示当前的类型。

FTP >user 指定远程计算机的用户。
格式:user username [password] [account]
说明:user-name 指定登录到远程计算机所使用的用户名。password 指定 user-name 的密码。如果没有指定,但必须指定,ftp 会提示输入密码。
account 指定登录到远程计算机所使用的帐户。如果没有指定account,但是需要指定,ftp 会提示您输入帐户。

FTP >verbose 切换 verbose 模式。如果打开,将显示所有 ftp 响应。在文件传送完成后,将同时显示与传送效率有关的统计信息。默认情况下,verbose 是打开的


关于变量和函数的一个笔试题目 - 收藏于 2009-03-27

7、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?

全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。

从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。

static函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件

内部函数和外部函数 - 收藏于 2009-03-27

内部函数和外部函数:

函数本身是全局的,我们在定义函数是都是外部函数,只是省略了extern。 如果一个函数只能被本文件其他函数调用,在函数名和函数类型前面加上static,定义为内部函数(静态函数)。

关于外部函数调用:

多个文件,每个文件中函数的相互调用。总结为有两种方法:

1)在主函数的文件中对其他文件中的函数进行声明,extern 可加可不加;

2)在一个头文件中对其他文件中的函数进行声明,然后在主函数文件中,#include "声明的那个头文件"。


extern - 收藏于 2009-03-27

1)在一个文件内声明外部变量

如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。如果在定义点之前的函数想引用外部变量,则应该在引用之前用关键字extern对该变量做“外部变量声明”。

2)在多个文件中声明外部变量

在一个文件中定义外部变量,在另一个文件中用extern作“外部变量声明”。


变量的存储类型 static - 收藏于 2009-03-27

变量和函数都有两个属性:数据类型和数据的存储类型。 从变量的作用域角度分:局部变量和全局变量

从变量值的存在时间分:静态存储方式和动态存储方式;具体包括:auto static(静态) register extern

主要写一下static:

1)static声明局部变量  

希望局部变量的值在函数调用结束后不消失而保留原值(auto类型的会自动消失)。

a)静态局部变量属于静态存储类型

b)对静态局部变量是在编译时赋初值的,即之赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。

c)虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的。

page 175

2)static 声明外部变量(全局变量)

希望某些外部变量只限于本文件引用,而不能被其他文件引用。 加上static声明,只能用于本文件的外部变量(全局变量)称为静态外部变量。


递推 和 递归 - 收藏于 2009-03-27

递推方法: 从一个已知的事实出发,按一定的规律推出下一个事实,再从这个新的已知的事实出发,再向下推出一个新的事实。

递归方法:分为“回推”和“递推”两个阶段,需要一个结束递归过程的条件。

age(int n)

{int c;

if(n==1)c=10;

else c=age(n-1)+2;

return(c);

}

main()

{

printf("%d",age(5));

}


心里定位 & 专攻 - 收藏于 2009-03-26

关于心里定位:

今天听一个同学说一种现象。 看一本书,一个人看了50页觉得很满足了,收获很多;而另一个人会想才看50页,今天浪费了。 突然意识到,标准问题,心里定位问题。

自己心里要求的多少,直接导致收获的多少;生活学习,高标准才会出现奇迹!

关于专攻:

同学谈到,不能太分散了,不然真的很难保证质量。确实应该注意专攻问题,不能太分散了。


海子 逝世20周年 1989-03-26 - 收藏于 2009-03-26

       面朝大海,春暖花开

  从明天起,做一个幸福的人
  喂马,劈柴,周游世界
  从明天起,关心粮食和蔬菜
  我有一所房子,面朝大海,春暖花开
  从明天起,和每一个亲人通信
  告诉他们我的幸福
  那幸福的闪电告诉我的
  我将告诉每一个人
  给每一条河每一座山取一个温暖的名字
  陌生人,我也为你祝福
  愿你有一个灿烂的前程
  愿你有情人终成眷属
  愿你在尘世获得幸福
  我只愿面朝大海,春暖花开

亚太地区 - 收藏于 2009-03-25

  亚太地区
  yà tài dì qū
  英语:Asia Pacific   亚太地区的地域概念有大有小。
  可以包括整个亚洲和环太平洋地区,连北美自由贸易区也在其中,如亚太经济合作组织成员就包括组成北美自由贸易区的美、加、墨三国。

  则指西太平洋地区,主要包括中国、日本、俄罗斯东部地区、“四小”、东盟和印支国家(有时还延伸到大洋洲的澳大利亚和新西兰等

国)。

  国家及地区
  澳大利亚                      
  文莱
  柬埔寨
  斐济
  印度尼西亚
  日本
  基里巴斯
  朝鲜
  韩国
  老挝
  马来西亚
  马绍尔群岛
  密克罗尼西亚联邦国
  瑙鲁
  新西兰
  帕劳
  巴布亚新几内亚
  菲律宾
  萨摩亚
  新加坡
  索罗门群岛
  泰国
  东帝汶
  汤加
  图瓦卢
  瓦努阿图
  越南
  中国大陆
  台湾省
  香港特别行政区区
  澳门特别行政区

金砖四国 BRICs - 收藏于 2009-03-25

   “金砖四国”来源于英文BRICs一词,是指巴西(Brazil)、俄罗斯(Russia)、印度(India)和中国(China)四国,因这四个国家的英文名称首字母组合而成的“BRICs”一词,其发音与英文中的“砖块”(bricks)一词非常相似,故被称为“金砖四国”。


华为 2007 (转) - 收藏于 2009-03-24

1、局部变量能否和全局变量重名?

答:能,局部会屏蔽全局。要用全局变量,需要使用"::"

局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

2、如何引用一个已经定义过的全局变量?

答:extern

可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

答:可以,在不同的C文件中以static形式来声明同名全局变量。

可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错

4、语句for( ;1 ;)有什么问题?它是什么意思?

答:和while(1)相同。

5、do……while和while……do有什么区别?

答:前一个循环一遍再判断,后一个判断以后再循环

6、请写出下列代码的输出内容

#include<stdio.h>
main()
{
int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf("b,c,d:%d,%d,%d",b,c,d);
return 0;
}

答:10,12,120

7、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?

全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。

从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。

static函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件

static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;
static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;
static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

8、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。

9、设有以下说明和定义:

typedef union {long i; int k[5]; char c;} DATE;
struct data { int cat; DATE cow; double dog;} too;
DATE max;

则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:___52____

答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20
data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.
所以结果是 20 + 32 = 52.

当然...在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 20

10、队列和栈有什么区别?

队列先进先出,栈后进先出

11、写出下列代码的输出内容

#include<stdio.h>
int inc(int a)
{
return(++a);
}
int multi(int*a,int*b,int*c)
{
return(*c=*a**b);
}
typedef int(FUNC1)(int in);
typedef int(FUNC2) (int*,int*,int*);

void show(FUNC2 fun,int arg1, int*arg2)
{
INCp=&inc;
int temp =p(arg1);
fun(&temp,&arg1, arg2);
printf("%d\n",*arg2);
}

main()
{
int a;
show(multi,10,&a);
return 0;
}

答:110

12、请找出下面代码中的所以错误

说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”

1、#include"string.h"
2、main()
3、{
4、 char*src="hello,world";
5、 char* dest=NULL;
6、 int len=strlen(src);
7、 dest=(char*)malloc(len);
8、 char* d=dest;
9、 char* s=src[len];
10、 while(len--!=0)
11、 d++=s--;
12、 printf("%s",dest);
13、 return 0;
14、}

答:

方法1:

int main()
{
char* src = "hello,world";
int len = strlen(src);
char* dest = (char*)malloc(len+1);//要为\0分配一个空间
char* d = dest;
char* s = &src[len-1];//指向最后一个字符
while( len-- != 0 )
*d++=*s--;
*d = 0;//尾部要加\0
printf("%s\n",dest);
free(dest);// 使用完,应当释放空间,以免造成内存汇泄露
return 0;
}
方法2:

#include <stdio.h>
#include <string.h>
main()
{
char str[]="hello,world";
int len=strlen(str);
char t;
for(int i=0; i<len/2; i++)
{
t=str[i];
str[i]=str[len-i-1]; str[len-i-1]=t;
}
printf("%s",str);
return 0;
}


1.-1,2,7,28,,126请问28和126中间那个数是什么?为什么?

第一题的答案应该是4^3-1=63

规律是n^3-1(当n为偶数0,2,4)n^3+1(当n为奇数1,3,5)

答案:63

2.用两个栈实现一个队列的功能?要求给出算法和思路!

设2个栈为A,B, 一开始均为空.

入队:
将新元素push入栈A;

出队:
(1)判断栈B是否为空;
(2)如果不为空,则将栈A中所有元素依次pop出并push到栈B;
(3)将栈B的栈顶元素pop出;

这样实现的队列入队和出队的平摊复杂度都还是O(1), 比上面的几种方法要好。3.在c语言库函数中将一个字符转换成整型的函数是atool()吗,这个函数的原型是什么?

函数名: atol
功 能: 把字符串转换成长整型数
用 法: long atol(const char *nptr);
程序例:
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
long l;
char *str = "98765432";
l = atol(lstr);
printf("string = %s integer = %ld\n", str, l);
return(0);
}

13.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?

c用宏定义,c++用inline

14.直接链接两个信令点的一组链路称作什么?

PPP点到点连接

15.接入网用的是什么接口?

16.voip都用了那些协议?

17.软件测试都有那些种类?

黑盒:针对系统功能的测试
白合:测试函数功能,各函数接口

18.确定模块的功能和模块的接口是在软件设计的那个队段完成的?

概要设计阶段

19.
enum string
{
x1,
x2,
x3=10,
x4,
x5,
}x;

问x= 0x801005,0x8010f4 ;

20.
unsigned char *p1;
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;

请问p1+5= ;
p2+5= ;

选择题:

21.Ethternet链接到Internet用到以下那个协议?

A.HDLC;B.ARP;C.UDP;D.TCP;E.ID

22.属于网络层协议的是:

A.TCP;B.IP;C.ICMP;D.X.25

23.Windows消息调度机制是:

A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈;

24.
unsigned short hash(unsigned short key)
{
return (key>>)%256
}

请问hash(16),hash(256)的值分别是:

A.1.16;B.8.32;C.4.16;D.1.32

找错题:

25.请问下面程序有什么错误?

int a[60][250][1000],i,j,k;
for(k=0;k<=1000;k++)
for(j=0;j<250;j++)
for(i=0;i<60;i++)
a[i][j][k]=0;

把循环语句内外换一下

26.
#define Max_CB 500
void LmiQueryCSmd(Struct MSgCB * pmsg)
{
unsigned char ucCmdNum;
......
for(ucCmdNum=0;ucCmdNum<Max_CB;ucCmdNum++)
{
......;
}

死循环

27.以下是求一个数的平方的程序,请找出错误:

#define SQUARE(a)((a)*(a))
int a=5;
int b;
b=SQUARE(a++);

28.
typedef unsigned char BYTE
int examply_fun(BYTE gt_len; BYTE *gt_code)
{
BYTE *gt_buf;
gt_buf=(BYTE *)MALLOC(Max_GT_Length);
......
if(gt_len>Max_GT_Length)
{
return GT_Length_ERROR;
}
.......
}

问答题:

29.IP Phone的原理是什么?

IPV6

30.TCP/IP通信建立的过程怎样,端口有什么作用?

三次握手,确定是哪个应用程序使用该协议

31.1号信令和7号信令有什么区别,我国某前广泛使用的是那一种?

32.列举5种以上的电话新业务?

twilight 暮光之城 音乐 - 收藏于 2009-03-23

歌手 — 歌名
1. Muse — Supermassive Black Hole
2. Paramore — Decode
3. The Black Ghosts — Full Moon
4. Linkin Park — Leave Out All The Rest
5. MuteMath — Spotlight (Twilight Mix)
6. Perry Farrell — Go All The Way (Into The Twilight)
7. Collective Soul — Tremble For My Beloved
8. Paramore — I Caught Myself
9. Blue Foundation — Eyes On Fire
10. Rob Pattinson — Never Think
11.Iron & Wine — Flightless Bird, American Mouth
12. Carter Burwell — Bella's Lullaby

Supermassive Black Hole(打棒球时的配乐)

Flightless Bird, American Mouth (影片结尾男女主角跳舞的配乐)

Never Think是影片男主角爱德华(罗伯帕汀森)唱的

Let Me Sign--Rob Pattinson就是ED给BELLA吸毒的背景乐

Linkin Park — Leave Out All The Rest    片尾曲 (我喜欢,久违的感觉)


Vi编辑器 (转) - 收藏于 2009-03-23

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一 下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi 也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。

1、vi的基本概念
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

1) 命令行模式command mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

2) 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

3) 底行模式(last line mode)

将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

2、vi的基本操作
a) 进入vi

在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:

$ vi myfile


不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到 「插入模式(Insert mode)」再说吧!

b) 切换至插入模式(Insert mode)编辑文件

在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

c) Insert 的切换

您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。

d) 退出vi及保存文件

在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:

: w filename (输入 「w filename」将文章以指定的文件名filename保存)

: wq (输入「wq」,存盘并退出vi)

: q! (输入q!, 不存盘强制退出vi)


3、命令行模式(command mode)功能键
1). 插入模式

按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;

按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

2). 从插入模式切换为命令行模式

按「ESC」键。

3). 移动光标

vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

按「ctrl」+「b」:屏幕往“后”移动一页。

按「ctrl」+「f」:屏幕往“前”移动一页。

按「ctrl」+「u」:屏幕往“后”移动半页。

按「ctrl」+「d」:屏幕往“前”移动半页。

按数字「0」:移到文章的开头。

按「G」:移动到文章的最后。

按「$」:移动到光标所在行的“行尾”。

按「^」:移动到光标所在行的“行首”

按「w」:光标跳到下个字的开头

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

按「#l」:光标移到该行的第#个位置,如:5l,56l。

4). 删除文字

「x」:每按一次,删除光标所在位置的“后面”一个字符。

「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。

「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。

「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。

「dd」:删除光标所在行。

「#dd」:从光标所在行开始删除#行

5). 复制

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

「#yw」:复制#个字到缓冲区

「yy」:复制光标所在行到缓冲区。

「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。

「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

6). 替换

「r」:替换光标所在处的字符。

「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

7). 回复上一次操作

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。

8). 更改

「cw」:更改光标所在处的字到字尾处

「c#w」:例如,「c3w」表示更改3个字

9). 跳至指定的行

「ctrl」+「g」列出光标所在行的行号。

「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

4、Last line mode下命令简介
在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。

A) 列出行号

「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。

B) 跳到文件中的某一行

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

C) 查找字符

「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

D) 保存文件

「w」:在冒号输入字母「w」就可以将文件保存起来。

E) 离开vi

「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。

「qw」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

5、vi命令列表
1、下表列出命令模式下的一些键的功能:

h
左移光标一个字符

l
右移光标一个字符

k
光标上移一行

j
光标下移一行

^
光标移动至行首

0
数字“0”,光标移至文章的开头

G
光标移至文章的最后

$
光标移动至行尾

Ctrl+f
向前翻屏

Ctrl+b
向后翻屏

Ctrl+d
向前翻半屏

Ctrl+u
向后翻半屏

i
在光标位置前插入字符

a
在光标所在位置的后一个字符开始增加

o
插入新的一行,从行首开始输入

ESC
从输入状态退至命令状态

x
删除光标后面的字符

#x
删除光标后的#个字符

X
(大写X),删除光标前面的字符

#X
删除光标前面的#个字符

dd
删除光标所在的行

#dd
删除从光标所在行数的#行

yw
复制光标所在位置的一个字

#yw
复制光标所在位置的#个字

yy
复制光标所在位置的一行

#yy
复制从光标所在行数的#行

p
粘贴

u
取消操作

cw
更改光标所在位置的一个字

#cw
更改光标所在位置的#个字


2、下表列出行命令模式下的一些指令
w filename
储存正在编辑的文件为filename

wq filename
储存正在编辑的文件为filename,并退出vi

q!
放弃所有修改,退出vi

set nu
显示行号

/或?
查找,在/后输入要查找的内容

n
与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(与?联用)继续查找,直到找到为止。


对于第一次用vi,有几点注意要提醒一下:
1、用vi打开文件后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC」键。
3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)


Emacs - 收藏于 2009-03-23

* 多窗口(MULTIPLE WINDOWS)
Emacs有一个非常好的特性是能同时在屏幕上显示不止一个的窗口。 FGQLinux联盟

>> 把光标移到本行上按C-u 0 C-l。 FGQLinux联盟

>> 现在按C-x 2,它把屏幕分裂成两个窗口,每个窗口都显示本教程。光标在上面的窗口里。 FGQLinux联盟

>> 按C-M-v 滚动到下面的窗口里。(如果你没有一个真正的Meta键,那么按ESC C-v) FGQLinux联盟

>> 按 C-x o (“o” 指 “其他(other)”) 把光标移到到下面的窗口里。 FGQLinux联盟
>> 用 C-v 和 M-v 滚动下面窗口里的文本。 在上面的窗口里看本教程。 FGQLinux联盟
>> 再次按 C-x o 使光标回到上面的窗口里。 现在光标象以前一样在上面的窗口里了。 FGQLinux联盟

你能一直用C-x o在窗口间切换。每个窗口都有它自己的光标位置,但仅有一个窗口能显示活动的光标。


所有的编辑命令都发生在那个显示光标的窗口上。我们把这个窗口叫做“选中窗口( selected window)”。

当你在一个窗口里编辑文本,而用另一个窗口作参考时命令C-M-v非常有用。你总是能把光标留在所编辑


的地方,而用C-M-v来翻阅另一窗口。

C-M-v 是 CONTROL-META 加字符的一个例子。 如果你有一个真正的META 键,你能同时按住 CTRL 和
META 再按“v”来输入C-M-v。CTRL 和 META 谁先按谁后按无所谓。 FGQLinux联盟

如果你没有一个真正的META 键, 你可以用 ESC 来代替。这时候次序是有关系的: 你必须让 ESC 跟在
CTRL-v后面; 否则 CTRL-ESC v 将不工作。 这是因为 ESC 是一个有意义的字符而不是一个修饰字符。


>> 输入 C-x 1 (在上面的窗口里) 以消除下面的窗口。

(如果你在下面的窗口里键入C-x 1,将会把上面的窗口去掉。可以把这个命令看作是“只保留你现在在的


那个窗口。) FGQLinux联盟

你不必一定要在两个窗口里显示同样的缓冲。如果你在一个窗口里键入C-x C-f查找文件,另一个窗口的
内容不会改变。你能独立的在每个窗口里查找文件。 FGQLinux联盟

这是让两个窗口显示不同内容的另一种方法: FGQLinux联盟

>> 在你输入的文件名后再输入C-x 4 C-f,然后用结束。会看到指定的文件出现在下面 的窗口里。


光标也在那里面。
>> 键入C-x o 回到上面的窗口,然后输入C-x 1删掉下面的窗口。


字符串相连 - 收藏于 2009-03-22

//Date: Sat. 21 Mar. 2009
//两个字符串相连,不要用strcat

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define N 100

int main()
{
int i,j,k;
char str1[N],str2[N];
    printf("请输入第一个字符串:\n");
scanf("%s",str1);
printf("请输入第二个字符串:\n");
    scanf("%s",str2);
for(i=0;str1[i]!='\0';i++)      //字符串1的长度   
   ;

    for(j=0;str2[j]!='\0';j++)      //字符串2的长度
   ;
    for(k=0;k<=j;i++,k++)
{
   str1[i]=str2[k];            //相连
}
    
// puts(str1);
    printf("两个字符串相连:\n%s \n",str1);
return 0;


字符串问题 - 收藏于 2009-03-22

//Date: Sat. 21 Mar 2009
//字符串比较 并输出它们的差值 不能用strcpy

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define N 100


int compare(char str1[],char str2[])
{
    int i=0;
    while(str1[i]==str2[i]&&str1[i]!='\0')
        i++;
    return str1[i]-str2[i];
}


int main()
{
char str1[N],str2[N];
printf("请输入第一个字符串:\n");
gets(str1);
    printf("请输入第一个字符串:\n");
gets(str2);
printf("两个字符串的差值为:%d\n ",compare(str1,str2));
return 0;
}


BME 投稿问题 - 收藏于 2009-03-19

转的一个很有帮助的帖子:

问题:

请问投稿时comments 一定要写吗?请问下面的话是什么意思。我应该怎么填呢?
To attach a file from the arXiv, enter the arXiv code (Database name followed by a forward slash and the 7-digit number referencing the article). (e.g. physics.acc-ph/3088164, hep-th/3822851, etc.)
arXiv File Name:

回复:

comments 我就按照他的要求,说明文章是原创的。也有人没写的。建议按照他的要求,声明一下

以下为转帖:
arxiv是一个免费张贴和下载预印本的网站,最初用于高能物理和粒子物理学家之间的交流,如今已经发展到了物理学的各个领域,且延伸到了数学,生物,计算机科学等多个领域。前两天我在这个网站的quant-ph分类下贴出了自己的一篇论文,向大家介绍一下具体的过程。


首先,需要在arxiv (http://arxiv.org/)上注册一个帐号,这非常简单,可以看看这个页面的帮助。即使最近不会往arxiv贴论文,也建议注册一个帐号,因为有了它才能够看到贴在arxiv网站上论文作者的电子邮箱,有利于与作者交流。

然后,你需要一个发文认可。能够给你认可的人必须在arxiv上你所在的领域里发表一定的论文。最简单的办法是随便找一篇论文,尽如摘要页面,看看“Which of these authors are endorsers”这句话链接的页面,你会很容易找到的。你最好能从你熟悉的人中间找到一个确认人,不认识也没有关系只要你能够让他认可你的专业背景,肯通过你即可。然后一旦你想要发出你的第一篇论文,填写完表单后arxiv就会自动的给你的邮箱发一封邮件,包含确认表单的链接。你只需要把这个邮件转发给确认人让他帮你确认即可。

一旦收到确认信,你就可以在arxiv你所属的分类下贴论文了。按照arxiv的说明,论文贴出来后如果要修改,一定不能另外重复贴论文,而是要替换。另外,论文公布后,你也可以为论文添加所属的分类,但千万不要在别的类别下又发一次论文。按照arxiv的说明,如果你的论文是用TeX写的,最好是提交源文件。不过我也看到过只有PDF文件的论文,而微软的Word文件是不支持的。如果你的论文是用Word或别的什么文档处理软件编辑的话,请转换为PDF格式的文件再投到arxiv上去。

[ Last edited by modan on 2008-5-26 at 09:47 ]


作者: modan 发布日期: 2008-05-26

你如果在arxiv 传了文件,会得到一个7位代码,然后你把这个代码填好,这样杂志社就可以去找和下载了。


统计字符数 - 收藏于 2009-03-18

一篇文章,共有3行文字,每行80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格、以及其他字数的个数

//Date: Wen. 18 Mar. 2009
//统计各种字符数

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
int i,j;
int upper,lower,digit,space,other;
char a[3][80];
upper=lower=digit=space=other=0;
/*for(i=0;i<3;i++)
{
   gets(a[i]);                         //gets 取字符串
}*/
    for(i=0;i<3;i++)
{
  for(j=0;(a[i][j]=getchar())!='\n';j++)     //getchar   取字符
   {
    if(a[i][j]>='A'&&a[i][j]<='Z')
        upper++;
    else if(a[i][j]>='a'&&a[i][j]<='z')
        lower++;
    else if(a[i][j]>='0'&&a[i][j]<='9')
                 digit++;
    else if (a[i][j]==' ')
     space++;
    else
     other++;
   }
}
printf("大写字母数:\t %d\n小写字母数:\t %d\n数字:\t %d\n其他:\t %d\n", upper,lower,digit,space,other);
    return 0;
}

ps: 今天状态不好,参考别人的博客写的,下一个一定要自己写。


latex 中的 subfigure - 收藏于 2009-03-17

总算弄好了    latex编译报错时输入:exit   显示错误位置

首先加包:

\usepackage{multicol,balance}
\usepackage{times}
\usepackage{graphicx}
\usepackage{subfigure}

子图编辑代码模板:

\begin{figurehere}
\centering
\subfigure[Pupil center detection]
{\includegraphics[width=4 cm]{img5.eps} \label{fig_first_case}}
\hfil
\subfigure[The result in eye image]
{\includegraphics[width=4 cm]{img6.eps}
\label{fig_second_case}}
\caption{The result of pupil center detection} \label{fig4}
\end{figurehere}

文章中引用的话: (see Fig.\ref{fig1} ) .


jpg 转 eps - 收藏于 2009-03-17

方法1:

matlab读 保存为eps格式

方法2:

bmeps 是 MikTeX 自带的转换程序,MikTeX 是 CTeX 中的一个组成部分,是其中的后台编译系 统。你所说的 WinEdt 是 CTeX 的前端编辑系统。若你的 CTeX 装在 C 盘,你应该可以在 C:\CTeX\texmf\miktex\bin 中找到 bmeps.exe 这个应用程序文件。就是这个。

如果要将 jpg 转成 eps,这 bmeps 应该是比较好的选择。假设你的 jpg 文件 file.jpg 存放在 D:\tex 里。你在 DOS 中进入这个目录,在命令提示符后面输入 bmeps file.jpg file.eps 并回车。就会在同一目录下得到转换出来的 pdf 文件 file.pdf。 (我在cmd里运行的)

方法3:

用Photoshop导出的eps文件,放在tex文件中用LaTex编译时出现以下错误信息:

“! LaTeX Error: Cannot determine size of graphic in images/1.eps (no BoundingBox) 。”

解决的方法很简单的,在用Photoshop将其他格式的图片转换成eps格式图片时,应该在“EPS选项”

的“预览”项选“无”,如下图所示。

方法4:

另一方法就是用GSView打开看看大小,在\includegraphics选项中加入bb=0 0 x y,
如:\includegraphics[width=0.5\textwidth,bb=0 0 800 600]{1.eps}

可以用GSView打开看看大小,在\includegraphics选项中加入bb=0 0 x y,
如:
\includegraphics[width=0.5\textwidth,bb=0 0 800 600]{1.eps}
[right][snapback]210713[/snapback][/right]


更改图标 - 收藏于 2009-03-17

一直只知道 文件关联, 工具—>文件夹选项—>找到文件类型—>更改 ;

可是文件关联上之后,比如avi的关联上VLC播放器之后,图标不是VLC的,要想更改图标

工具—>文件夹选项—>找到文件类型—>高级(更改下面) —>更改图标—>找到要用图标的安装位置;


折半法查找元素 - 收藏于 2009-03-17

数组按由大到小的顺序排列,输入一个数,要求用折半法找出数组中的第几个元素。如果该数不在数组中,打印出“无次数”

//Date: Thu. 17 Mar. 2009
//折半法查找 数组中第几个元素, 数组必须从大到小,找不到 打印“无次数”

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

#define N 5

/* 判断数组是否从大到小 */
int sorted(int *x,int n)
{
int i;
for(i=0;i<n-1;i++)     // n-1 because *(x+i+1)
{
   if(*(x+i+1)>=*(x+i))
    return 0;
}
return 1;
}

/* 找到第几个元素 */
int find(int *x,int n,int num)
{
   int min, max;
   min=0;max=n-1;
   while(max>min)
   {
    if(*(x+min)==num) return min+1;
    else if(*(x+max)==num) return max+1;
    else if(*(x+(max+min)/2)==num) return (max+min)/2+1;
    else if(num>*(x+(max+min)/2))   max=(max+min)/2;
    else min=(max+min)/2;
   }
   return 0;
}

int main()
{
int a[N],i,num;
printf("请按从大到小的顺序输入%d个整数:\n",N);
for(i=0;i<N;i++)
{
   scanf("%d",&a[i]);
}
while(!sorted(a,N))
{
        printf("您输入的数没有排序或有大小相同的数,请重新输入:\n");
       for(i=0;i<N;i++)
   {
   scanf("%d",&a[i]);
   }
}
     printf("请输入要查找的数字:");
    scanf("%d",&num);
if(!find(a,N,num))
        printf("找不到%d!无次数\n",num);
    else
        printf("%d是第%d个数字。\n",num,find(a,N,num));


}


linux 常用命令 - 收藏于 2009-03-13

一些常用的基本命令:
uname -a 查看内核版本
ls -al 显示所有文件的属性
pwd 显示当前路径
cd - 返回上一次目录 cd ~ 返回主目录
date s 设置时间、日期
cal 显示日历 cal 2006
bc 计算器具
man & info 帮助手册
locale 显示当前字体 locale -a 所有可用字体 /etc/sysconfig/i18n设置文件
LANG=en 使用英文字体
sync 将数据同步写入硬盘
shutdonw -h now & half & poweroff 关机
reboot 重启
startx & init 5 进入图形介面
/work & ?work 向上、下查找文档内容
chgrp 改变档案群组 chgrp testing install.log
chown 改变所属人 chown root:root install.log
chmod 改变属性 chmod 777 install.log read=4 write=2 execute=1
cp 复制 cp filename
rm 删除文件 rm -rf filename 强制删除文件
rmdir 删除文件夹
mv 移动 mv 123.txt 222.txt 重命名
mkdir 创建文件夹
touch 创建文件 更新当前时间
cat 由第一行开始显示 cat |more 分页
nl 在内容前加行号
more & less 一面一面翻动
head -n filename 显示第N行内容
tail -n filename 显示后N行内容
od 显示非纯文档
df -h 显示分区空间
du 显示目录或文件的大小
fdisk 分区设置 fdisk -l /dev/hda 显示硬盘分区状态
mkfs 建立各种文件系统 mkfs -t ext3 /dev/ram15
fsck 检查和修复LINUX档案
ln 硬链接 ln -s 软件链接
whereis 查找命令
locate 查找
find 查找 find / -name "***.*** "
which 查看工具
whoami 显示当前用户
gcc -v 查看GCC版本
chattr +i filename 禁止删除 chattr -i filename 取消禁止
lsattr 显示隐藏档属性
updatedb 更新资料库
mke2fs 格式化 mkfs -t ext3
dd if=/etc/passwd of=/tmp/passwd.bak 备份
mount 列出系统所有的分区
mount -t iso9660 /dev/cdrom /mnt/cdrom 挂载光盘
mount -t vfat /dev/fd0 /mnt/floppy 挂载软盘
mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2 挂载fat32分区
mount -t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3 挂载ntfs分区
Linux-NTFS Project: http://linux-ntfs.sourceforge.net/
umount /mnt/hda3 缷载
ifconfig 显示或设置网络设备
service network restart 重启网卡
ifdown eth0 关闭网卡
ifup eth0 开启网卡
clear 清屏
history 历史记录 !55 执行第55个指令
stty 设置终端 stty -a
fdisk /mbr 删除GRUB
at 僅進行一次的工作排程
crontab 循環執行的例行性命令 [e]编辑,[l]显示,[r]删除任务
& 后台运行程序 tar -zxvf 123.tar.gz & ---------> 后台运行
jobs 观看后台暂停的程序 jobs -l
fg 将后台程序调到前台 fg n ------> n是数字,可以指定进行那个程序
bg 让工作在后台运行
kill 结束进程 kill -9 PID [9]强制结束,[15]正常结束,[l]列出可用的kill信号
ps aux 查看后台程序
top 查看后台程序 top -d 2 每两秒更新一次 top -d 2 -p10604 观看某个PID
top -b -n 2 > /tmp/top.txt -----> 將 top 的資訊進行 2 次,然後將結果輸出到 /tmp/top.txt
pstree 以树状图显示程序 [A]以 ASCII 來連接, [u]列出PID, [p]列出帐号
killall 要刪除某個服務 killall -9 httpd
free 显示内存状态 free -m --------> 以M为单位显示
uptime 显示目前系统开机时间
netstat 显示网络状态 netstat -tulnp------> 找出目前系統上已在監聽的網路連線及其 PID
dmesg 显示开机信息 demsg | more
nice 设置优先权 nice -n -5 vi & -----> 用 root 給一個 nice 植為 -5 ,用於執行 vi
renice 调整已存在优先权
runlevel 显示目前的runlevel
depmod 分析可载入模块的相依性
lsmod 显示已载入系统的模块
modinfo 显示kernel模块的信息
insmod 载入模块
modprobe 自动处理可载入模块
rmmod 删除模块
chkconfig 检查,设置系统的各种服务 chkconfig --list -----> 列出各项服务状态
ntsysv 设置系统的各种服务
cpio 备份文件

打印杨辉三角形 - 收藏于 2009-03-12

规律:

把杨辉三角形看成一个二维数组,除两侧元素都为1外,其余每个元素为其正上方元素和左上角元素之和。数组表述a[i][j]=a[i-1][j-1]+a[i-1][j];

Program: ../7/test76

//Date: Thu. 12 Mar 2009
//打印杨辉三角形

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define M 10
#define N 10


int main()
{
int i,j,a[M][N];
/*打印两侧的 1 */
for(i=0;i<M;i++)
{
   for(j=0;j<=i;j++)   //注意循环条件
   {
            a[i][0]=1;
    a[i][j]=1;
    printf("%3d",a[i][j]);
   }
   printf("\n");
}
   
/* 打印中间值 */
for(i=2;i<M;i++)
{
   for(j=1;j<i;j++)    //注意循环条件
   {
    a[i][j]=a[i-1][j-1]+a[i-1][j];
   }
}
    /* 打印数组*/
for(i=0;i<M;i++)
{
   for(j=0;j<=i;j++)
   {
    printf("%4d",a[i][j]);
   }
   printf("\n");
}
return 0;
}


srand(time(NULL)) 产生随机数 - 收藏于 2009-03-12

1)time(NULL)产生的时间是以秒为单位,如果程序循环在一秒钟之内执行完,那么time(NULL)每次返回的时间也就是一样的,所以造成srand(time(NULL))每次取的种子也都一样;所以srand(time(NULL)) 放在循环外面;

2) rand()%100   随机数取余数,产生0~99之间的数;

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#define M 5


int main()
{
int i,a[M];
    srand(time(NULL));        //////////////
for(i=0;i<M;i++)
{
   a[i]=rand()%100;      /////////////
   printf("%3d",a[i]);
}
return 0;
}


数组与指针理解 - 收藏于 2009-03-10

这两天看数组和指针的,简要写一下数组与指针的理解

1)一维数组 和 二维数组 指针的区别

在一维数组中a+i 所指的是一个数组元素的存储单元,在该单元中有具体的值;

在二维数组中, a+i是指向行;在指向行的指针前面加一个* ,就转换成指向列的指针;

                                              在指向列的指针前面加一个&,就转换成指向行的指针;

但a+i=a[i]=*(a+i)=&a[i]=&a[i][0]; 它们的值是相等的; 但a+i   与 *(a+i)=a[i] 意义不同, 分别指向的是 的指针;

2)二维数组指针 做为函数调用的理解

如果子函数要处理的是二维数组中的每个数,函数传递时传递指向列的指针;average(float *p, int n)

如果子函数要处理的是二维数组中的某一行,函数传递时传递指向行的指针, search(float (*p)[4], int n)

参看谭浩强pp: 231 程序;


可以考虑的 - 收藏于 2009-03-08

石家庄五十四所

审协   11月份,网上投递简历;(要翻译,关于OFDM的)

知识产权局;(两个半小时的翻译,每个部门不一样,通信那边有 数据通信与网络协议);

河北理工大学;

中兴 、华为;


3月plane - 收藏于 2009-03-08

这个星期文章投出去,专利弄好;

c语言看完一章;

计算机网络看完一章;

公务员看完一种类型题;

下面两个星期也是;根据师兄任务稍作改动


EI收录中国期刊(核心)电子与通信、计算机学科部分,综合大学学报英文版类 (转) - 收藏于 2009-03-08

EI收录中国期刊(核心)
ISSN             期 刊 名
1022-4653 Chinese Journal of Electronics
1671-7694 Chinese Optics Letters
1004-0579 Journal of Beijing Institute of Technology (English Edition) 北京理工大学学报英文版
1005-9784 Journal of Central South University of Technology (华中科技)
1672-5220 Journal of Donghua University (English Edition) (东华大学,英文版)
1005-9113 Journal of Harbin Institute of Technology (New Series) (哈工大)
1007-1172 Journal of Shanghai Jiaotong University (Science) 上交大,自然版
1003-7985 Journal of Southeast University (English Edition) 东南大学,英文版
1004-4132 Journal of Systems Engineering and Electronics
1673-565X Journal of Zhejiang University SCIENCE A 浙江大学 A刊
1005-8885 The Journal of China Universities of Posts and Telecommunications 北京邮电大学
1006-4982 Transactions of Tianjin University 天津大学学报
1007-0214 Tsinghua Science and Technology 清华科学与技术
0253-4177 半导体学报
0254-0037 北京工业大学学报
1001-5965 北京航空航天大学学报
1001-053X 北京科技大学学报
1001-0645 北京理工大学学报
1000-1522 北京林业大学学报
1007-5321 北京邮电大学学报
1001-1595 测绘学报
1001-0548 电子科技大学学报
0372-2112 电子学报
1009-5896 电子与信息学报
1005-3026 东北大学学报 (自然科学版)
1001-0505 东南大学学报 (自然科学版)
1000-3819 固体电子学研究与进展
1005-0086 光电子.激光
1006-7043 哈尔滨工程大学学报
0367-6234 哈尔滨工业大学学报
1001-9014 红外与毫米波学报
1000-2472 湖南大学学报 (自然科学版)
1000-565X 华南理工大学学报(自然科学版)
1671-4512 华中科技大学学报(自然科学版)
1002-0446 机器人
1671-5497 吉林大学学报(工学版)
1003-9775 计算机辅助设计与图形学学报
1006-5911 计算机集成制造系统
0254-4164 计算机学报
1000-1239 计算机研究与发展
1007-4708 计算力学学报
1001-246X 计算物理
1009-3443 解放军理工大学学报
1003-6059 模式识别与人工智能
1005-2615 南京航空航天大学学报
1005-1120 南京航天航空大学学报(英文版)
1005-9830 南京理工大学学报 (自然科学版)
1000-0054 清华大学学报 (自然科学版)
1000-9825 软件学报
1006-2467 上海交通大学学报
0371-0025 声学学报
1009-3087 四川大学学报(工程科学版)
0493-2137 天津大学学报
1000-436X 通信学报
0253-374X 同济大学学报 (自然科学版)
1671-8860 武汉大学学报(信息科学版)
1001-2400 西安电子科技大学学报
0253-987X 西安交通大学学报
1000-2758 西北工业大学学报
0258-2724 西南交通大学学报
1001-506X 系统工程与电子技术
1005-0930 应用基础与工程科学学报
1008-973X 浙江大学学报 (工学版)
1672-7207 中南大学学报(自然科学版)
0529-6579 中山大学学报(自然科学版)
0254-4156 自动化学报

中国国内期刊介绍 - 收藏于 2009-03-08

转:计算机类的权威和核心期刊 权威期刊

计 算 机 学 报 中科院计算研究所 软 件 学 报 中科院软件研究所 模式识别与人工智能 中科院智能研究所 计算机研究与发展 中科院计算研究所 自 动 化 学 报 中科院自动化研究所 小型、微型计算机系统 中科院沈阳计算机技术研究所 ◆   核心期刊

计算机应用与软件 上海计算技术所 计 算 机 科 学 中国科学技术信息研究所重庆分所 计 算 机 工 程 华东计算技术研究所 计 算 机 技 术 华北计算所 计算机工程与应用 华北计算所 计算机工程设计 航天工业总公司906研究所 电 信 科 学 电信科学编辑部 中文信息学报 北京信息工程学院 信 息 与 控 制 中国自动化学会 信 号 处 理 中国电子学会、中国仪器仪表学会 机 器 人 中国自动化学会 中国图形图象学报 中国图形图象学会
中国科学院遥感应用研究所
北京应用物理与计算数学研究所 中 文 信 息 中国中文信息学会 微型电脑应用 上海市微型电脑应用学会 计算机工程与科学 国防科学技术大学

计算机科学与技术 英文版: 《Journal of Computer Science and Technology》 (双月刊)    
   SCI-E源期刊,中文重要期刊,EI Compendex源期刊,中文核心期刊
主办单位:中国科学院计算技术研究所
地址:北京2704信箱
邮编:100080
邮发代号:2-578
E-mail: jcst@ict.ac.cn  
           jcst@ns.ict.ac.cn  
http://jcst.ict.ac.cn/
  

.


《计算机学报》(Chinese Journal of Computers) (月刊)
   中文重要期刊,EI Compendex源期刊,中文核心期刊
主办单位:中国计算机学会 中国科学院计算技术研究所
地址:北京2704信箱 中国科学院计算技术研究所 《计算机学报》编辑部
邮编:100080
邮发代号:2-833
E-mail: cjc@ict.ac.cn
http://www.ict.ac.cn/cjc/cjc.html
  

《软件学报》(Journal of Software) (月刊)   
   中文重要期刊,EI Compendex源期刊,中文核心期刊
主办单位:中国计算机学会 中国科学院软件研究所
地址:北京8718信箱 北京海淀区中关村《软件学报》编辑委员会
邮编:100080
邮发代号:82-367
E-mail:jos@iscas.ac.cn
http://www.jos.org.cn/
  

《计算机研究与发展》 (Journal of Computer Research and Development)(月刊)   
   中文重要期刊,EI Compendex源期刊,中文核心期刊
主办单位:中国科学院计算技术研究所 中国计算机学会
地址:北京2704信箱 中国科学院计算技术研究所 《计算机研究与发展》 编辑委员会
邮编:100080
邮发代号:2-654
E-mail: crad@ict.ac.cn
http://crad.ict.ac.cn/
  

《电子学报》(中文版)(Acta Electronica Sinica)(月刊)
     电子学报   英文版:《Chinese Journal of Electronics》(双月刊)
    SCI-E检索源期刊,中文重要期刊,EI Compendex源期刊,中文核心期刊
通信地址: 北京165信箱           邮政编码: 100036
电话: 86-10-68279116,    86-10-68285082
传真: 86-10-68173796
E-mail: cje@elecjournal.org
http://www.elecjournal.org/
  

《自动化学报》 (双月刊)
     中文重要期刊,EI Compendex源期刊,中文核心期刊
期刊外文名:   Acta Automatica Sinica  
创办日期:   1963.01.01  
主办单位:   中国自动化学会、中国科学院自动化所
编辑部通信地址:   北京市中关村东路95号中科院自动化研究所  
邮政编码:   100080
联系电话:   (010) 82614566  
编辑部E-mail:   aas@mail.ia.ac.cn  
网   址:   http://www.aas.net.cn/  
国内邮发代号:   2-180  
出版日期:   单月20日  

电话:010-62565763(日常咨询和稿件处理)010-82614566(录用后稿件处理)
传真:010-82614571
编辑部办公时间:上午:8:00-12:00 下午:13:30-17:30 (法定节假日休息)

《计算机工程 》(Computer Engineering)(半月刊)
    EI 源期刊,中文核心期刊
主办单位:华东计算技术研究所 上海市计算机学会
地址:上海市漕河泾桂林路418号 《计算机工程》编辑部
邮编:200233
电话:(021)54972331 , 64704678-10341
邮发代号:4-310
E-mail: hdsce@china.com
http://www.ecice06.com/
  
《电子与信息学报》(中文版)(月刊)
     电子与信息学报   英文版:《Journal of Electronics》 (季刊)
中文重要期刊,EI Compendex源期刊,中文核心期刊
原刊名:电子科学学刊
地址:北京市北四环西路19号
通信:北京2702信箱《电子与信息学报》编辑部
电话:010-62551772
投送中英文修改稿件 Email:wbzhou@mail.ie.ac.cn
查询稿件E-mail邮箱:
         中文稿件查询 Email:ywwu@mail.ie.ac.cn
         英文稿件查询 Email: gliu@mail.ie.ac.cn
http://journaleit.ie.ac.cn/
  
《信息与控制》(Information and Control)(双月刊)
   中文重要期刊,EI Compendex源期刊,中文核心期刊
地址:辽宁沈阳市三好街90号(中科院沈阳自动化所)   邮编:110003
电话:(024)23893591-2455
网址:http://xxbjb.gongkong.com/
Email:xxbjb@gongkong.com
  
《控制理论与应用》(双月刊)(Control Theory & Applications)
     控制理论与应用   英文版:《Journal of Control Theory and Applications》
    中文重要期刊,EI Compendex源期刊,中文核心期刊
主办单位:华南理工大学
地  址:广州市五山华南理工大学内
邮政编码:510640
电  话:020-87111464
传  真:020-87111464
电子邮件:aukzllyy@scut.edu.cn
   
《控制与决策》 (Control and Decision)(月刊)
    中文重要期刊,EI Compendex源期刊,中文核心期刊
地址:沈阳市和平区文化路3号巷11号东北大学125信箱
邮编:110004
电话:024-23906437,83687766
Email:kzyjc@mail.neu.edu.cn
http://www.kzyjc.net/
  

《系统仿真学报》(JOURNAL OF SYSTEM SIMULATION)(半月刊)
    中文重要期刊,EI Compendex源期刊,中文核心期刊
编辑部电话:010-88527147
主任办电话:010-68388709
通信地址:北京142信箱13分箱         邮编:100854
电子邮件:simu-xb@vip.sina.com
http://www.china-simulation.com/
  

《模试识别与人工智能》 (季刊) ISTIC收录
    中文重要期刊,EI Compendex源期刊,中文核心期刊
主办单位:中国自动化学会 国家智能计算机研究开发中心
地址:合肥1130信箱 中国科学院合肥智能机械研究所 《模式识别与人工智能》编辑部
邮编:230031
邮发代号:26-69
E-mail:bjb@mail.iim.ac.cn
   

《计算机科学》(Computer Science)(月刊)  
     中文核心期刊
主办单位:国家科技部西南信息中心

地址:重庆市渝中区胜利路132号 《计算机科学》杂志社
邮编:400013
E-mail:   jsjkx@swic.ac.cn

通信地址:重庆市北部新区洪湖西路18号重庆天旭科技信息有限公司 《计算机科学》杂志社
邮政编码:401121
邮发代号:78-68
电话: (023) 63500828 ddd67039612 dd67039625
传真: (023) 63500828
E-mail : jsjkx12@163.com
http://www.jsjkx.com/


《系统工程理论与实践》(月刊)
   中文重要期刊,EI Compendex源期刊,中文核心期刊
地址:北京中关村东路55号     邮编:100080 
电话: 010-62541828 
Email: xtll@chinajournal.net.cn
http://www.sysengi.com/

《系统工程学报》(Journal of Systems Engineering )(双月刊)
    中文重要期刊,EI Compendex源期刊,中文核心期刊
主办单位:中国系统工程学会
地  址:天津市津卫路92号天津大学18教学楼411室
邮政编码:300072
电  话:022-27403197
传  真:022-27403197
电子邮件:jsetju@263.net    zowang@tju.edu.cn

《系统工程与电子技术》(Systems Engineering and Electronics)(月刊)
     系统工程与电子技术   英文版:《Journal of Systems Engineering and Electronics》(季刊)
     EI Compendex源期刊,中文核心期刊
主办单位:中国航天科工集团公司二院 中国宇航学会 中国系统工程学会
地址:北京142信箱32分箱
邮编:100854
电话:010-68388406
传  真:010-68388406
电子邮件:xtydz@126.com

《小型微型计算机系统》(Mini-Micro Systems) (月刊)
      中文核心期刊
主办单位:中科院沈阳计算技术研究所
地址:沈阳市和平区三好街100号 中科院沈阳计算技术研究所 《小型微型计算机系统》编辑部
邮编:110004
邮发代号:8-108
电话:   024-23892547
E-mail: xwjxt@sict.ac.cn
http://www.sict.ac.cn/

《数值计算与计算机应用》(Journal on Numerical Methods and Computer Applications) (季刊)
    中文核心期刊,ISTIC收录
主办单位:中国科学院计算数学与科学工程计算研究所
地址:北京市2719信箱 《数值计算与计算机应用》编辑部
邮编:100080
邮发代号:2-413
E-mail:SZJS@chinajournal.net.cn
http://www.chinainfo.gov.cn/periodical  

《计算机工程与应用》(Computer Engineering and Applications) (旬刊)
   中文核心期刊,ISTIC收录
主办单位:华北计算技术研究所
地址:北京市北四环中路211号 北京619信箱26分箱《计算机工程与应用》杂志社
邮编:100083
邮发代号:82-605
电话:010-51615542
投稿信箱:tjit@public2.bat.net.cn
               cea@163bj.com
http://www.ceaj.org/

《计算机应用研究》(Application Research Of Computers) (月刊)
   中文核心期刊, ISTIC收录
主办单位:四川省电子计算机应用研究中心
通讯地址:成都市成科西路3号 《计算机应用研究》编辑部             邮编:610041
邮发代号:62-68
编辑部电话:028-85249567        电话: 028-85210177,85221946
E-mail: srcca@sichuan.net.cn;   arocmag@163.com
http://www.arocmag.com/

《中文信息学报》 (双月刊)
     中文核心期刊,ISTIC收录
主办单位:中国科学院软件研究所 中国中文信息学会
地址:北京8718信箱 《中文信息学报》编辑部
邮编:100080
   E-mail:cips@admin.iscas.ac.cn

《计算机应用》(Computer Appliocations) (月刊)  
   中文核心期刊,ISTIC收录
主办单位:中科院成都计算机应用研究所 四川省计算机学会
地址:成都市人民南路四段九号 成都237信箱《计算机应用》编辑部
邮编:610041
编辑部地址:成都市237信箱 《计算机应用》编辑部  邮编:610041
邮发代号:62-110
电话:(028)85224283-601
传真:(028)85222239
E-mail:bjb@computerapplications.com.cn   
http://www.computerapplications.com.cn/

《计算机辅助设计与图形学学报》(Journal of Computer-Aided Design & Computer Graphics) (月刊)
    中文核心期刊,ISTIC收录
主办单位:中国计算机学会
地址:北京2704信箱 中国科学院计算技术研究所
邮编:100080
邮发代号:82-456
   E-mail: jcad@ict.ac.cn  
   E-mail: jcad@ns.ict.ac.cn
  http://jcad.ict.ac.cn/

《计算机工程与设计》(Computer Engineering and Design) (月刊)
     中文核心期刊
主办单位:中国航天科工集团二院706所
地址:北京142信箱406分箱 《计算机工程与设计》编辑部
邮编:100854
邮发代号:82-425
E-mail: ced@httx.com.cn  
http://www.china-ced.com/

微电子学与计算机(Microellectronics & Computer)(月刊)
     中文核心期刊
主办单位:中国航天科技集团公司西安微电子技术研究所
地址:西安市81号信箱 《 微电子学与计算机》编辑部
邮编:710054
邮发代号:52-16
电  话:029-82262687
传  真:029-82262771
电子邮件:mc771@163.com

计算机仿真(Computer Simulation) (月刊)
    中文核心期刊
主办单位:中国航天科工集团公司第十七研究所
地  址:北京海淀阜成路14号
邮政编码:100037
电  话:010-68767186
传  真:010-68373574
电子邮件:kwcoltd@public.bta.net.cn     jsjfz@compusimu.com
  http://www.compusimu.com/

计算机应用与软件 (Computer Applications and Software)(月刊)
   中文核心期刊
主办单位:上海市计算技术研究所 上海计算机软件技术开发中心
地  址:上海市愚园路546号《计算机应用与软件》编辑部
邮政编码:200040
电  话:021-62520070-505
传  真:021-62254715
电子邮件:cas@sict.stc.sh.cn

微计算机信息(CONTROL & AUTOMATION)(旬刊)
   中文核心期刊
主办单位: 中国计算机用户协会自动控制分会
通信地址: 北京海淀区皂君庙14号鑫雅苑6号楼601室      邮编:100081
电话: 010-62192616,62132436
在线投稿:http://www.autocontrol.com.cn/

微型机与应用(Microcomputer & Its Applications)(月刊)
   中文核心期刊

创办日期:   1982.01.01  
主办单位:   信息产业部电子第六研究所
编辑部通信地址:   北京市海淀区清华东路25号(927信箱)  
邮政编码:   100083
联系电话:   (010)82306084     65157887
传 真:    010-65157886
编辑部E-mail:   pcapps@infopo.lshs.ac.cn     pca@ncse.com.cn  
国内邮发代号:   82-417  

微型计算机(半月刊)
   中文核心期刊
主办单位:科技部西南信息中心
创刊日期:1980.8
出刊日期:每月1日、15日

数据采集与处理(Journal of Data Acquisition & Processing)(月刊)
   EI统计源期刊,中文核心期刊
主办单位: 南京航空航天大学. 信号处理学会.微弱信号检测学会
地址:南京市御道街29号(南京航空航天大学内)
邮编:210016
电话:025-84892742, 84892744
电话:025-4492492-2726
传真:025-4494880
电报挂号:南京市3057

中国图象图形学报(Journal of Image and Graphics)(月刊)
中文核心期刊
主办单位:中国科学院遥感应用研究所、中国图象图形学学会 、北京应用物理与计算数学研究所
地  址:北京海淀中关村东路95号(北京2728信箱)  
邮政编码:100080
电  话:010-82614429
传  真:010-82614429
Email:jig@irsa.ac.cn
http://www.cjig.cn/

机器人(Robot)(双月刊)
EI统计源期刊,中文核心期刊
主办单位:中国科学院沈阳自动化研究所
邮政编码:110003
地  址:沈阳市南塔街114号
邮政编码:110016
电  话:024-23970050
电子邮件:qr@sia.cn
http://robot.sia.cn/
http://www.robotschina.com/

计算机集成制造系统(Computer Integrated Manufacturing Systems)
EI统计源期刊,中文核心期刊
通信地址:北京市2413信箱34分箱(100089)
电   话:(010)68962468
传   真:(010)68962468
E-mail: Bamt@onet.com.cn
http://www.amtech.org.cn/

航空计算技术(Aeronautical Computer Technique)(季刊)   ISTIC收录

创办日期:   1971.01.01  
主办单位:   中国航空工业第六三一研究所
编辑部通信地址:   陕西省西安市太白南路(西安90信箱)  
邮政编码:   710068
联系电话:   029-88151098  
编辑部E-mail:   act631@163.com  
国内统一刊号:   61-1276/TP  
国际标准刊号:   1671-654X  
国内邮发代号:   52-79  
出版日期:   季末月30日  

微计算机应用 (Microcomputer Applications)
   中文核心期刊
   主办单位: 中国科学院声学研究所  
   编辑出版 :《微计算机应用》编辑部
   地址: 海淀区北四环西路21号      邮编:100080
   E--mail:   weiji@dsp.ac.cn
   电     话:   010-62554573
   国内总发行: 北京市邮政局
   订购 处:全国各地邮局
   国内统一刊号:CN11-2204/TP   
   国内邮发代号:2-304
   国外发行代号:BM5550

电光与控制(Electronics Optics & Control)(双月刊)
   中文核心期刊
   主办单位:中国航空工业洛阳电光设备研究所
   通讯地址:河南洛阳017信箱16分箱《电光与控制》编辑部         邮编:471009
   电话:0379-63327293       传真:0379-63938146
   E-mail:eoei@public2.lyptt.ha.cn
              eoei@vip.sina.com  
   Website: http://dgkq.chinajournal.net.cn

《计算机工程与科学》(Computer Engineering and Science) (双月刊)
    ISTIC收录
主办单位:国防科技大学计算机学院
地址:湖南长沙砚瓦池正街47号 《计算机工程与科学》编辑部
邮编:410073
邮发代号:42-153
E-mail:cchunxi@163.net

电子计算机与外部设备(Computer & Peripherals)       E-mail: OK HOPE@mail.hz.zj.cn

计算机辅助工程(Computer Aided Engineering)             E-mail: smucad@163.net

计算机与现代化(Computer and Modernization)            E-mail: jict@public.nc.ix.cn

计算机与应用化学 Computers and Applied Chemistry

计算机自动测量与控制 Computer Automated Measurement & Control

微型电脑应用

计算机技术与发展

机器人技术与应用

说明:检索系统摘引情况选定如下系统:

SCI (科学引文索引)
中文重要期刊(研究生教育与学位重要期刊)
EI(工程索引)
中文核心期刊
ISTIC (中国科技期刊引证报告统计源期刊)
未注明者为非统计源期刊。

期刊名称           影响因子

计算机学报                       0.921
软件学报                  0.919
计算机集成制造系统一CIMS         0.855
计算机研究与发展                 0.806
计算机辅助设计与图形学学报         0.692
中文信息学报                     0.635
中国图象图形学报         0.616
计算机应用研究         0.428
计算机测量与控制                 0.406
模式识别与人工智能              0.39
计算机与应用化学                 0.388
J COMPUT SCI&TECH           0.33
计算机应用               0.329
计算机工程与应用                 0.28
计算机科学             0.28
小型微型计算机系统              0.275
物探化探计算技术         0.239
计算机工程与科学      0.234
计算机工程                              0.232
计算机仿真                             0.206
计算机工程与设计         0.203
微型电脑应用           0.134
数值计算与计算机应用           0.123
计算机辅助工程                    0.098
微型机与应用                 0.096
微计算机应用                             0.034

转自:http://blogger.org.cn/blog/more.asp?name=sunshine&id=25152


c语言 应用问题思想 - 收藏于 2009-03-07

c语言问题:
两个乒乓球队进行比赛,各出3人。甲队为A,B,C3人,乙队为,X,Y,Z3人。已抽签决定比赛名单。有人向队员打听比赛名单,A说他不和X比,C说他不和X,Z比,请用循环编程找出比赛名单

// Date: 07/03/2009
// test 6_15

# include <stdio.h>

int main()
{
int i,j,k;     /*i a的对手;j b的对手;k c的对手 */
for(i='x';i<='z';i++)
{
   for (j='x';j<='z';j++)
   {
    if (i!=j)                  ///////
     for(k='x';k<='z';k++)
     {
      if(i!=k&&j!=k)     ///////
      {
      if(i!='x'&&k!='x'&&k!='z')
       printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);
      }
     }
   }
}
return 0;
}


The reader 为爱朗读 - 收藏于 2009-03-06

The reader,昨天晚上看完的,沉浸其中,今天还是很想再看一遍。心疼汉娜囚禁的一生,羡慕汉娜有个那么爱她,为她朗读的男孩;电影里没有爱的表白,却能真实地感觉到爱的强烈。

有感的影评1:

麦克与汉娜的关系放在这个社会是被人所不齿的,但影片中的表现却是唯美与自然,15岁的男孩对异性的身体有着强烈的冲动和渴望,汉娜也只是利用年青的麦克填补自己灵魂的空洞,或许这就是简单的相互利用,但当麦克为了与汉娜旅行卖掉自己心爱的邮票时,当他们为了爱情的表达而争吵时,就象又回到了恋人的感觉,表现在观众面前的是赤裸和直白,麦克对汉娜的爱就象收藏家对一件珍贵艺术品的迷恋和执着,同样是坦然和高尚的,但这样的迷恋耗尽了麦克所有的激情,影响着他的一生.

如果你真的爱我,你就为我朗读吧,忘却那些爱与恨。可作者不能让麦克忘却,在30年后(1958-1988)的重逢时,麦克依然拷问汉娜,你对那时的事怎么想,汉娜是率直的人,正如她在法庭上承认自己的做过的一切,宁愿为了尊严(面子)放弃生命。而此时汉娜却发现这么多年后的麦克依然没有原谅她的过去,她知道这个社会也不会,她无法面对外面的世界,只有用死亡来结束,那么麦克又需要什么呢,需要汉娜在他面前卑微的忏悔吗,就可以让自己的爱情得到救赎?多么可笑。我爱你,却不能原谅你,不能因为你在战争时的无奈原谅你。你是为了自己苟且偷生,在教堂门外的几个女看守里,谁也不会第一个冲过去开那扇门,谁开谁就会被纳粹处决,但你却间接杀害了无数无辜的生命,即使你是被逼的,即使你走投无路,作者故意给麦克安排了律师这个职业,他会更多的看到罪恶的本质,他不能放下内心道德批判的准绳,他为她彻夜的朗读,却不愿回信,他的爱如此痛苦,不可救药。麦克的爱情注定是悲剧的,他折磨着自己,也折磨着观众的心。

再谈谈汉娜,我很喜欢汉娜的性格,率直,坦荡、直面人性丑恶、软弱的阴暗面,她也一直受到自己良心的谴责,在和麦克旅行途中路过的教堂里,她痛苦的看着那些孩子们,泣不成声。我却不太能理解她为了隐藏自己文盲的身份而宁愿放弃生命的举动(她本应判死刑的),或许是因为她也一直向往着知识的灌溉,不断的要求有人给她朗读文学作品,她也在学习,她觉得如果让别人知道她是文盲,那会是多么可笑的事情。就象一个自称是超级足球迷的人会不懂什么是越位,他不会让别人知道的(这个比喻好像不太恰当)。但这值得放弃生命吗,我对“死要面子”这个问题有了新的认识,的确是“宁愿死也得要面子”。

   汉娜在听人朗读的同时却做着挑选犹太人送向刑场的工作。作者用这样一种强烈的反差来描述一个热爱文学的文盲少女被战争扭曲的灵魂,作者渴望大众更多的理解类似汉娜这样被逼为纳粹工作过的人,战争给这个世界带来伤害不仅仅是那些死去的人,更多的是还活着的人们。

有感影评2:

片中没有过多的铺垫,也没有过多的对白,一切,让观众自己去思考,揭示的,是不伦之恋、终生之爱、爱情的尊严、爱情与道德之间的纠缠。

1. 不伦之恋

无可厚非,汉娜与男孩子交往本来就是一场错误,可以说,没有汉娜的引诱,一切都不会发生,虽然说情欲是人的本能,但是任何人都不是孤立的个人,而是守望相连的群体,群体中必然有道德的存在,如果说一开始汉娜对男孩子的引诱是本能的驱使,哪后来汉娜选择默然离开男孩子则是良心的觉醒和道德对她精神的鞭挞。为什么说这是良心和道德的使然呢?汉娜与男孩子的交往是在隐秘的状态下,不为人所知,法律无法去管辖不为人所知的事情,该如何去做,全凭当事人个人的良心和道德去驱动。不管是原著也好,电影也好,对不伦之恋的批判立场则是显而易见的。

2. 终生之爱及爱情和道德的较量

男孩子是个纯真而真诚的人,他一辈子所深爱的,只有汉娜一个,虽然他结婚了,虽然片中的开头他有了同居的对象,但是他的灵魂及记忆深处只有汉娜,没有别人。在他的人生经历中,最大的打击不是汉娜的离去,而是他在旁听席上发现被告之一是汉娜,被指控的罪名跟纳粹有关、跟人命有关。男孩子生长在一个传统的家庭,父亲是个严肃而不苟言笑的人,循规蹈矩是家中的最高准则,大学读的专业是法律,教授整天教导的是法律与道德的关系,在这样一个环境下,如何能指望故事中的主角,这个男孩子会是一个冷酷自私的人呢?男孩子深爱着汉娜,道德却在拷问着他的爱情,经过几个回合的庭审后,当他见到汉娜承认是自己签署不当文件时、当他听到法庭对汉娜的宣判时,终于忍不住留下了眼泪,只不过,这眼泪酸甜苦辣都有,唯独没有后悔。男孩子,这时已经是个男人了,男人,尝试过监狱探望汉娜,却在抵达探望室的大门口止步了,止步的原因不是因为他不爱汉娜,而是因为汉娜的犯罪行径,因为在他看来,汉娜承认了自己的犯罪行为,汉娜确实是个罪犯,如果汉娜是个普通的罪犯也罢,问题是汉娜的罪行可以算得上是个反人类的杀人犯,这,才是一直折磨他终生的根源。自从人类有了道德以后,爱情也就不是单纯的爱情了,问题是,谁能说道德可以忽略掉不去理会呢?纵观整个电影,活的最痛苦最折磨的其实就是这个男人了,没有人理解他的痛苦,他也不能对其他任何诉说,朗读,除了包含对汉娜的爱以外,或者,也是他压抑情感的唯一宣泄渠道了。汉娜也是很爱这个男人的,一直到汉娜自杀,她所爱的还是这个男人。汉娜与男孩子分别8年,直到她成为被告,她没有结婚,似乎从庭审及入狱后的情形来看,也没有情人,以汉娜的美貌,除了用她深爱着男孩子来解释以外,似乎没有更好的解释。汉娜在入狱前没有选择其他男人,入狱后则更不可能有选择的权利。

3. 爱情的尊严

可能很多人会觉得不可思议,为什么汉娜会选择将主要罪名揽在自己身上,宁愿让男孩子觉得她是纳粹的罪犯?其实电影的第一部分已经给除暗示,男孩子生活在一个处处规矩的家庭,从来不敢在父母面前尽情地表达自己的感情,在这么压抑的家庭中,母爱对他实在太重要了。如果说一开始他对汉娜是爱情的话,我倒觉得他是在归家路途中发烧得到汉娜的照顾时找到了他隐藏内心已久的那种渴望的母爱,病愈之后是对母爱的渴望驱使他再次去找汉娜。而对于汉娜来说,照顾一个在路途中发病的男孩,纯粹是出于助人的目的,其后对男孩子的引诱则是出于本能,再之后喜欢上这个男孩子则是出于对他的欣赏,离开则是因为她真的爱上这个男孩子了。在与男孩子交往的过程中,汉娜更多以长辈的身份出现,男孩子也是以一种仰望的姿态,在男孩子看来,汉娜是女神的化身,有爱心、美丽,当汉娜爱上这个男孩子的时候,她无法不去维护自己在男孩子面前的形象——当有一天男孩子要汉娜自己看书时,汉娜懒懒地把书本扔回给男孩子,告诉他,我喜欢你读给我听。明白了这些,也就不难明白,为什么庭审时要核对笔迹,汉娜选择了包揽本不该有自己承担的罪名。可汉娜不明白的是,男孩子更在意的不是她不识字,而是她选择承认后,即便承认了自己是纳粹的帮凶,这才是男孩子心中永远的痛。电影中还有一幕,男孩子的一个同学,在教授的课堂上激动地对这个案件侃侃而谈,扬言要将包括汉娜在内的6个被告全部枪杀,而男孩子面对此时的情景,唯一能做的,只是把头埋得更低更低……爱情,它总是使人盲目,纵使是千里眼,在此时,也会变得跟瞎子一样。男孩子一样,汉娜一样,我们大家都一样。

4. 汉娜之死

在电影进行到临近结尾处,男人在汉娜握住他的手片刻之后抽回,汉娜眼中的生命之火熄灭了,我们知道,她的生命走到尽头了。可以说,汉娜之死毫无悬念,对她来说,监狱中的二十年,与社会隔绝得太久,外界除了这个男人以外,没有任何能够属于她的东西,以风烛残年之躯,是否出狱,意义不大,当这个男人二十年来还在为道德与爱情纠缠而把手抽回去的时候,汉娜唯一活下去的精神支柱崩塌了,他竟然不知道,他已经亲手扼杀了他最爱的人,爱了一辈子的人,可是,在上帝和道德面前,我们,谁又有资格去谴责他呢?影片中,除了对纳粹、对不伦之恋外,其他的问题一概不加以直接批判,是对是错,全看观众自己的思考了


二分查找思想 (数组传递出现的错误) - 收藏于 2009-03-06

折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如果x<a[n/2],则我们只要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列)。如果x>a[n/2],则我们只要在数组a的右半部继续搜索x。

# include <stdio.h>
# include <math.h>
# define N 10

int Binarysearch(int a[N],int x, int n)
{
int middle,low,high;
low=0;
high=n-1;
while (low<high)
{
   middle=(low+high)/2;
   if(x==a[middle]) return (middle);      //break;      如果要用break,应该加上{ }
   else if(x<a[middle])   high=middle-1;
   else low=middle+1;
}
}

int main()
{
int a[N]={0,1,2,3,4,5,6,7,8,9};
int y;
int x=2;
y=Binarysearch(a,x,N);    // a[N] 是数值,要传a, 地址
printf("%d\n",y);
    return 0;
}


二分法求根 - 收藏于 2009-03-05

二分法求根:

对于函数f(x),如果存在实数c,当x=c是f(c)=0,那么把x=c叫做函数f(x)的零点。

解方程即要求f(x)的所有零点。

先找到a、b,使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a+b)/2],

现在假设f(a)<0,f(b)>0,a<b

如果f[(a+b)/2]=0,该点就是零点,

如果f[(a+b)/2]<0,则在区间((a+b)/2,b)内有零点,按上述方法在求该区间中点的函数值,这样就可以不断接近零点

如果f[(a+b)/2]>0,同上

通过每次把f(x)的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值,这种方法叫做二分法。

#include <stdio.h>
#include <math.h>
float fangcheng(float a)
{
     return a*a*a-a-1;
}

void erfen(float a,float b)
{
     float mid;
     if(fangcheng(a)<0 && fangcheng(b)>0)
     {
         while(fabs(a-b)>1e-2)
         {
            mid=(a+b)/2;
            /*if(fangcheng(mid)<=1e-3) {printf("根是:%f\n",mid);break;}
            else if(fangcheng(mid)<0) a=mid;
            else if(fangcheng(mid)>0)   b=mid;*/
         }
     }
     else printf("无根\n");
}

int main()
{
    float a=1.0,b=1.5;
    erfen(a,b);
    return 0;
}


一元三次方程求解 (牛顿迭代算法) - 收藏于 2009-03-05

牛顿迭代法是牛顿在17世纪提出的一种求解方程f(x)=0.多数方程不存在求根公式,从而求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。
设r是f(x)=0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y=f(x)的切线L,L的方程为y=f(x0)+f'(x0)(x-x0),求出L与x轴交点的横坐标 x1=x0-f(x0)/f'(x0),称x1为r的一次近似值,过点(x1,f(x1))做曲线y=f(x)的切线,并求该切线与x轴的横坐标 x2=x1-f(x1)/f'(x1)称x2为r的二次近似值,重复以上过程,得r的近似值序列{Xn},其中Xn+1=Xn-f(Xn)/f'(Xn),称为r的n+1次近似值。上式称为牛顿迭代公式。

// Date: 05/03/2009
// test 612

/* 牛顿迭代算法,用牛顿迭代法求下面方程 x*x*x-5*x*x+16*x-80=0的实根的过程是:
1.你想在谁附近求解,这个范围或者这个数值大多是题目已经给定了的(本例是根据输入的数值来计算的)
2.令f(x)=x*x*x-5*x*x+16*x-80
3.x1=X
4.求f(x1)
5.对f(x)求导,得到f1(x),求f1(x1)
6.调整x,使x=x1-f(x1)/f1(x1)  
7.符合条件x-x1>1e-5,转到第3步
8.不符合条件x-x1>1e-5,则x1就是我们要求的实根*/


# include <stdio.h>
# include <math.h>

float f(float x)
{return (2*pow(x,3)-4*pow(x,2)+3*x-6);}

float fd(float x)
{return (6*pow(x,2)-8*x+3);}


int main()
{
float x,x1,y,yd;
printf("Enter a random X=");
    scanf("%f",&x);
do
{
       x1=x;
    y=f(x1);
    yd=fd(x1);
    x=x1-y/yd;
}while (fabs(x-x1)>=1e-5);
printf("A root is %f \n",x);
return 0;
getchar();
}


迭代公式求平方根 - 收藏于 2009-03-05

调试了快一个小时,总算出来了,注意点:

1)数据类型: double %f, 以前经常习惯上写int %d;

2)函数嵌套方法,值得学习;

3)分步调试很管用;

// Date: 05/03/2009
// test 6_11     迭代公式求平方根,(虽然用sqrt()就能求)

# include <stdio.h>
# include <math.h>

double fun(double a, double x0)
{
double x1,y;
x1=(x0+a/x0)/2.0;
if (fabs(x1-x0)>=0.00001)
     y=fun(a,x1);                 // 函数嵌套
else
{y=x1;}
return y;
}

int main()
{
double a,b;
printf("please enter:");
scanf ("%lf",&a);
b=fun(a,1.0);
    printf("the square root of %lf is %lf\n",a,b);
return 0;
}


latex 公式编辑 - 收藏于 2009-03-04

\begin{equation}
y_i=D_iB_iW_ix+n_i \quad for \quad 1\leq i \leq h      \quad 加空格
\end{equation}

yi=Di Bi Wi x + ni       for    1<= i <=h

今天大部分时间是用来latex —> pdf

1)下载ctex的安装程序;

2)从会议网站上http://www.iipl.is.ritsumei.ac.jp/iihmsp2009/information/authorguide.html 下载它的latex模板

3)将自己的文章写成latex代码; 大部分文字是按模板 copy and paste重点要学的是 latex的公式编辑和图片编辑;

\begin{equation}
y_i=D_iB_iW_ix+n_i \quad for \quad 1\leq i \leq h
\end{equation}
PS: 如果是文章中简单的小公式格式,比如x 写成 $ x$就可以;

公式编辑总结:

1、普通公式

公式:(注:要想在得到的公式里换行,则使用“\\”符号)
1+1=2,a+b=c\\123abc

效果:

公式:
(a+b)^4 = (a+b)^2+(a+b)^2 \\
=(a^2+2ab+b^2)(a^2+2ab+b^2)\\
=a^4+4a^3b+6a^2b^2+4ab^3+b^4

效果:

——————————

2、空格的正常输出以及非斜体英文字母的输出

公式:
\mbox{This is a tool.}

效果:

——————————

3、分情况讨论

公式:
f(x)=\left\{
\begin{array}{1 1}
1, & x\geq 0\\
-1, & \mbox{else}
\end{array}

效果:

——————————

4、分式的输出

公式:
\frac{x+y}{x-y}

效果:

公式:
\frac{1}{1+\frac{1}{1+\frac{1}{1+\frac{1}{x}}}}

效果:

——————————

5、开平方:

公式:
\sqrt[3]{1+\sqrt[4]{1+\sqrt[4]{1+\sqrt{x}}}}

效果:

——————————

6、求和、求积、积分、极限、多重积分等:

公式:
\sum_{i=1}^{\infty}a_i,\\
\prod_{j=1,2,...,n}P_i,\\
\int_{-\infty}^\infty f(x)dx,\\
\lim_{t\to\infty}e(t),\\
\int \int \int f(x,y,z)dxdydz

一点说明:\infty代表无穷的符号,而\to代表右箭头→,另外如果在\sum等符号后面加入\limits,则会出现不通的效果:
\sum\limits_{i=1}^{\infty}a_i,
\prod\limits_{j=1,2,...,n}P_i,
\int\limits_{-\infty}^\infty f(x)dx

效果:

——————————

7、间隔号

公式:
\LARGE{This\,is\:a\;book.}

\,间隔最小 \:间隔中等 \;间隔最大

\LARGE代表输出更大的字体

效果:

——————————

8、矩阵的表示

公式:(每行之前要有空格!这里显示不出来)
\left[\matrix{
a_{11} & a_{12} & a_{13} \cr
a_{21} & a_{22} & a_{23} \cr
a_{31} & a_{32} & a_{33} \cr
} \right]

效果:

——————————

9、更复杂矩阵的表示

公式:(注:\ddots代表斜着的三个点)
\left[\matrix{
b_0 & c_0 & \cr
c_0 & b_1 & c_1 & \cr
& c_1 & b_2 & c_2 & \cr
&& \ddots & \ddots & \ddots & \cr
&&&c_{n-3} & b_{n-2} & c_{n-2} &\cr
&&&& c_{n-2} & b_{n-1}
} \right]

效果:


—————————


c中 求“完数” - 收藏于 2009-03-04

一个数如果恰好等于它的因子之和,这个数就是“完数”。例如6的因子 1,2,3. 6=1+2+3;

编程序找出1000以内的所有完数,并按下面格式输出其因子: 6 its factor are 1,2,3

问题:1)因子,只要能被整除的就是它的因子吗? 比如12 的因子是 1 2 3 4 6 ?

          2) 怎么显示“完数”的因子??

下面这个程序只找到了“完数”,没有按要求显示其各个因子

//Date: 04/03/2009
// 计算出1000以内的“完数”, 6=1+2+3 //

# include <stdio.h>

int main()
{
int i,j,sum;
for (i=2;i<=1000;i++)
{
   sum=0;
   for(j=1;j<i;j++)    // 求因子
   {
    if(i%j==0)    
     sum+=j;
   }
   if (sum==i)
   {
    printf("It is a perfect n: %d\n",i);
   }
}
}

结果是: 4    28 496


最大公约 最小公倍 - 收藏于 2009-03-03

(欧几里德算法)

void main()
{
int Mat(int,int);
int Mit(int,int);
int m,n,mat,mit;
scanf("%d%d",&m,&n);
mat=Mat(m,n);
mit=Mit(m,n);
printf("zuidaogongxue mat=%d\nzuixiaogongbei mit=%d\n",mat,mit);
}


int Mat(int m,int n)
{

int p;
while(m%n)
{
p=m%n;
m=n;
n=p;
}
return(n);

}


int Mit(int m,int n)
{
int p;
p=m*n/Mat(m,n);
return(p);
}


最大公约数,最小公倍数 - 收藏于 2009-03-03

求最大公约数方法如下:

(1)       短除法。就是将两个数分解质因数。把相同的质因数相乘。原理,一个数的质因数相乘一定是它的约数,两个数所有公有制因素相乘就是最大公约数 。

(2)       找约数法。把约数都找出来再找公约数。这种方法有些麻烦,不推荐使用。

(3)       关系法。这方法要有特定关系才可使用。如A是B的倍数,B就是它们的最大公约数。两个数互质,它们的最大公约数是1。要抓住时机使用哦!

(4)       辗转相乘法。两个数,大数减小数,看差是不是小数的倍数。如果是,差就是最大公约数。如不是,用差代替大数,再减。原理:公约数N=小数或大数,大数减小数就减去了N个最大公约数。所以并无大碍,直减到一个数本身就是个最大公约数。

(5)       辗转相除法。此法为前种方法的升级版。大数除以小数,看余数是不是小数的约数。如果是,则余数为最大公约数。如不是,则用余数代替大数,再除。…… 原理:和前一方法相同。不过是一次多减了几次。建议与相乘法配合着用。如大数是小数的2倍以上,则用此法,如不是,则相减。

           简单可以写为:

           1. a ÷ b,令r为所得余数(0≤r<b)

           若 r = 0,算法结束;b 即为答案。

           2. 互换:置 a←b,b←r,并返回第一步

欧几里德算法

求最小公倍数方法如下:

(1)、两数相乘法。

                  如果两个数是互质数。那么它们的最小公倍数就是这两个数的乘积。例如:4和7的最小公倍数就是4×7=28。

(2)、找大数法。

                 如果两个数有倍数关系。那么较大的数就是这两个数的最小公倍数。例如:3和15的最小公倍数就是较大数15。

(3)、扩大法

                 如果两数不是互质,也没有倍数关系时,可以把较大数依次扩大2倍、3倍、……看扩大到哪个数时最先成为较小数的倍数时,这个数就是这两个数的最小公倍数。例如:18和30的最小公倍数,就是把30扩大2倍得60,60不是18的倍数;再把30扩大3倍得90,90是18的倍数,那么90就是18和30的最小公倍数。

(4)、两数的乘积再除以两数的最大公约数法。

                 这个方法虽然比较复杂,但是使用范围很广。因为两个数的乘积等于这两个数的最大公约数和最小公倍数的乘积。例如:4和6的最大公约数是2,最小公倍数是12,那么,4×6=2×12。为了便于口算,我们可以把两个数中的任意一个数先除以它们的最大公约数,然后再和另一个数相乘。例如:18和30的最大公约数是6,要求18和30的最小公倍数时,可以先用18除以6得3,再用3和30相乘得90;或者先用30除以6得5,再用5和18相乘得90。这90就是18和30的最小公倍数

// Date: 03/03/2009
// 最大公约数;最小公倍数

# include <stdio.h>

int main()
{
int a,b,m,n;
scanf("%d,%d",&a,&b);
    for (n=(a+b)/2;n>0;n--) // 最大公约数,不会超过(a+b)/2,从最大的开始循环,都能被a b整除的就是最大公约数
{
       if(a%n==0 && b%n==0) break;
}
m=a*b/n;                 // 最小公倍数,a b相乘 再除以最大公约数 //
printf("%d is Mat\n",n);
printf("%d is Min\n",m);
}


c中 字母问题 - 收藏于 2009-03-03

译码:

# include <stdio.h>

int main()
{
char c;
while ((c=getchar())!='\n')      //(c=getchar()) ()很重要,!非的优先级最高
{
   if (c>='a'&& c<='z'||c>='A'&& c<='Z')
   {
    c=c+4;
    if (c>'Z'&&c<='Z'+4) c=c-26;
   }
printf("%c",c);
}
}

// 'a' ASCII 97; 'A' ASCII 65 //


the break up 分手男女(or 同床异梦) - 收藏于 2009-03-02

很不错的电影,贴近生活。从他们身上也能看到自己的影子。追求爱情,更要学会经营和守护爱情。既然相互喜欢,相互在乎care,为什么要让女权主义和男权主义控制自己,不肯相互低头呢?

超有共鸣的影评:

《The Break-up》,轻喜剧。故事很简单:一对相爱的男女为琐事吵架,继而冷战,直至分手;片尾时,两人分手多日后在街头偶遇,惺惺相惜,依依不舍,爱意仍然荡漾……这是部我喜欢的喜剧,所以照例哭得眼泪横飞。
  
  哭,不是在他们吵架的时候。不过他们吵架时还真尽挑些伤人的话,不经大脑思考地就蹦了出口,彼此数落得对方好像一无是处。相亲相爱时的可爱之处统统成了十恶不赦的缺点。气头上,谁都不让步,当一方赌气说出“分手”,谁都不愿意说几句甜心的话,或是撒撒娇缓和一下气氛。
  
  两人开始冷战。情形真是让人好气又好笑。仍住在同一屋檐下的他们,各占一隅做自己的“根据地”,然后想方设法向对方显示自己对于分手是多么的不屑。她发动周围的朋友排挤他,想让他觉得没了她,生活质量便大不如从前。她还频频约会其他男士,试图刺激他的嫉妒心和独占欲,让他“自动”回到她的身边。而他更是做尽了她不喜欢的事情,甚至彻夜纵欲狂欢。终于,两人将彼此越推越远。他们决定将同住的Condo卖了。分手已成定局。  
  
  共同亲手建筑起来的小窝被下家买走,两个星期后交房。两人面对这样的事实,千丝万绪仿佛又理智起来。她说,分手前就为他买了演唱会的票,如果他想的话,一起去吧。他犹豫,不太相信,又犹豫,最后说,好啊,为什么不去呢。于是,她在演唱会上等他,一直等,但他终于还是没有出现。周围的人群疯狂舞动,她的心中寂静一片。深夜,他回家见到她在房中失声痛哭,惊讶不已。他不明白,只是一场演唱会而已,她为何如此当真。他还说,是你要分手的,你还开始和别人约会了,可忽然间你又邀我看演唱会……她更伤心,……I cook dinner, I pick up your shxt from the floor, I arrange your parties, I take care of everything… All I wanted was your appreciation of this relationship……哭得不能自已。第二天,她回到家,不敢相信自己的眼睛 - 屋子收拾得干干净净,桌上摆着鲜花,他已经准备好了烛光晚餐。他说,when I saw you crying last night, it was the worst time of my life. I realized that I want you to be happy, I want to bring back your smiles…… I love you.她感动,落泪,深呼吸,…Sorry… I just don’t feel that I have anything left…… 他深深失落,说 It’s alright, it’s alright…拥抱,友善地亲吻双颊。分手。-这一整段,我哭 -最伤心莫过于当你意识到你是多么多么的爱对方,却为时已晚。
  
  幸运的是,他们可以在不久后重逢,仍可以从对方眼中找到热情和爱。然而,现实生活中,大多数人都不会有那么好彩。
  
  所以,所以,相爱,就千万不要轻言“分手”;相爱,就不要试图用“伤害”来让对方明白自己有多爱他;相爱,就不要相互煎熬。因为,不是所有在一起的两个人都能是相互爱慕的,相爱是奢侈的享受,应当尽可能宝贝对方。

PS: 好莱坞八卦

当史上最性感一对布莱德·彼得和安吉丽娜·朱莉卷起狗仔队的追逐硝烟,饰演分手男女的文斯·沃恩和“前彼得嫂”珍妮弗·安妮斯顿也在现实中成了一对欢喜冤家;而当性感一对终成正果,小baby朱莉-皮特非洲诞生的同时,沃恩和安妮斯顿也开始宣传起了自家的《分手男女》。
  去年夏天,彼得和朱莉“波折起伏”的八卦绯闻曾让《史密斯夫妇》票房大受益,而这厢《老友记》成就的“美国甜心”安妮斯顿看来也学会了“以其之道,还施其身”的手段,和去年暑期档最大黑马《婚礼傲客》里的当红“傲客”沃恩玩起了“同床异梦”的化学反应。至于这对特殊情侣搭档能不能学习彼得朱莉之风,替影片票房大作贡献,总是饶有兴味的事。


c中 素数判断 - 收藏于 2009-03-02

素数的定义: 大于等于1的整数,只能被1和自身整除的整数;

方法一:如果n大于1,从2开始遍历所有小于n的整数,如果n%i==0则n为合数,否则为素数.效率为n.

但我们知道所有偶数都能被2整除,2是素数,所以所有不是2的偶数都是合数,不需要判断.

方法二:如果n大于2,如果n%2==0则为合数,否则从3开始遍历所有小于n的奇数,如果n%i==0则n为合数,否则为素数,效率n/2.

方法三:由算术基本定理可知,合数可以分解成多个素数的乘积.合数n可以分解为n=a*b.那么a<sqrt(n)或者b<sqrt(n).也就是在sqrt(n)以内,如果有一个数可以使n%i==0,那么这个数为合数,否则为素数,结合方法二,效率为sqrt(n)/2.

方法四:根据方法三,如果有一张sqrt(n)以内的升序素数表,则在表内查找<sqrt(n)并使n%i==0的素数,如果存在,n为合数,否则为素数.效率需要看小于sqrt(n)的素数的多少.

方法三c代码:

example 1:

# include <stdio.h>
# include <math.h>

int main()
{
int a,flag,i;
flag=1;
scanf("%d",&a);
for (i=2;i<=sqrt(a);i++)
{
   if(a%i==0){flag=0;break;}   //
}
if (flag==0) {printf("%d is not a prime number\n",a);}    //   一定是==, 有的时候弄错
else {printf("%d is a prime number\n",a);}
}

example 2:

# include <stdio.h>
# include <math.h>

int main()
{
int m,i,k,flag;
flag=1;
for (m=101;m<=200;m=m+2)
{
   k=sqrt(m);
   for (i=2;i<=k;i++)
   {
    if(m%i==0){flag=0;break;}
   }
   if (flag==0){printf("%d\n",m);}
}
}


linux下文件删除 - 收藏于 2009-03-02

ubuntu 知识 很好的一个网站 http://hi.baidu.com/%EB%E1%EB%E1/blog/category/linux%D6%AA%CA%B6

mkdir 创建一个文件夹
rmdir 删除一个文件夹 (删除空文件) 可以 rmdir -- help
rm 文件名删除一个文件或多个文件
rm -rf非空目录名删除一个非空目录下的一切


重命名文件夹echWeb-技术社区5].O"?8H.I
执行格式: mv source destination

Example:

mv file1 file2 将文件 file1,更改文件名为 file2。 mv file1 dir1 将文件 file1,移到目录 dir1下,文件名仍为 file1。 mv dir1 dir2 若目录 dir2 存在,则将目录 dir1,及其所有文件和子目录,移到目录 dir2 下,新目录名称为 dir1。若目录 dir2 不存在,则将dir1,及其所有文件和子目录,更改为目录 dir2。

rename命令是专用于文件重命名的,而且根据其后的例子可以看出,rename除了给单个文件重命名,还可以批量文件重命名。同时,值得注意一点的是,rename命令是带3个参数而不是很多人认为的2个参数。

上面的例子中给出了两种文件批量重命名的用法,而实际上,rename结合通配符使用,它的功能比上面的例子所显示的更强大。基本的通配符有以下几个:

?    可替代单个字符

*    可替代多个字符

[charset]    可替代charset集中的任意单个字符

下面以例子加以说明:

如文件夹中有这些文件foo1, ..., foo9, foo10, ..., foo278,如果使用

rename foo foo0 foo?

则它只会把foo1到foo9的文件重命名为foo01到foo09,因为?通配符只能替代单个字符,所以被重命名的文件只是有4个字符长度名称的文件,文件名中的foo被替换为foo0。

再继续使用

rename foo foo0 foo??

则文件夹中的foo01到foo99的所有文件都被重命名为foo001到foo099,而foo100及其以后的文件名都不变,因为通配符?的使用,所以只重命名5个字符长度名称的文件,文件名中的foo被替换为foo0。

如果再继续使用

rename foo foo0 foo*

则foo001到foo278的所有文件都被重命名为foo0001到foo0278,因为通配符*可替代多个字符,所以,所有以foo开头的文件都被重命名了,文件名中的foo被替换为foo0。

我们再来看通配符[charset]的用法,还是继续在上面所说的文件夹中,执行如下命令

rename foo0 foo foo0[2]*

则从foo0200到foo0278的所有文件都被重命名为foo200到foo278,文件名中的foo0被替换为foo。

在使用中,三种通配符可以一起结合使用,关于具体的其它用法就只有自己不断的摸索了。

强制清空回收站

ubuntu8.04以前的版本

sudo rm -fr $HOME/.Trash/*ubuntu 8.04sudo rm -fr $HOME/.local/share/Trash/files/*

matlab里的 几个调试快捷键 - 收藏于 2009-03-02

ctrl + R : 去除这段程序代码;

ctrl + T: 使这部分代码有效;

ctrl + C: 中断程序运行;

画图时,在画出的图里,通过菜单栏的快捷键,可以看像素值大小、写横纵坐标、加标注等;


VC中调试 c语言程序 - 收藏于 2009-03-01

1)新建一个c 工程 和c 文件

文件—> 新建—>工程(Win 32 console Application)—>工程名;

文件—>新建—>c++ source ;

2)调试

ctrl+F5: 执行函数; ( 那个红叹号 !)

单步运行可以查看变量:

F5:进入调试模式;   shift + F5 : 退出单步调试模式;

F10:单步调试,但不进入子函数; step over

F11:单步运行到子函数时,F11 可以进入子函数; step in


linux 几个语句 - 收藏于 2009-03-01

cd :回到自己的目录;

cd 空格 ..:回到上一级目录;

cd   文件名:进入这个文件夹;

pwd :显示目录路径 ;

man : 相当于help

gcc hello.c -o- hello;     运行.c程序

./hello;   执行程序 hello;


面试 ( 转) - 收藏于 2009-02-28

回想起几年前的这个时候,我也和版上的多数同学一样,不停地投递简历,听宣讲会,参加笔试和面试,等offer。作为自毕业后一直在企业从事人力资源工作并组织和参与过几年校园招聘活动的浙大人,我想结合亲身经历谈谈校园招聘的话题。”在浙大缥缈水云间的work版上,一位HR发表了洋洋洒洒数千字的长文,帮学弟学妹们解答有关校园招聘的问题。


没想到这篇文章迅速成为点击率最高、反馈最多的帖子。所有看过的学生都盛赞:真是一篇好文,好好学习后,受益良多。


              面试作答要理清思路

我在找工作那年,接到HR参加面试的电话后,立即赶到学校图书馆阅览室,花了一晚上把该企业的相关书籍都快速浏览了一遍。在宣讲会时,又认真听了相关介绍,并且招聘宣传册上的很多信息都记得差不多了。面试时,当面试官问我为什么想到该企业工作时,我就结合企业历史、文化特点、发展机遇和个人的职业生涯规划谈,赢得了面试官的认可。


之后如愿进入该企业工作,某日和当时面试我的领导吃饭时,了解到那天我谈的有些信息甚至他之前都不是特别清楚,给他留下了深刻的印象,还没有开始复试,他就基本上定下来要最终录用我了。”


因此,这位HR提出,如果想加入企业,请尽可能多了解企业情况。不过,充分准备不只是了解企业背景信息,更重要的是理清思路。


很多企业招聘面试时有不少问题是相同的,属于必答题。比如:自我介绍,最大的优/缺点,最成功/失败的事,职业生涯规划,为什么加入我司等。对于常见的问题,不少文章或书中给出了一些回答模式或建议,可以稍作参考,但不要拘泥于此,否则可能适得其反。


回答问题时不要太干瘪,要有血有肉,有理有据,有总结有分析。一般来说,描述一件事你应将其前因后果简明扼要地说明白,至少说明一个完整的STAR,即在什么情况下(Situation),要做什么事情/完成什么任务(Task),你采取了哪些行动(Action),最终结果如何(Result)。


          千万不要试图编故事

回答问题最关键的是要记住诚信为本,不要试图去编故事。


如果当面试官问你第一个问题时,你就开始编故事。有经验的面试官一般都能识破,他会通过一个又一个连环问题追问相关细节。“开始几个你可能还能招架,不过我相信你不会笑到最后。”因此,如果你没有亲身经历过某事或参与过某个项目,不了解事情的来龙去脉或项目运作的整个过程,请不要轻易编造。


这位HR还提出,如果你真的经历很少,又想以某项目或事情作为佐证,那至少在面试前得先好好准备一下,将准备编造的故事彻底理清,并保证自己到时不会自打耳光。总之,坦诚会给你加分,欺骗后患无穷。


      感觉好为什么没录用


  

不少同学面试后自我感觉很好,但没被录用,就会发出质疑。


事实上,这有两种可能:


     一是你面试表现的确不错,但可能排在n+1,限于招聘名额n,择优录取,只能说声遗憾。如果接到企业的拒信说:“您的学识和能力给我们留下了深刻印象,但本次招聘名额有限,暂时无法录用。我们会将您的材料保存在公司人才库,有合适空缺时会优先与您联系,感谢您参加我司校园招聘,希望您继续支持和关注我司的发展!”这可能是名副其实的。此时,你有可能作替补,当有人拒签或毁约时你的机会就来了。


    二是你只是自我感觉良好罢了,面试官并不认同你的表现。其实,面试感觉好坏与录用与否并没有必然的联系。“我记得当年复试时感觉就不怎么好,回来后也以为没戏了,结果某天手机一响,喜讯传来。后来到公司后我与领导聊天时了解到,我在复试时的表现的确一般,但其中有几个亮点加上初试时的优秀表现让他决定录用我。因此,我想告诉大家的是,没必要对面试时的表现太在意,你也不要刻意去猜测面试官的问题究竟是想要考查你什么,一是猜不透,二是没必要。”


          细节真的能决定成败


“曾经在面试某人时,几个面试官评价都还不错,但我发现此人的应聘表填写不完整,并且有几处和面试回答时并不一致,还有一些小错误。而该岗位工作繁杂,要求非常耐心、细心和认真,因此我建议不予录用,最终被淘汰。”这位HR以此来告诉应届毕业生,细节决定成败。


    细节体现在很多方面,包括言行举止、着装等。参与过几年的校园招聘,发现很多同学不太在意,闹了一些笑话,比如西装扣子、商标标签问题等。我们知道,西装的讲究很多,因此要多加留意,建议同学们找些资料看一下,了解相关细节,以免出丑了还不知道怎么回事。


    另外,在面试时一定要展现良好的精神状态。我在校园招聘面试时发现有些同学坐在那里没精打采,低着头,小动作不断,说话声音很小,显得很不自信。你说,换成你是面试官会有何感想?建议同学们在面试前要保证充足的睡眠,不要熬夜,面试时要坐姿端正,抬头挺胸,精神专注,声音清晰,充满自信。


switch 中 可能出现的错误 - 收藏于 2009-02-27

switch中 break千万不能忘,跳出语句

# include <stdio.h>

int main()
{
int source,a;
scanf("%d",&source);
if(source>=90)
   a=1;
else if(source>=80 && source<=89)
   a=2;
else if(source>=70 && source<=79)
   a=3;
else if(source>=60 && source<=69)
   a=4;
else a=5;
switch (a)      //   整型
{
case 1: printf("A\n");break;
    case 2: printf("B\n");break;
case 3: printf("C\n");break;
case 4: printf("D\n");break;
case 5: printf("E\n");break;
}
}


亦舒 77句话 - 收藏于 2009-02-27

1、真正有气质的淑女,从不炫耀她所拥有的一切,她不告诉人她读过什么书,去过什么地方,有多少件衣服,买过什么珠宝,因为她没有自卑感。——《圆舞》

2、如此情深,却难以启齿。原来你若真爱一个人,内心酸涩,反而会说不出话来,甜言蜜语,多数说给不相干的人听。——《她的二三事》

3、能够说出的委屈,便不算委屈;能够抢走的爱人,便不算爱人。——《开到荼蘼》

4、爱得不够,才借口多多。——《紫薇愿》

5、最佳的报复不是仇恨,而是打心底发出的冷淡,干嘛花力气去恨一个不相干的人——《我的前半生》

6、无论多豪华的婚礼都不代表幸福婚姻,两个人终生相处和睦与否和筵开几席、多少首饰全无关联。——《小紫荆》

7、无论做什么,记得为自己而做,那就毫无怨言——《流金岁月》

8、如果爱一个人,千万不要与他同居或是结婚。维持一个辽阔的距离,偶遇,可以爱慕的目光致敬,轻俏温柔,不着边际地问:"好吗?"一年一次已经足够。——《绝对是个梦》

9、结婚与恋爱毫无关系,人们老以为恋爱成熟后便自然而然的结婚,却不知结婚只是一种生活方式,人人可以结婚,简单得很。爱情……完全是另外一回事。——《我的前半生》

10、两个人的适配是一种内心感觉,而不是一种视觉,千万不要因满足视觉而忽视感觉。——《花常好月常圆人长久》

11、能够哭就好,哭是开始痊愈的象征。——《绝对是个梦》

12、我的归宿就是健康与才干,一个人终究可以信赖的,不过是他自己,能够为他扬眉吐气的也是他自己,我要什么归宿?我已找回我自己,我就是我的归宿。——《胭脂》

13、要生活得漂亮,需要付出极大忍耐,一不抱怨,二不解释,绝对是个人才。——《变形记》

14、凡事想别人感激,那是必然要失望的。——《故园》

15、我也想清楚了,婚姻根本就是那么一回事,再恋爱得轰动,三五年之后,也就烟消云散,下班后大家扭开电视一齐看长篇连续剧,人生是这样的。——《独身女人》

16、无论怎么样,一个人借故堕落总是不值得原谅的,越是没有人爱,越要爱自己。——《星之碎片》

17、做一个女人要做得像一副画,不要做一件衣裳,被男人试完了又试,却没人买,试残了旧了,五折抛售还有困难。——《喜宝》

18、若要生活愉快非得把自己先踩成一块地毯不可,否则总有人来替天行道,挫你的锐气,与其待别人动手,不如自己先打嘴巴,总之将本身毁谤得一钱不值,别人的气也就平了,也不妒忌了——《我的前半生》

19、人为感情烦恼永远是不值得原谅的,感情是奢侈品,有些人一辈子也没有恋爱过。恋爱与瓶花一样,不能保持永久生命。——《城市故事》

20、生命像流水,这些不快的事总要过去,如果注定一辈子要这么过,再不开心也没有用。——《女人三十》

21、穷是一种心态,你若一辈子坚持自己是穷人,拥有大量金钱也救不了你。——《邻室的音乐》

22、生命从来不是公平的,得到多少,便要靠那个多少做到最好,努力的生活下去。——《我们不是天使》

23、已去之事不可留,已逝之情不可恋,能留能恋,就没有今天。——《花常好月常圆人长久》

24、“你大概误会大学文凭是世界之匙,开启顺风顺水之门,这并不正确。读书目的是进修学问,拓阔胸襟。人生所有烦恼会不多不少永远追随,只不过学识涵养可以使一个人更加理智冷静地分析处理这些难题而已。” ——《花常好月常圆人长久》

25、幸运者做猪不幸者做人,我是个幸运的不幸者,起码我睡的象猪。——《天若有情》

26、这是一个高度竞争的社会,没有资格走的人最好不要走,否则要回头这个位置已经被人占去,再也没有空隙,闲时闹意气,一点用处也没有。——《曾经深爱过》

27、行乐及时,上天给你什么,就享受什么。千万不要去听难堪的话,一定不去见难看的人。或者是做难做的事情,爱上不应爱的人。——《电光幻影》

28、生活中无论有什么闪失,统统是自己的错,与人无尤,从错处学习改过,精益求精,直至不犯同一错误,从不把过失推诿到他人肩膀上去,免得失去学乖的机会。——《阿修罗》

29、现今还有谁会照顾谁一辈子,那是多沉重的一个包袱。所以非自立不可。——《不易居》

30、真正的才华如火焰般难以收藏,总会燎原。——《曾经深爱过》

31、朋友有什么义务替他保守秘密?他不想人知,就不要说,你不让他说,他才会心痒而死,所以做朋友的借出耳朵已经仁至义尽,其他的,管他呢!——《琴批》

32、人一定要受过伤才会沉默专注,无论是心灵或肉体上的创伤,对成长都有益处。——《花解语》

33、一个成熟的人往往发觉可以责怪的人越来越少,人人都有他的难处。——《我们不是天使》

34、失去的东西,其实从来未曾真正地属于你,也不必惋惜。——《玫瑰的故事》

35、何必向不值得的人证明什么,生活得更好,乃是为你自己。——《忽而今夏》

36、两个人在一起生活,岂是一项艺术,简直是修万里长城,艰苦的工程。——《玫瑰的故事》

37、有能力的人影响别人,没能力的一群受人影响。——《喜宝》

38、麻烦来找你,你才去应付它,如不,任它沉睡——《花解语》

39、我要很多很多的爱。如果没有爱,那么就很多很多的钱,如果两件都没有,有健康也是好的。——《喜宝》

40、聪明人,无谓争意气。——《连环》

41、做人要含蓄点,得过且过,不必斤斤计较,水清无鱼,人清无徒,谁又不跟谁一辈子,一些事放在心中算了。——《蔷薇泡沫》

42、如果有人用钞票扔你,跪下来,一张张拾起,不要紧,与你温饱有关的时候,一点点自尊不算什么。——《喜宝》

43、在黑暗里,取出杯子,喝干了酒,千头万绪,恨事那么多,不知道挑哪一宗来咬牙切齿才好,索性全抛在脑后,安静睡觉。——《忽尔今夏》

44、我提着一个袋子,边走边拾。一路上拾起无数我不想要的东西。当我遇到我真正想要的东西之时,袋子已经装满了。——《印度墨》

45、一个人走不开,不过因为他不想走开;一个人失约,乃因他不想赴约,一切借口均属废话,都是用以掩饰不愿牺牲。——《一千零一妙方》

46、凡是人尽可夫的女人,都挂着一个淑女的招牌。——《如今都是错》

47、人们不解释的主要原因是根本不在乎对方的想法,无关重要的人,对无关重要的事有点儿误会,有什么关系,你信也好,不信也好,都于当事人生活毫无影响,何劳解释。——《阿修罗》

48、不过女人到底是女人,日子久了就任由感情泛滥萌芽,至今日造成伤心的局面。女人都痴心妄想,总会坐大,无论开头是一夜之欢,或是同居,或是逢场作兴,到最后老是希望进一步成为白头偕老,很少有真正潇洒的女人,她们总是企图从男人身上刮下一些什么。——《胭脂》

49、爱一个人决不潇洒,为自己留了后步的,也就不是爱——《星之碎片》

50、我喜欢向没有知识但是聪明的人学习,他们那一套不讲理、原始,令人难堪,但往往行得通。受过教育的女人事事讲风度,连唯一的武器都失掉,任由社会宰割。——《玉梨魂》

51、答通常吸引男人的是这种冷漠,但是男人终于娶的是仰慕他的女人,没才干的女人靠嫁人过活,有本事的女人靠自己过活——《城市故事》

52、男人!当你要求一个女人像女人的时候,问问你自己有几成像男人!——《城市故事》

53、如花美眷,也敌不过似水流年。——《风信子》

54、人生短短数十载,最要紧是满足自己,不是讨好他人。——《美丽新世界》

55、人们往往只相信他们愿意相信的事——《旧欢如梦》

56、世上没有免费午餐,无论什么,总得付出代价。——《花解语》

57、十年寒窗,十年苦干,再加上十足十的运气,才能有一份事业,你别把事情看得太容易,大多数人只能有一份职业,借之糊口,辛劳一生,有多少人敢说他的工作是事业?——《圆舞》

58、在金钱与爱情面前卖弄自尊,是最愚蠢的事。——《我的前半生》

59、人是那样复杂的一种动物,想了解对方根本是不可能的一件事,没有了解,又不能相处,倒不如独身。——《美娇袅》

60、社会只爱健康的聪明的,肯拼命的人,谁耐心跟谁婆婆妈妈,生活中一切都变成公事,互相利用,至于世态炎凉,人情淡薄,统统是正常的。——《小学同学》

61、做不到是你自己的事,午夜梦回,你爱怎么回味就怎么回味,但人前人后,我要你装出什么都没有发生过的样子。你可以的,我们都可以,人都是这般活下来的。——《叹息桥》

62、一生不知要捱多少批斗:力争上游是不自量力,精打细算变为太工心计,保护自身即是自私自利,简直做什么错什么,被欺压得退往墙角,不外是因为无人撑腰。——《黑羊》

63、你要改是因为你自己愿意改,不要为任何人,怕只怕那人会令你失望,你又得打回原形。——《不易居》

64、一代不如一代,一代比一代辛苦,这一代最辛苦的是已经认为辛苦是理所当然的一件事。——《假梦真泪》

65、许多人并不相爱,却可以相处一辈子,爱是非常容易令人厌倦的。——《妈妈》

66、一个人要超越他的环境及出身,进步是不够的,非要进化不可,那样大业,岂能人人做到。——《风满楼》

67、一生像似太长,却又太短,待搞清楚有何心愿,二十一年已经过去,那么四十岁之前若不匆匆把所有该做或不该做之事做妥,之后也无甚作为,所以人人不够时间——《红尘》

68、有得有失,才是人生,切忌忿忿不平。——《天上所有的星》

69、哭要一个人躲着哭,笑呢全世界陪你笑——《爱情之死》

70、人际关系这一门科学永远没有学成毕业的一日,每天都似投身于砂石中,缓缓磨动,皮破血流之余所积得的宝贵经验便是一般人口中的圆滑。——《我的前半生》

71、骗一个人,要费好大的劲,不在乎她又如何肯骗她,所以将来有人苦苦蒙骗你,千万不要拆穿他。——《忽尔今夏》

72、自由社会,自由选择,要笑得出才能笑,否则,笑比哭还难看,也不必勉强。——《艳阳天》

73、我们都渴望被照顾 被爱 在在这个关键上 人人都脆弱 ——《她比烟花寂寞》

74、也许一个人在真正无可奈何的时候,除了微笑,也只好微笑了。——《家明与玫瑰》

75、做人凡事要静;静静地来,静静地去,静静努力,静静收获,切忌喧哗。——《直至海枯石烂》

76、人其实很难真正自由,锁住人的,往往是那人自己。不知不觉,我们不是做了感情的奴隶,就是事业的婢仆。——《连环》

77、蛋糕非常香,咖啡十分甜,这里又没有地震,活着真好。——《承欢记》


化妆品防晒 隔离系列 - 收藏于 2009-02-27

四接下来......防晒隔离篇

1. 欧泊莱柔和防晒露 TB SPF20 28元/温和防晒乳SPF30 50元:很不错,一点都不油,最喜欢这点。

2. 妮维娅的30++的防晒乳(防水的那款)48元:当然,他会很油。但是不会晒伤,晒黑不太容易,出去旅游擦很不错, 平时的话就算了

3. 爱丽光彩细致真空隔离霜40ml 68.00元:紫隔/绿隔.不干不油很舒服,容易推开比较均匀,遮盖效果也还不错

4. ZA隔离霜 68元:能用好久,还不油腻,润色 很多MM都叫好 .....

5. 大宝物理防晒蜜 27元:很值得大家买,有蜜和霜,不油腻, 吸收很快,涂上有增白效果,平常上下班的户外活动用这个防晒足够了,一点都不会晒黑。

6. 郁美净的美防晒蜜SPF20送30G的晒后修复和一个乳液小样,才18.6元:试用时感觉水水的,不油腻,香味好象THE FACE SHOP的莲花防辐射乳液

7. 婵真红酒隔离SPF18 TB 85元 :不油不干,润色效果好,比较自然

8. 曼秀雷敦水薄防晒49块100ml:比它家其它防晒都大瓶,质地清爽,不需要卸妆乳就可以洗掉了

9. 强生婴儿防晒润肤露 26RMB:夏天用的 很不错哦 一点都不油腻 还有美白的效果 就是防晒指数有些底

10. 泊美防晒隔离霜40ml 65元:不仅有很好的修正肤色的功能(不会显得不自然,)而且相当的清爽,不会很油,推荐!

第五篇~~ 粉底系列

C语言中 子函数2种调用方法 - 收藏于 2009-02-27

方法一:最简单的,子函数和主函数main写在同一个文件中;如果子函数写在主函数main前面,子函数无需声明;如果子函数位置写在主函数main后面,在主函数中需对子函数声明;

方法二:子函数、主函数在不同文件中,需写一个.h头文件对子函数进行声明,在主函数文件中# include" "就可以了。

例子: 球二元一次方程的解的问题

子函数foo.c:

# include <stdio.h>
# include <math.h>

void foo()
{
float a, b, c,disc,x1,x2,realpart,imagpart;
scanf("%f,%f,%f",&a,&b,&c);
printf("The equation ");
if (fabs(a)<=1e-6)
   printf("is not a quadratic\n");
else
{
   disc=b*b-4*a*c;
if (fabs(disc)<=1e-6)
   printf("has two equal roots:%f\n",-b/(2*a));
else if (disc>1e-6)
{
   x1=(-b+(float)(sqrt(disc)))/(2*a);
     x2=(-b-(float)(sqrt(disc)))/(2*a);
   printf("has two distinct real roots: %f and %f\n",x1,x2);
}
    else
{
        realpart=-b/(2*a);
     imagpart=(float)(sqrt(-disc))/(2*a);
   printf("has two complex roots:\n");
   printf("%f+%fi\n",realpart,imagpart);
        printf("%f-%fi\n",realpart,imagpart);
}
}
// return 0;

}

头文件foo.h : 子函数声明

# ifndef _FOO_H_
# define _FOO_H_

void foo();

# endif

主函数main:

# include <stdio.h>
# include <math.h>
# include "foo.h"   

int main ()
{
foo();
getchar();
return 0;
}

PS: 包含头文件时用" ",从当前目录开始搜索;而<>则是从系统目录进行搜索;


c 中的幼稚小问题 - 收藏于 2009-02-27

1) 强制类型转换    (int)(x+y),   注意();

2)if () { }   else {   }     大括号不能丢,不然不知道if else的范围;

3)return 0; 写完一个类型为 int 的函数,后面常写上 return 0;

4)文件—>打开工作空间;

5)一个工作空间打开多个工程: 工程—> 插入工程到工作空间;


四年一闰 百年不润 四百年再润 - 收藏于 2009-02-26

闰年的条件是满足下列二者条件之一:年号能被4整除、但不能被100整除,二是年号能被4整除,又能被400整除。

要构造一个关系表达式:(year%4==0)&&((year%100!=0)||(year%400!=0))。

含义:闰年是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。补上时间差的年份,即有闰日的年份为闰年

  公历闰年判定遵循的规律为: 四年一闰,百年不闰,四百年再闰


网络分类 - 收藏于 2009-02-26

网络按覆盖范围分: 广域网(WAN) 城域网(MAN) 局域网 (LAN);

                              移动 电信              WIMAX                 校园网

网络按交换方式分: 线路交换(通信不掉线,电话交换)     报文交换 (存储-转发的形式)   和 分组交换


some data - 收藏于 2009-02-24

淘宝登录password : cjy101301

图书馆 password: 831013

gmail password : cjy1013

虚拟机linux用户: cjy   密码:cjy2020

信用卡固话: 88169541


英文电影 - 收藏于 2009-02-23

师父推荐 绝望的主妇,说老友记有点老

亮亮[Tony] 说(21:48):
嗯,看美剧练听力和口语
金玉 说(21:48):
恩 我经常看美剧 可自己没什么提高 怎么练习啊?
亮亮[Tony] 说(21:52):
你就听,戴上耳机听,然后只看英语字幕,等你熟了就看汉语的,能直接反映过来,然后再不看字幕就是听
金玉 说(21:53):
恩 要看三遍了?
金玉 说(21:54):
四遍?
亮亮[Tony] 说(21:54):
如果你想提高不能随便看一边就完事,你要完全看懂
金玉 说(21:54):

金玉 说(21:54):
能看懂
亮亮[Tony] 说(21:55):
你最好找一部电影,多看上几遍,把台词搞好,听懂,感觉好的记住。不贪多
金玉 说(21:55):
恩 好的
多看上几遍
金玉 说(21:56):
看老友记 这种电影呢?
亮亮[Tony] 说(21:56):
嗯,先看中文字幕看懂,然后看英文字母,看几遍觉得没问题了去掉字幕
这样看
亮亮[Tony] 说(21:56):
老友记是电视剧,太长了
金玉 说(21:57):
是一段一段的 一段20分钟


解心 - 收藏于 2009-02-23

1 倒向你的墙

也许这面倒向你的墙,让你无法呼吸,也许会让你失去一切,但是如果沉默的接受,那么,倒向你的还是那面墙,如果你挺起肩膀,抬起头来你会发现很多事情不是向我们想象的那么糟。

“永远不要后退,退到最后无路可退。”

114f265f231.jpg

2 离你而去的人

离你远去的人,是他失去了你,不是你失去了他。离开,也许是为了下个路口的更好的重逢。

“离开,生命中注定了太多的离开。”

116e7d18887.jpg

3 流逝的时间

时间比水流失的还要快,所以想做的事情就去努力,人这辈子,至少自己得对得起自己。

“人生在世,俯仰之间,自当追求卓越,但有尽其所能。”

1122fa7dd60.jpg

4 没有选择的出身

有人天生的就是王,有人天生的就是贵族,但是很多人天生的就是平凡,这个世界上,没有什么不可以改变的东西,尤其你想改变的话。

“追求一切美好的过程是人生珍贵的财富”

5 莫名其妙的孤独

不管达观还是拘谨,无论高贵还是卑微,谁都可能相遇孤独的感觉,常常深深地萦绕在不为人所知的寂寞的情怀中。

“其实是知己难求”

6 无可奈何的遗忘

很多我们以为一辈子都不会忘记的事情,就在我们念念不忘的日子里,被我们遗忘了。

"人生总是因为有回忆,而多了分美好。

偶尔的回忆胜过永远的想念。毕竟日子是会越来越好的。"

7 永远的过去

一秒就成为了下一秒的过去,既然很多东西注定要失去的,那么,我们唯一可以做到的就是不轻易忘记。

“读过一句话——当你总是缅怀过去的时候,证明你现在过的并不好。所以,美好的回忆可以,但绝不留恋。要永远憧憬,永远在现在努力。”

8 别人的嘲笑

嘴长在别人的身上,耳朵在自己身上,说不说,是他们的事情,听不听,是你自己的事情了,我们要学会微笑的面对这一切。

“不必去理会……”

112619ad155.jpg

9 不可避免的死亡

生命是个过程,死亡只是必然的结果,但轨迹是自己的色彩和温度,既然不可避免,那么就更无所畏惧。

“真的希望人是有灵魂的,不要一切皆为虚幻。”

10 无可救药的喜欢

一种很甜的毒药,戒不掉的东西,但喜欢终究是喜欢,不是爱。

“人,一辈子注定了被好多人喜欢,也喜欢好多人。但是选择只有一个。并要终于这个选择。

爱,又有几个人足够幸运,能够在有生之年,正确的时间,遇到 真爱呢?……”

生活中,并不是自己努力就一定什么都可以的。

很多时候,我们也会觉得自己无能为力。

不只是你,也不只是我,大家都一样。

知道时间不可能停留,就没有必要伤春悲秋。

知道感情不可能刻意,就不会为了谁寻死觅活。

知道遗忘总是必然的,就不会为一时的忘却伤感。

知道过去始终是存在的,就没有必要遮掩和炫耀。

知道孤独总是如影随形的,就不会在某一些时刻难以自制。

知道死亡总是在将来的某一刻,就能好好把握现在能做好的。

知道这些,就不必勉强为难自己,心放开了,就什么都好了。

心放淡一点,再淡一点,没有那么多给自己设置的心结,心境也就平和了


常识题 1 - 收藏于 2009-02-23

1、中国有23个省、4个直辖市、5个自治区、2个特别行政区。 4、中国的水力资源很丰富,在世界上是第一位。 10、人们把长江流过的瞿塘峡、巫峡、西陵峡这三段峡谷叫作长江三峡。 11、长江是中国第一大河,全长6300多千米,水力资源丰富。正在建设的最大的水利工程是三峡工程。 12、长江从青海、四川、西藏、云南、重庆、湖北、湖南、江西、安徽、江苏、上海11个省级行政区流过。 13、黄河从青海、四川、甘肃、宁夏、内蒙古自治区、山西、陕西、河南、山东9个省级行政区流过。 14、著名的“壶口瀑布”在黄河。 18、中国有两条重要的河流,长江和黄河,它们都是“中华民族的摇篮”,请问传说中的中华民族始祖黄帝的陵墓,是在黄河流经的地区 19、新疆塔里木河是中国最长的内陆河。 20、中国最大的咸水湖青海湖 24、东岳泰山,西岳华山,北岳恒山,南岳衡山,中岳嵩山。 25、中国西部柴达木盆地矿藏非常丰富,被称为“聚宝盆” 29、“金陵”指的是南京。 30、中国七大古都,安阳、西安、洛阳、南京、开封、杭州、北京 31、中国的“七大古都”中,安阳、洛阳和开封都在河南省。 32、著名的“丝绸之路”的起点是西安。 38、中国正在进行西部大开发,重庆市目前西南最大的工业中心城市。 40、云南具有独特热带雨林风光和绚丽少数民族风情的乐土的地方是西双版纳。 41、云南丽江建于南宋时的纳西族古城,现仍保存着传统的格局与风貌。 1、中国的人口总数约13亿,占世界人口的22%。 4、中国人口最多的少数民族是壮族 6、中国珞巴族人口最少的民族只有2300多人。 7、内蒙古自治区、西藏自治区、宁夏回族自治区、广西壮族自治区、新疆维吾尔自治区。 12、中国政府中负责处理少数民族事务的是国家民族事务委员会(简称:国家民委)。 13、中国的少数民族一般都信仰宗教:藏族(佛教)、回族(伊斯兰教)、哈萨克族(伊斯兰教) 15、中国苗族以服饰丰富而著称,特别是妇女身上的装饰更多达130多种。吹芦笙、对歌、斗牛是这个民族最有特色的活动。 19、傣族的住处被称为孔雀之乡。 20、玉如意和长鼓分别是满族、朝鲜族的吉祥物。 21、彝族人民医药知识丰富,根据他们的祖传秘方制成的云南白药专治跌打损伤,远近驰名。 23、明朝有位著名的航海家郑和(回族),他曾七次下西洋,成为世界航海史上的壮举。 30、中国壮族特别喜欢唱山歌,有传统的歌节叫做“歌吁”,传说中创造这个民族的歌谣的唐代女歌手刘三姐在中国更是家喻户晓。 1、中国猿人“北京人”是在北京(房山)周口店(龙骨山)。 2、中国国内最早的古人类叫元谋人。 3、中国长江流域典型的新石器文化遗址叫河姆渡(文化)遗址。 4、在陕西西安郊区发现的中国黄河流域典型的新石器文化遗址叫半坡(文化)遗址。 7、中国的历史传说中“五帝”的第一个人是黄帝(其他是颛顼、帝喾、尧、舜)。 8、中国的历史传说中,最早教人捕鱼、畜牧的人是伏羲。 9、中国的历史传说中,最早教人种田并且尝试各种草药的人是神农。 13、中国历史中常说的“三代”指的是夏、商、西周。 14、中国历史上第一个王朝叫夏。 15、春秋时期的“春秋”这个名字是鲁国史书《春秋》记载了这个时期的历史,由此得名。 16、春秋时期最著名的教育家是孔子(孔丘)。 17、在中国历史上,从春秋到秦国统一中国之前的这段时间,被叫作战国时期。 18、战国时期主要有齐、楚、燕、韩、赵、魏、秦 19、中国历史上第一个封建王朝是秦朝。 22、皇帝发布的文书叫诏书,也叫圣旨。 23、中国最早统一文字的皇帝是秦始皇。 24、秦代修建的最伟大的工程是长城。 26、公元前2世纪,汉武帝派张骞两次出使西域,沟通了中国与中亚地区的直接联系,促进了中外交流,。 35、宋神宗时期,主持变法的人是王安石。 36、统一蒙古各个部落并且建立蒙古政权的人是成吉思汗。 37、元代的首都叫大都,北京。 39、明代最初建立了应天府,南京市。 42、清代满族的兵制是八旗制度。 45、明清时期,把西方历法和火枪技术介绍到中国的耶稣会传教士是汤若望。 47、鸦片战争发生在1840年。 58、新文化运动的口号是民主、科学。 12、西湖龙井、铁观音、碧螺春、黄山毛峰、祁门红茶、信阳毛尖、君山银针、大红袍等。 13、因为制作方法不同,茶可分为五种花茶、红茶、绿茶、乌龙茶和紧压茶。 14、中国的种茶、制茶、煮茶、饮茶法是隋唐前后传到曰本、朝鲜的 11、中国最古老的汉字“甲骨文”是在河南安阳的殷墟 10、纳西族创造了我国最古老的象形文字,并写成了一部纳西族的百科全书,东巴文字,《东巴经》。 15、被称为“汉语托福”的考试是汉语水平考试、HSK 16、中国最早的字典叫《说文解字》。 18、清乾隆年间,皇帝下令编撰了一部中国最大的丛书,收录了18世纪以前3000多种重要著作。全书共230万页,连接在一起,足够绕地球赤道一圈有余。请问这部丛书叫《四库全书》。 21、中国第一部诗歌总集是《诗经》共有305篇,也叫“诗三百”。 22、战国时期大诗人屈原的代表作是楚辞《离骚》。 23、填空:中国古代神话非常丰富,其中以《山海经》中为最多。 25、西汉时期,由司马迁写的《史记》被鲁迅先生称为“史家之绝唱,无韵之离骚”。 29、宋词主要分为两大派,一是豪放派、一是婉约派。苏轼和辛弃疾是豪放派的代表。 30、“但愿人长久,千里共婵娟”是宋朝词人苏轼《水调歌头》中的名句。 31、中国古代最有名的女词人是李清照 32、元杂剧的主要代表人物是关汉卿,他的主要作品是《窦娥冤》。 33、曹操“老骥伏枥,志在千里,烈士暮年,壮心不已” 34、陶渊明《桃花源记》写了一个理想的世界,那儿与外面的世界隔绝,人们过着安宁、幸福的生活, 35、唐代最有代表性的文学体裁是诗歌。 36、唐代李白被人称为“谪仙”、“诗仙” 38、唐代杜甫的诗被大家看作“诗史” 39、杜甫的诗《春夜喜雨》很有名“好雨知时节,当春乃发生。随风潜入夜,润物细无声。” 40、叙事长诗《长恨歌》和《琵琶行》的作者是白居易。 45、中国诗歌的黄金时代是唐代。据《全唐诗》记载,这个时代共2300多个诗人,留下了近50000首诗。 51、中国现代文学史上第一部成功的白话小说是《狂人曰记》,鲁迅。 52、鲁迅在小说《孔乙己》中描写了一个受封建科举制度毒害,最后只能靠偷书生活的读书人的形象 53、长篇小说《骆驼祥子》、、《四世同堂》,剧作《茶馆》、《龙须沟》等的作者是老舍。 54、由《家》、《春》、《秋》组成的《激流三部曲》是巴金 55、《农村三部曲》(《春蚕》、《秋收》和《残冬》)的作者是茅盾。 56、《女神》是中国新诗运


24节气口诀 - 收藏于 2009-02-21

从小就听爸妈说24节气,自己还没怎么用心记过,今天突然想起来,就转贴记下来

春雨惊春清谷天,夏满芒夏暑相连,
秋处露秋寒霜降,冬雪雪冬小大寒。

每月两节不变更,最多相差一两天。
上半年来六廿一,下半年是八廿三。


解析:

即24节气依次分为立春、雨水、惊蛰、春分、清明、谷雨、立夏、小满、芒种、夏至、小暑、大署、立秋、处暑、白露、秋分、寒露、霜降、立冬、小雪、大雪、冬至、小寒、大寒 。
立春:立是开始的意思,立春就是春季的开始。
雨水:降雨开始,雨量渐增。
惊蛰:蛰是藏的意思。惊蛰是指春雷乍动,惊醒了蛰伏在土中冬眠的动物。
春分:分是平分的意思。春分表示昼夜平分。
清明:天气晴朗,草木繁茂。
谷雨:雨生百谷。雨量充足而及时,谷类作物能茁壮成长。
立夏:夏季的开始。
小满:麦类等夏熟作物籽粒开始饱满。
芒种:麦类等有芒作物成熟。
夏至:炎热的夏天来临。
小暑:暑是炎热的意思。小暑就是气候开始炎热。
大署:一年中最热的时候。
立秋:秋季的开始。
处暑:处是终止、躲藏的意思。处暑是表示炎热的暑天结束。
白露:天气转凉,露凝而白。
秋分:昼夜平分。
寒露:露水以寒,将要结冰。
霜降:天气渐冷,开始有霜。
立冬:冬季的开始。
小雪:开始下雪。
大雪:降雪量增多,地面可能积雪。
冬至:寒冷的冬天来临。
小寒:气候开始寒冷。
大寒:一年中最冷的时候。


09开学了 - 收藏于 2009-02-19

刚回来,事情还没那么明确,想想,要做的东西还挺多的,希望这个学期能收获想要的,需要的。

这几天忙完师兄要求的那篇眼动的文章,下个星期帮张师兄调调仿真。


会声会影 记录 - 收藏于 2009-02-16

1)图像—>摇摆和缩放—>自定义

2)特效—>视频滤镜—>肖像画—>柔和度—>形状

3)标题

4)覆盖—>边框

5)(覆盖轨里用) 属性—>遮罩和色度键—>遮罩帧

6)音频   淡入淡出   (左边视频视图)

7) 视频—> 回放速度   旋转视频

8)分享   创建视频   DVD/VCD —>PAL   MPEG1     VCD / MPEG2   DVD

9) 剪切视频 —> 左边的剪刀

10)覆叠轨   —> 淡入淡出

11) 视频声音去除 —> 右键 —>音频分割

        


有点懒惰 想逃避 - 收藏于 2009-01-09

这几天做事情效率很低,心态不平静,有点浮躁。折腾了几天,只写了一个大概的专利,而且还不符合要求,要改动。可能是我没激情写这个文章和专利,才会这样的。

写好这个东西也算是做这个眼动仪项目唯一的收获了,我应该好好写,可真的有点力不从心,想逃避的感觉。应该有点激情才好。

还有,今天公务员成绩下来了 99.6,虽然当时是无所谓的态度去参加考试的,可还是希望在这次考试能收获一些东西。考的不好,早在我预料之中,做一件事情,真的要用心了才能有收获,这一点我不迷茫。迷茫的是以后生活的侧重点,应该在哪里? 去哪里工作? 做什么性质的工作?过怎样的生活。。。

总结一下,考公务员的心得。首先,行政能力测试,每种题型分值不同,有0.5   0.6   0.8 , 应该根据分值和自己的强项,安排好做题的先后顺序,必须进行题海战术训练。   关于申论,条理和清晰是我这次考试最注意的,也应该多看看真题。 等师姐忙完复试,好好和她请教

应该清醒地认识到生活追求的重点,进公司?还是公务员? 不想了,努力做好手头的事情。


这个月的计划 - 收藏于 2009-01-04

1)师兄工作收尾,很重要,更明确的说是,写一篇文章,写一个专利;

2)代一门课,要备课;

3)买些东西,准备回家,买个相机,买个米奇的鞋,再买些东西给爸妈;

平时还要打打球,看看电影,这个月的计划。

对了,还有c,他说“你可要好点学啊”,我忙完这些一定好点学;


2008 总结 - 收藏于 2009-01-01

一年过得好快,总结下2008

1)考了驾照

2)发了文章

3)拿了两个奖学金

4)竟选进入主席团

5)去了北京开会

6)代课一学期

7)拍了写真


非诚勿扰 - 收藏于 2008-12-31

看着电影,一直想知道“笑笑”怎么处理她那段无法割舍的情感,看到她纵身跳下那一刻,我不禁失落,难道苦苦追群的答案竟是 “死亡”?? 只有死亡才能真正让自己解脱吗?? 看着她优雅的坠落海底,轻松又难过,轻松她终于解脱自己的情感,难过的是,只有死亡才能真正解脱。。。

翻过这一页,就会一心一意对待下一页,如果翻不过这一页呢??

而翻过这一页,要通过死亡的方式吗??

下面是我转载的,比较喜欢的影评:

忍不住想问,如果没有葛优的乐观自信以及最后牵强的圆满结局,《非诚勿扰》是喜剧吗?
  葛大爷的痛哭让许多人印象深刻,那个在剧中没有出现过的小白,她的故事还没有开始,就已经在某个看不见的地方永远地结束了。
  徐若瑄扮演的未婚妈妈,为着肚子里的孩子欢颜屈就,在受到拒绝后,眼里的神采黯淡下来,双手环抱着身体,起身离开。大家开始为葛优的台词开怀大笑,我却看到她离走时背景里的胡琴吱吱呀呀地唱……
  冯远征的同性恋造型让人忍俊不禁,他开导秦奋说“你是不敢面对,是没有勇气”时,我更是大笑出声来。可是当他平淡地说起:从那时起,我一直等你到现在。我突然哑言失笑。
  在所有的影评里,对秦奋老同学邬桑的提及稀疏平常,在剧中这个人物也厚实寡言,但他的角色和性格却是整个影片中最吸引我的,如果说整个影片有文艺气息的话,我倒认为他是。在长长的麦田路里,邬桑将行驶中的车停下,不可抑制地哭出来。眼泪停下,车再缓缓启动,向前走去。背景音乐骤然响起,歌声很长,路很远……
  主角梁笑笑更不是个喜角。她优雅地痛苦着,我们难免会责怪她的插足,也会否定她对秦奋的利用。可是在她跳进水里的刹那,花一样的绽放,坠落的姿势优雅动人,心也跟着她的痛苦一起升华。很多时候就是这样,我们太过苛责,无法被触动,一直要看到她的死亡,我们才明白原来她的痛苦理所当然。
  我不是个悲观的人,可是在这场电影里,我看到的是许多无奈和挣扎,甚至有我们熟悉的死亡。
  人间百态,影片里的这些人,在我们身边再正常不过。


The Devil Wears Parada 穿普达拉的女王 Ella Enchanted 魔法灰姑娘 - 收藏于 2008-12-19

穿普达拉的女王:

电影不错,超级喜欢里面的衣服,时尚美丽,看完电影之后,突然觉得女的应该穿高跟鞋才性感。

不过,电影里的那个女主角觉得没什么品质可言,自己都玩够了,知道回头了,只是.......

魔法灰姑娘:

看了很长时间了,昨天看穿parada的女王想起来了, 一直感觉还不错哦   童话般的感觉。


c++ 特点 (1) - 收藏于 2008-12-16

VC中调试C++

1)        文件-新建-win32 console application – empty projection- 完成;

2)        文件-新建-C++soure files;

编译 Build    运行 BuildExecute (Ctrl + F5) (那个红叹号);

面向对象c++特点:

封装性、继承性、多态性

1)cin   cout 可以自动判别输入输出数据类型而自动调整输入输出格式,不用像scanf printf那样一个个由用户指定;

2)endl (end of line),换行 和 刷新与设备相关的buffer;

3)        c语言中的结构体中不能有函数,而c++可以;

4)        c++中结构体和类可以通用,但也有区别:

结构体中的所有成员,在缺省的情况下都是public;

类中的所有成员, 在缺省的情况下是私有的Private;

5)        类和对象:

类:是抽象出来的共有的属性,不占用内存;

对象:是具体的,实力化的类, 占用内存;

6) c++ 提供构造函数:

A)构造函数最重要的作用是创建对象本身,分配内存;

B) C++规定,每个类必须有一个构造函数,没有构造函数就不能创建任何对象;

C) C++又规定,如果一个类没有提供构造函数,则c++提供一个默认的构造函数(由c++编译器提供),这个默认的构造函数是一个不带参数的构造函数,它只负责创建对象,而不做任何的初始化;

D)只要一个类定义了一个构造函数,不管这个构造函数是否是带参数的构造函数,c++就不再提供默认的构造函数。也就是说,如果为一个类定义了一个带参数的构造函数,还想要无参数的构造函数,则必须自己定义;

7) 析构函数:

当对象生命周期结束的时候,都会调用析构函数,进行内存的回收和对象的释放;

A)当一个对象的生命周期结束时,其所占有的内存空间就要被回收,这个工作由析构函数完成;

B) 析构函数是“反向”的构造函数,析构函数不允许有返回值,更重要的是析构函数不允许带参数,并且一个类中只能有一个析构函数;

C) 析构函数的作用正好与构造函数相反,对象超出其作用范围,对应的内存空间被系统收回或被程序用delete删除时,析构函数被调用;

D)根据析构函数的这个特点,我们可以在析构函数中初始化对象的某些成员变量,给其分配内存空间(堆内存),在析构函数中释放对象运行期间所申请的资源;

8) 函数的重载:

重载构成的条件:函数的参数类型、参数个数不同,才能构成函数的重载;

Void output ()

Int output ()     只有返回值不同,不能构成重载;

Void output (int a ,int b=5)

Void output (int a)          也不能构成重载;

# include <iostream>

Class Point

{     

Public:

        Int x;

        Int y;

Point ()              // 构造函数

{     

        x=0;

        y=0;

}  

Point (int a ,int b)      //函数的重载,根据所传的参数,自动分配构造函数

{

        x=a;

        y=b;

}

        ~ Point ()          // 析构函数

      {

}

Void output ()

{    

     Cout <<x<<endl<<y<<endl;

}

};        //    这个分号很重要吗?

Void main ()

{

        Point pt;

        pt.output;

}       // 运行到这里 ,会调用析够函数,对象释放;


matlab 编写 小感想 - 收藏于 2008-12-16

编写matlab时,想什么功能一定要先上网查下别人是怎么写的,自己想着写,很不明智。前几天写图像分块程序,还有2范数程序,我花了半天的时间来写这两个子函数,结果上网看看人家写的,只有一句话

FBH_block=mat2cell(FBH,4*ones(1,k1),4*ones(1,k2));    把图像 FBH 分成k1*k2个 4*4大小的块,喜欢里面的 4*ones(1,k1);

把分块的矩阵写回一个图像 cell2mat;

matlab里的范数函数 norm;

如果想知道各个函数具体怎么写的 open ~~ 那个函数

如果想知道各个函数具体怎么用的 help —> search


linux下使用gcc命令编译代码 (找了一天 ,终于找到了,转) - 收藏于 2008-12-15

源于 http://hi.baidu.com/heredo/blog/item/adb4bc333a69cafd1b4cff6c.html

linux下使用gcc命令编译代码
初学时最好从命令行入手,这样可以熟悉从编写程序、编译、调试和执行的整个过程。编写程序可以用vi/vim(个人觉得vim比vi好用)或其它编辑器编写。
      编译则使用gcc命令。要往下学习首先就得熟悉gcc命令的用法。
      gcc命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,到后面再慢慢学习其它选项,免得因选项太多而打击了学习的信心。
一. 常用编译命令选项
假设源程序文件名为test.c
1. 无选项编译链接
用法:#gcc test.c
作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。编译成功后可以看到生成了一个a.out的文件。在命令行输入./a.out 执行程序。./表示在当前目录,a.out为可执行程序文件名。
2. 选项 -o
用法:#gcc test.c -o test
作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。输入./test执行程序。
3. 选项 -E
用法:#gcc -E test.c -o test.i
作用:将test.c预处理输出test.i文件。
4. 选项 -S
用法:#gcc -S test.i
作用:将预处理输出文件test.i汇编成test.s文件。
5. 选项 -c
用法:#gcc -c test.s
作用:将汇编输出文件test.s编译输出test.o文件。
6. 无选项链接
用法:#gcc test.o -o test
作用:将编译输出文件test.o链接成最终可执行文件test。输入./test执行程序。
7. 选项-O
用法:#gcc -O1 test.c -o test
作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。输入./test执行程序。
8.编译使用C++ std库的程序
用法:#gcc test.cpp -o test -lstdc++
作用:将test.cpp编译链接成test可执行文件。-lstdc++指定链接std c++库。
二. 多源文件的编译方法
如果有多个源文件,基本上有两种编译方法:
[假设有两个源文件为test.c和testfun.c]
1. 多个文件一起编译
用法:#gcc testfun.c test.c -o test
作用:将testfun.c和test.c分别编译后链接成test可执行文件。
2. 分别编译各个源文件,之后对编译后输出的目标文件链接。
用法:
#gcc -c testfun.c //将testfun.c编译成testfun.o
#gcc -c test.c    //将test.c编译成test.o
#gcc -o testfun.o test.o -o test //将testfun.o和test.o链接成test
    以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译。


Linux 基本命令(待续) - 收藏于 2008-12-15

控制台命令是通过字符界面输入的可以控制操作系统的命令。和dos命令不同,linux命令(包括文件名)对大小写是敏感的。

ls : 相当于dos下的dir命令;

ls -a : Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来;

ls -l :

这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(最上面两行是我自己加的):
位置1 2 3 4 5 6 7
文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名
drwx------ 2 Guest users 1024 Nov 21 21:05 Mail
-rwx--x--x 1 root root 89080 Nov 7 22:41 tar*
-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*
lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip
-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*
-rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*
下面,我为大家解释一下这些显示内容的意义。
第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):
rwx(Owner)r-x(Group)r-x(Other)
这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。
第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。

ls –F(注意,是大写的F)

使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。

cd
这个命令是用来进出目录的,它的使用方法和在dos下没什么两样,所以我觉得没什么可说的,但有两点我补充一下。首先,和dos不同的是Linux的目录对大小写是敏感的,如果大小写没拼对,你的cd操作是成功不了的。其次,cd如果直接输入,cd后面不加任何东西,会回到使用者自己的Home Directory。假设如果是root,那就是回到/root.这个功能同cd ~是一样的。

mkdir、rmdir
mkdir命令用来建立新的目录,rmdir用来删除以建立的目录,这两个指令的功能不再多加介绍,他们同dos下的md,rd功能和用法都是基本一样的。

cp
这个命令相当于dos下面的copy命令,具体用法是:cp –r 源文件(source) 目的文件(target)
参数r是指连同元文件中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。

rm
这个命令是用来删除文件的,和dos下面的rm(删除一个空目录)是有区别的,大家千万要注意。Rm命令常用的参数有三个: -i,-r,-f。
比如我现在要删除一个名字为text的一个文件:rm –i test
系统会询问我们:“rm:remove ‘test’?y”,敲了回车以后,这个文件才会真的被删除。之所以要这样做,是因为linux不象dos那样有undelete的命令,或者是可以用pctool等工具将删除过的文件救回来,linux中删除过的文件是救不回来的,所以使用这个参数在删除前让你再确定一遍,是很有必要的。
rm –r 目录名:这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。
rm –f 文件名(目录名):这个操作可以进行强制删除。

mv
这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。它的用法同dos下面的move基本相同,这里不再多讲。当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。另外因为linux下面没有rename的命令,所以如果你想给一个文件或目录重命名时可以用以下方法:mv 原文件(目录)名 新的文件(目录)名。

du,df
du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘空间。如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况(这个功能可是dos没有的呦)。不过我一般不喜欢用du,因为它给出的信息是在是太多了,我看不过来,而df这个命令我是最常用的,因为磁盘上还剩多少空间对我来说是很重要的。

cat
这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。它的用法如下:
cat text 显示text这个文件;
cat file1 file2 依顺序显示file1,file2的内容;
cat file1 file2>file3 把file1,file2的内容结合起来,再“重定向(>)”到file3文件中。
“〉”是一个非常有趣的符号,是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。如果〉左边没有文件的名称,而右边有文件名,例如:
cat >file1:结果是会“空出一行空白行”,等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容。这个过程和dos里面的copy con file1的结果是一样的。
另外,如果你使用如下的指令:
cat file1>>file2:这将变成将file1的文件内容“附加”到file2的文件后面,而file2的内容依然存在,这种重定向符〉〉比〉常用,可以多多利用。

more,less
这是两个显示一般文本文件的指令。如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。More指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显示。而less除了有more的功能以外,还可以用方向键往上或网下的滚动文件,所以你随意浏览,阅读文章时,less是个非常好的选择。

clear
这个命令是用来清除屏幕的,它不需要任何参数,和dos下面的clr具有相同的功能,如果你觉得屏幕太紊乱,就可以使用它清除屏幕上的信息。

pwd
这个命令的作用是显示用户当前的工作路径,这个命令不用多说,大家一试即知。

ln
这是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less
-s 是代号(symbolic)的意思。
这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。

man
如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man。Man实际上就是察看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字,它的说明非常的详细,但是因为它都是英文,看起来非常的头痛。建议大家需要的时候再去看man,平常吗,记得一些基本用法就可以了。

logout
一看就知道了,这是退出系统的命令,我就不多说了。要强调的一点是,linux是多用户多进程的操作系统,因此如果你不用了,退出系统就可以了,关闭系统你就不用操心了,那是系统管理员的事情。但有一点切记,即便你是单机使用linux,logout以后也不能直接关机,因为这不是关机的命令.


Linux GCC编译过程 (转) - 收藏于 2008-12-15

目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序.GCC不仅功能非常强大,结构也异常灵活.最值得称道的一点就是它可以通过不同的前端模块来支持各种语言,如Java、Fortran、Pascal、Modula-3和Ada等.

Linux系统下的gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。

使用GCC编译程序时,编译过程可以被细分为四个阶段:
◆ 预处理(Pre-Processing)
◆ 编译(Compiling)
◆ 汇编(Assembling)
◆ 链接(Linking)

.c为后缀的文件,C语言源代码文件;
.a为后缀的文件,是由目标文件构成的档案库文件;
.C,.cc或.cxx 为后缀的文件,是C++源代码文件;
.h为后缀的文件,是程序所包含的头文件;
.i 为后缀的文件,是已经预处理过的C源代码文件;
.ii为后缀的文件,是已经预处理过的C++源代码文件;
.m为后缀的文件,是Objective-C源代码文件;
.o为后缀的文件,是编译后的目标文件;
.s为后缀的文件,是汇编语言源代码文件;
.S为后缀的文件,是经过预编译的汇编语言源代码文件。

命令gcc首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。接着调用cc1进行编译,这个阶段根据输入文件生成以.o为后缀的目标文件。汇编过程是针对汇编语言的步骤,调用as进行工作,一般来讲,.S为后缀的汇编语言源代码文件和汇编、.s为后缀的汇编语言文件经过预编译和汇编之后都生成以.o为后缀的目标文件。当所有的目标文件都生成之后,gcc就调用ld来完成最后的关键性工作,这个阶段就是连接。在连接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方。

例程1:hello.c
#include
int main(void)
{
printf ("Hello world, Linux programming!\n");
return 0;
}

然后执行下面的命令编译和运行这段程序:

# gcc hello.c -o hello
# ./hello
Hello world, Linux programming!

首先,GCC需要调用预处理程序cpp,由它负责展开在源文件中定义的宏,并向其中插入“#include”语句所包含的内容;接着,GCC会调用ccl和as将处理后的源代码编译成目标代码;最后,GCC会调用链接程序ld,把生成的目标代码链接成一个可执行程序.

◆ 预处理(Pre-Processing)
使用-E参数可以让GCC在预处理结束后停止编译过程:
# gcc -E hello.c -o hello.cpp

◆ 编译(Compiling)
下一步是将hello.i编译为目标代码,这可以通过使用-c参数来完成:
# gcc -x cpp-output hello.cpp -o hello.o
或者
# gcc -c hello.cpp -o hello.o

◆ 汇编(Assembling)
◆ 链接(Linking)
# gcc hello.o -o hello
汇编应该调用as,这里应该是一起完成了

gcc主要参数:

-o 定义输出文件
-E 完成预处理/预编译停止
-c 只编译生成.o,不连接
-x 指定编译步骤
-g gdb调试用,在可执行程序中包含标准调试信息
-O,O1,O2,O3,O4,O5 优化级别
-w 关闭所有警告
-Wall 允许所有有用的警告
-DFOO=BAR 定义预处理宏FOO的值为BAR
-IDIRNAME 将DIRNAME加入到包含文件的搜索目录中去
-LDIRNAME 将DIRNAME加入到库文件文件的搜索目录中去
-static 静态链接库
-lFOO 动态连接库,名为libFOO.o/libFOO.so(2.4/2.6)
-mcpu=CPU TYPE 针对不同CPU作不同的优化,比如-m386,-mpentiumpro

文章出处:http://www.diybl.com/course/6_system/linux/Linuxjs/2008108/149145.html


成为简 奥斯汀 - 收藏于 2008-12-06

简·奥斯汀(安妮·海瑟薇饰)汤姆·勒弗罗伊(Tom Lefroy,詹姆斯·麦卡沃伊饰)

几个情节让我感动:

1)jane 第一次去tom的叔叔家,tom高兴地从楼梯上滑下来,上楼梯的时候,偷偷的勾着jane的手指,开心的像个孩子;

2)tom和jane决定私奔,两个人牵着手快乐地在树林里奔跑,车子被卡住时,tom抱jane下车那种幸福,真的很甜蜜;

3)jane知道tom的为难之处后,决定回家,坐在车上,tom在车外站着一直凝望,这可能是他们最后一次相遇了,真的很伤心,无奈,还有爱;

4)Jane 没有成婚 不过那都没什么 Tom是个好父亲 也依然爱jane 从他凝视jane那脉脉的眼神 从他呼喊jane名字那柔情的声音 一切是那么无法掩饰 一切又是那么感人至深 Jane 笑了 为了和Tom那段美丽而短暂的爱情终生未嫁 jane没有遗憾 她们永远活在了彼此的记忆中 永久的融入了对方的人格中 永无止境;

jane没有结婚,但从tom那柔情的眼神中,jane的感情得到了安慰。

这样的结局,让人回味,想哭,却又得到了安慰。看完后,一直回想,如果jane和tom一起了,会是什么样的生活;jane是否还能在短暂的生命中写出6部作品,tom是否能成为一个成功的律师。

还在想,jane能为自己的爱情终身未嫁,为什么tom可以做到结婚生子。但tom给自己的女儿其名叫jane,能让人得到一些安慰。

总之,看完之后,心情错综复杂,很想重新阅读一遍《傲慢与偏见》。


笔记本外放有声音,耳机没声音(转) - 收藏于 2008-12-04

1、检查声卡、连接线,以及音箱等设备是否连接正常;运行杀毒软件进行杀毒;
2、右击“我的电脑”----“属性”---“硬件”----“设备管理器”,打开“声音、视频和游戏控制器”有无问题,即看前面有没有出现黄色的“?”。如有,重新安装这个设备的驱动程序进行解决;
3、有声音但不见小喇叭时,打开控制面板----声音和视频设备----音量,在“将音量图标放入任务栏”前打上对号;
4、无声音又无小喇叭时,打开控制面板----添加与删除程序----添加删除Windows组件,在“附件和工具”前打对号,点击“下一步”,然后,关机重启,系统会提示安装新硬件,按照提示进行安装即可;
5、卸载声卡驱动程序,重新进行安装或升级声频驱动程序;
6、当安装声卡驱动程序时出现“找不着AC晶片”提示,有可能是电脑中毒,或者因违规操作误删了声卡驱动程序,抑或是内部软件冲突。解决的办法是重装系统和驱动程序。
7、干脆不予理睬,关机后等待一段时间后再重新开机,有时声音问题会自行解决。不妨你可以试试


有点低沉 - 收藏于 2008-11-22

这个星期一直没什么食欲,有点低沉,不知道什么原因,可能是情绪周期,也可能是项目没有进展,也可能没人能倾听我的不快,分解我的不解,也可能自己有点愤青,或是对别人的批评有点抵触。总之,心情有点低落。

本以为自己成熟到了能控制自己情绪,让自己好好充实生活的能力。现在看来自己还没有完全独立,再好好安排一下自己的生活,会好起来


a walk in the clouds - 收藏于 2008-11-21

电影名字很美,我不喜欢,一部经不起逻辑的电影,拙劣的情节,牵强的情景。除了异族风情的那点唯美之外,真的没有什么好看的。我喜欢“有点脑子”的电影。

不过电影里面的一句话我很喜欢,toast for what if — 为未知的命运干杯

面对未知的命运,我们能做的就是坚持 积极的走下去。


改图标 - 收藏于 2008-11-11

1)前几天为了看“老友记”,去下个了新的暴风影音,可以手动载入字幕了,可matlab中读取视频avi时,却一直报错,没有avi的解码器,要求下载;

2)今天还是把原来的暴风影音装上了,matlab总算可以编译通过了,现在装两个暴风影音。就涉及到文件夹的关联问题了

3)工具—文件夹选项—文件类型   相应文件和播放器关联了,可图标我不喜欢;

4)改图标: 工具—文件夹选项—文件类型   — 还原 ->找到喜欢的图标文件的安装路径;


拍写真 心得 - 收藏于 2008-11-11

化妆心得:眼睛可以化出来那么大啊,眼线、眼影、双眼皮很管用啊,可以把眼睛轮廓化的很清晰。还有鼻梁也可以通过色调,显得很挺。我也想学,重点是化眼睛,轮廓很清晰。

摆动作: 平时看杂志里的可爱、优雅、妖媚、调皮等动作,都是可以摆出来,练习出来的。针对我自己的缺点,我觉得需要联系的是笑(大笑很难看,先说微笑),“头部上仰一些,下颚要放松”。这些小细节,平时要有意识注意一下。

昨天生日,过的很好。晚上00:00左右 上海的箐、小孩、师父、岩、哥还有蔡都发短信祝福我,很感动,箐还说“我是不是沙发啊?”,呵呵,等到箐生日,我一定去抢她的沙发。白天的时候,两个师弟、菊子、丹丹、青岛的六六、韩、徐超、舒湛、香港的戴燕也都祝福我生日快乐,还有校内上的张、小李、高辉、于、张爱~、王虎~、晓利、许燕的祝福留言,让我的好心情一直持续到现在,感动他们这么久还记得我的生日。

本来以为这个生日会很没意思,自己送自己生日礼物,把这一天安排出去。这么多朋友短短的几个字的祝福,算是惊喜,换来了我一天的好心情。我记下来,记下感动,当朋友需要祝福的时候,希望自己也能送给他们好心情,不要一个人失落。


经验交流 - 收藏于 2008-11-04

实习途径:

1)实验室导师、师兄师姐的 多咨询

2)应届生网站

3)水木年华 北邮人 bbs

4)学校的就业网站

代码网站 www.pudn.com


本月任务 - 收藏于 2008-11-04

学习上:

师兄任务—眼动仪; linux基本命令; c语言;公务员考试; 英语口语(中午看老友记);

生活上:

研会报账; 实验室报账;照写真;参加干哥的婚礼;备课/代课;


这个月快结束了 - 收藏于 2008-10-21

忙碌了两个星期,这个月就快过去了。忙里抽闲,突然感觉失落了。

我努力做好自己的事情,还算开心,可生活还是少了曾经拥有的感觉。

作为一个独立的个体,每天努力着,争取着,不撒娇,不任性,不霸道。这样的日子不知道要过多久。

记得,大四的时候,北邮面试很受打击,他发短信给我 “你很优秀的啊”,这种鼓励的感觉谁还能给我呢?

今天下雨了,中午回来没伞,一个同学的男朋友拿伞过来接她,那种感觉好幸福。走在雨天,想起,曾经的曾经,也有一个人这么疼爱我的


Ubuntu 变成环境搭建(转) - 收藏于 2008-10-18

第一,按照下面网页的提示来添加新的软件源:

http://wiki.ubuntu.org.cn/%E6%B7%BB%E5%8A%A0%E5%85%B6%E4%BB%96%E8%BD%AF%E4%BB%B6%E5%BA%93

注意添加源的时候,可以使用ping来测试源的速度,尽量选择较快的源。

我的操作如下:

sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup     //将原文件备份一下sudo gedit /etc/apt/sources.list      //编辑添加新的源注意选择源要对应相应的版本,我的版本是6.06,所以选择下面一个源:deb http://ubuntu.cn99.com/ubuntu/ dapper main restricted universe multiversedeb http://ubuntu.cn99.com/ubuntu/ dapper-updates main restricted universe multiversedeb http://ubuntu.cn99.com/ubuntu/ dapper-security main restricted universe multiversedeb http://ubuntu.cn99.com/ubuntu/ dapper-backports main restricted universe multiversedeb http://ubuntu.cn99.com/ubuntu-cn/ dapper main restricted universe multiverse

保持文件并更新

sudo apt-get update

第二步,安装build-essential

sudo apt-get install build-essential
安装完成后写一个C语言程序testc.c测试一下。

代码:
#include<stdio.h>
int main()
{
     printf("Hello Ubuntu!\n");
     return 0;
}

代码:
$ gcc testc.c -o testc
$ ./testc



显示
Hello Ubuntu!
这样,C语言编译器就安装成功了;
第三步、安装GTK环境

安装GTK环境只要安装一个gnome-core-devel就可以了,里面集成了很多其他的包。除此之外还要转一些其他的东西,如libglib2.0-doc、libgtk2.0-doc帮助文档,devhelp帮助文档查看,glade-gnome、glade-common、glade-doc图形界面设计等。

代码:
sudo apt-get install gnome-core-devel
sudo apt-get install libglib2.0-doc libgtk2.0-doc
sudo apt-get install devhelp
sudo apt-get install glade-gnome glade-common glade-doc



安装完成后我们也同样做个测试程序

代码:
#include<gtk/gtk.h>
void hello(GtkWidget *widget,gpointer data)
{
g_print("Hello Ubuntu!\n");
}
gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data)
{
g_print ("delete event occurred\n");
return(TRUE);
}
void destroy(GtkWidget *widget,gpointer data)
{
gtk_main_quit();
}
int main( int argc, char *argv[] )
{
GtkWidget *window;
GtkWidget *button;
gtk_init (&argc, &argv);
window=gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",GTK_SIGNAL_FUNC (destroy), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
button = gtk_button_new_with_label ("Hello Ubuntu!");
gtk_signal_connect (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello), NULL);
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window));
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show (button);
gtk_widget_show (window);     /*显示一个窗口*/
gtk_main();     /*进入主循环*/
return(0);
}



用下面命令编译运行

代码:
$ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
$ ./gtktest


会显示一个带有一个按钮的窗口,点击按钮以后窗口关闭,命令行显示Hello Ubuntu!

第四步、安装Qt

QT我安装了
libqt4-core
qt4-designer
qt4-dev-tools
qt4-qtconfig
libqt4-dev
libqt4-gui libqt4-debug
libqt4-sql

这个我还没有怎么用过,在新立得里面搜索QT4,看着差不多的都装上了。

5安装一个IDE
Linux里面有个一个很适合初学者用的C C++的IDE 叫Geany,在菜单“应用程序”->“添加删除程序”,在里面program里找一下就可以了。


堆和栈的区别(转) - 收藏于 2008-10-18

一、预备知识—程序的内存分配
一个由C/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。
3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放
4、文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放
5、程序代码区—存放函数体的二进制代码。

二、例子程序
这是一个前辈写的,非常详细
//main.cpp
int a = 0; 全局初始化区
char *p1; 全局未初始化区
main()
{
int b; 栈
char s[] = "abc"; 栈
char *p2; 栈
char *p3 = "123456"; 123456在常量区,p3在栈上。
static int c =0; 全局(静态)初始化区
p1 = (char *)malloc(10);
p2 = (char *)malloc(20);
分配得来得10和20字节的区域就在堆区。
strcpy(p1, "123456"); 123456放在常量区,编译器可能会将它与p3所指向的"123456"优化成一个地方。
}
二、堆和栈的理论知识
2.1申请方式
stack:
由系统自动分配。 例如,声明在函数中一个局部变量 int b; 系统自动在栈中为b开辟空间
heap:
需要程序员自己申请,并指明大小,在c中malloc函数
如p1 = (char *)malloc(10);
在C++中用new运算符
如p2 = (char *)malloc(10);
但是注意p1、p2本身是在栈中的。
2.2
申请后系统的响应
栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。
堆:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,
会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样,代码中的delete语句才能正确的释放本内存空间。另外,由于找到的堆结点的大小不一定正好等于申请的大小,系统会自动的将多余的那部分重新放入空闲链表中。
2.3申请大小的限制
栈:在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在 WINDOWS下,栈的大小是2M(也有的说是1M,总之是一个编译时就确定的常数),如果申请的空间超过栈的剩余空间时,将提示overflow。因此,能从栈获得的空间较小。
堆:堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。
2.4申请效率的比较:
栈由系统自动分配,速度较快。但程序员是无法控制的。
堆是由new分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便.
另外,在WINDOWS下,最好的方式是用VirtualAlloc分配内存,他不是在堆,也不是在栈是直接在进程的地址空间中保留一快内存,虽然用起来最不方便。但是速度快,也最灵活
2.5堆和栈中的存储内容
栈: 在函数调用时,第一个进栈的是主函数中后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器中,参数是由右往左入栈的,然后是函数中的局部变量。注意静态变量是不入栈的。
当本次函数调用结束后,局部变量先出栈,然后是参数,最后栈顶指针指向最开始存的地址,也就是主函数中的下一条指令,程序由该点继续运行。
堆:一般是在堆的头部用一个字节存放堆的大小。堆中的具体内容有程序员安排。
2.6存取效率的比较

char s1[] = "aaaaaaaaaaaaaaa";
char *s2 = "bbbbbbbbbbbbbbbbb";
aaaaaaaaaaa是在运行时刻赋值的;
而bbbbbbbbbbb是在编译时就确定的;
但是,在以后的存取中,在栈上的数组比指针所指向的字符串(例如堆)快。
比如:
#include <stdio.h>
void main()
{
char a = 1;
char c[] = "1234567890";
char *p ="1234567890";
a = c[1];
a = p[1];
return;
}
对应的汇编代码
10: a = c[1];
00401067 8A 4D F1 mov cl,byte ptr [ebp-0Fh]
0040106A 88 4D FC mov byte ptr [ebp-4],cl
11: a = p[1];
0040106D 8B 55 EC mov edx,dword ptr [ebp-14h]
00401070 8A 42 01 mov al,byte ptr [edx+1]
00401073 88 45 FC mov byte ptr [ebp-4],al
第一种在读取时直接就把字符串中的元素读到寄存器cl中,而第二种则要先把指针值读到edx中,在根据edx读取字符,显然慢了。
?

2.7小结:
堆和栈的区别可以用如下的比喻来看出:
使用栈就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱、和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是自由度小。
使用堆就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由度大。

堆和栈的区别主要分:
操作系统方面的堆和栈,如上面说的那些,不多说了。
还有就是数据结构方面的堆和栈,这些都是不同的概念。这里的堆实际上指的就是(满足堆性质的)优先队列的一种数据结构,第1个元素有最高的优先权;栈实际上就是满足先进后出的性质的数学或数据结构。
虽然堆栈,堆栈的说法是连起来叫,但是他们还是有很大区别的,连着叫只是由于历史的原因。


代课心得 - 收藏于 2008-10-16

1)讲课的一个大原则,讲的一定要讲懂,如果觉得自己讲不懂千万不要讲,保证同学上课能听懂。

2)站着讲课,眼神要和大家多交流;表情语气要表现出自己的投入。

3)讲例题、习题时注意引导,而不是直接给出公示和结果,可以采用提问的方式。

4)注意总结归纳,重点突出。

代课一个月了,在自己闹情绪的同时,也发现自己很多的不足,不得不承认和改进的。

本来接受这个代课,就是想让自己收获经验和感受。要认真对待、要不断调整改进、提升自己。


华为面试总结 - 收藏于 2008-10-14

技术总结:

1)学习c/c++   、数据结构、数据库;

2)学习linux的基本操作;

思维总结:

1)讲话有条理,逻辑性强;

2)不能太出风头,根据公司招人性质调整;


华为面试 - 收藏于 2008-10-09

今天参加华为面试了,虽然一开始就抱着锻炼的心态,可最终还是有点难受。人家的问题,答不出来,很郁闷。

问题

1)内联函数怎么理解?

2)请用c++写出二分查找程序;

3)c与c++有什么区别;

4)c++中内存分配问题,数据库了解多少?

5) new 和delete 什么的。。。。。

6)多态有几种?重载算吗?


十一回来了 - 收藏于 2008-10-04

回来了,接下来将又是个忙碌的一个月。

1)师兄的任务

2)把中文文章修改好,投出去。还有老师的一篇审稿

3)接着代课、例会;月底去开会(好好准备,要英语)

4)研会纳新,组织活动


发烧了 - 收藏于 2008-09-27

这几天,发烧了好难受。这个温度实在不适合我身体中酶的正常工作。。。。。。

不过快放假了,可以回家了,还是挺高兴的。


电脑关机时间查询 - 收藏于 2008-09-25

开始——运行——eventvwr——单击“系统”——菜单栏:查看——筛选——事件ID输入:6005——出来的就是你开机的时间;

如果输入:6006,就是你关机的时间


主席团竞选 - 收藏于 2008-09-25

今天参加了主席团的竞选活动,好激动哦。 我的票数遥遥领先,居然是第一哦。

我的竞选很简短,也没什么内容。我觉得最重要的我赢在了气势、和ppt的简单漂亮上。

最烦的就是长篇大论,我选择简短、精悍的方式,不会惹大家烦。

心得:

自信和气势、简短精悍、重点突出。


The Green Mile - 收藏于 2008-09-21

看完它,心里突然很难受。跟着剧情一直希望约翰•考夫利(迈克•克拉克•邓肯 Michael Clarke Duncan 饰),发音像coffee,但拼音不同,能幸免那个可怕的“电椅”。但最后他希望自己能去天堂,离开世间,因为他的异能让他能看到世间太多的痛苦和ugly的人性。当他坐在“电椅”上时说“boss,i am afraid dark”,眼泪划过眼角,很不愿意看到那个“电椅”,本来想跳过去不看,逃避难受和不愿意看到的情节。

影片最后,保罗(汤姆•汉克斯 Tom Hanks 饰) 诠释了对死亡的看法,通常每个人都会scare死亡,但当你看到自己的心爱的人一个一个离开你死去的时候,你还会愿意像孤雁一样的活着吗?

喜欢这个影片,但不知道,看完后心里的那种难受什么时候能消除.......

难受约翰的离去,想到保罗说的,如果心爱的人都离开自己,怎么办。面临死亡时会什么样的心态?


我的天平 - 收藏于 2008-09-19

我的天平,怎么才能平衡?

亲情 爱情    自私 责任  

责任与良心 泯灭了我的平衡点。

一直要摇摆   要挣扎~~~  

到底谁是谁的过客,我不知道。爸妈和哥哥一定不是


系统内存 - 收藏于 2008-09-19

最近运行程序很慢,而且老是提示系统缓存不足。不知道怎么能解决,如果大家知道的话,给我留言哦~~谢谢啦

1)如何查看系统内存

    a)点开始---程序---附件---系统工具---系统信息
     b)点开始---运行,输入msinfo32,回车

    c)我的电脑—属性—常规—右下方

2)设置缓存

     我的电脑—属性—高级—。。。

3)缓存大小作用


第二个星期 师兄回复的总结 - 收藏于 2008-09-18

我大体浏览了一下你们的程序,video这个单词写错了。几个意见:

1、程序里面的介绍不够充分清楚,需要有详细的说明,例如:开始要说明程序是干什么的;里面设置的参数都是什么含义;在完成某个功能的程序段落上标注这个段落的功能;fitellipse.m这个程序,你就可以知道人家在编写的时候是怎么做的,当然咱们要一步步才能达到这个水平;

2、可以借助原来有的程序,但借助的时候一定要先分析好,是不是完全适合我们的应用,需要在什么地方进行改造。要善于改进已有的东西;

3、色度变换中,阈值的设定,要多想想办法,比方说,如果你能够根据灰度的不同找到大体瞳孔位置的灰度值,那么我想问题就简单很多的。怎么能够找到呢?可以想想。你们应该能够容易得出办法的。在遇到问题的时候,先多注意一下问题对象的特点分析。

4、我觉着你们还可以将采集到的人脸部分的图像再缩小范围,你们试一下。作为边缘的提取,可以考虑换个方法了。

就我们现有的东西来说,想达到我们想要的跟踪瞳孔中心的目的,是完全可以的了。下面我想有两个问题,一个是改进算法,一个是确定精度。可以同时进行的两个方面。从你们给我的这个视频来看,好像没有涉及到精度的考虑,不过没有关系。

1、从精度方面,可以还使用现有的这些方法,但是采集图像的时候要让眼睛确定注视在屏幕上的那个位置,刚开始并不一定很多位置,但是要有几个尺度,比方说,0.5度大体的位置,1度大体的位置等;通过对这样的视频进行分析后,看提取出来的瞳孔中心的坐标是否能够分清楚瞳孔的实际移动;

2、从算法方面,灰度变换的这个步骤需要改进,我的意思是也许需要别的方法来代替灰度变化,或者将灰度变换进行改进;边缘提取的改进,一定要实验仿真一下别的方法,这个可以从网上的相关文献中来得到。可以了解一下哪些方法有普适性、经典性,多尝试一些;中心定位,咱们用的方法首先要看懂,领会他的思想。然后再看是否有找到更好的,或者仿真更好的。

3、所有方法的改变、算法的仿真中都一定要非常明了,为什么要这么做,这么做的依据或者理由是什么。


第一星期师兄总结 - 收藏于 2008-09-14

1、工作一定要讨论着干,干着讨论着,互通有无,交流看法;这样不至于走重复路,也可以形成合力;另外,事情是大家的,也是自己的,要各自都有主动性,不能非得等到两个人都在的时候才能够做什么事情、不能等到非得讨论之后才做什么事情。你们都是非常优秀的学生,你们可以尽情的展开你们的思路来考虑这个问题。我和你们是一种讨论的关系,希望咱们后面也多交流些你们对于以后步骤或者进展的想法。

2、先把硬件位置固定,要确定在人距离电脑屏幕通常的位置的时候,我们的摄像机距离人的横纵向距离是多少,采集到的图像大体包含哪些部分,我们根据这个设定的环境和采集的图像,可以给出什么样对于头部移动范围的参数。当然,其中有些东西需要综合考虑。一句话,就是要给我们的硬件环境一个描述,也可能还有些上面我没有提到的参数;

3、固定好硬件后,采集图像、确定瞳孔中心。有了瞳孔中心才能够明确精度的问题。另外,我想如果只是进行精度比较的话,也可以通过大体的估算来进行。就是提取瞳孔在注视不同位置时的轮廓,然后比较其轮廓。轮廓区别越明显的,就表明精度要高。但是,我们最终要的是通过瞳孔的中心来定的,我想是这样的。这样,我们还需要讨论关于瞳孔中心提取方法精度的问题。

4、先用咱们那些已有的方法进行,有一个初步的结果后,再好好看一下我给你们发的文章,也许能够有些什么启示。一些东西可能不是直接给你具体信息的,需要你在脑子里面有一个解决问题的念想,然后其他东西都围绕这个问题来提取对这个问题有用的信息。我想是这样的。

5、就这一个周来说,做的工作不算多,但可能开学第一周,事情多,并且咱们刚开始合作。当然,事情就是需要积累的。也可能这五天什么都没有做成,但是第六天的继续积累就可以成了一个很好的事情,也可能需要七天的积累,呵呵。所以,在周日之前还有积累的时间,不要在周五的时候就说,自己没有做成什么。这一点算是附加的第五点吧。

快中秋了 - 收藏于 2008-09-12

快中秋了,从网上弄个漂亮的网页http://www.mumu-home.cn/zhongqiu/zhongqiu.htm?stra=%u91D1%u7389 ,不是自己做的,但确实同样的祝福和心声。很喜欢这个音乐和祝词,晚上一直在听。

坐在这里,看到聊天的字母上出现“玉,我其实挺喜欢你的”,“能把自己心底的话说出来,需要很大的勇气”,在认可与被否定的时候,听着这样的音乐,听到大一同学敲过来这样的话语,不得不承认我的感动,五年,让我感动的想哭。不是因为虚荣,是被认可的感动。感觉自己还是有人欣赏的暖心。


关于 matlab - 收藏于 2008-09-05

matlab是一种更适合矩阵运算的语言,如果能用矩阵的句子,一样不要用其他的,比如for循环什么的。

imresize 函数用于函数的缩放,

B = imresize(A,m,method)

   参数method用于指定插值的方法,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值),'bicubic'(双三次插值),默认为'nearest'。

B = imresize(A,m,method)返回原图A的m倍放大的图像(m小于1时效果是缩小)。

save函数格式:

savefile = 'test.mat';
       p = rand(1, 10);
       q = ones(10);
       save(savefile, 'p', 'q');

如果以后要用 load   test;

这些函数都是matlab自带的,help里写的很详细。


放松些 - 收藏于 2008-09-04

前几天,又做错事情了,任何时候,说话不能太不客气。不管对什么样的人,多么不舒服的人。

谨记!! 感动蔡的宽容和开导,我不会再惹麻烦了,也不会那么仇视和报复什么人了。学好的专业,养好自己的身体,调节好自己的身心,不能得理不饶人。


美丽心灵 (perfect) 无助 伟大的科学家 伟大 无助的妻子 - 收藏于 2008-09-02

喜欢这部电影的剧情,喜欢那个“两个脑袋,半颗心”的科学家纳什,更喜欢和钦佩他伟大的妻子艾丽莎。看了好多影评,就想把这部电影理解透彻,真的很喜欢。下面是我转载的一个影评,弥补我没有理解到的。

《美丽心灵》的编剧阿基瓦·戈尔兹曼对剧情作了精心安排,男主角纳斯的扮演者罗素·克洛的表演也出神入化。还有普林斯顿金秋美丽的校园,沉稳而空灵的 音乐,层叠相融的镜头,所有这些都使《美丽心灵》成为一部精致而美丽的电影,并一举夺得奥斯卡的四项大奖。然而真正令人印象深刻的是电影中纳斯那些奇妙的 思想、传奇的经历,而真正打动人心还有艾丽莎带来的动人的爱情,那是纳斯经历了一生传奇体会到的人性的美丽。
  阿基瓦·戈尔兹曼的父母都是纽约知名的心理医生,其本人对精神病患者有很好的理解。从这个意义上来说,戈尔兹曼是"纳斯"原型的第一个心理分析者,电 影和心理分析都在试图阐述一个故事,试图深入一个人的内心。戈尔兹曼的心理分析使纳斯的心灵在银幕上真实而深入地再现出来,而我们,则希望通过一些心理分 析的观点来帮助自己和观众更好地理解电影,更好地理解纳斯的心灵。

  一、 个性分析:思维与情感的冲突

 (一)思维与情感的不平衡
 《美丽心灵》展现了一个天才的思想。纳斯最初给观众的印象是在普林斯顿大学的迎新招待会上,在纳斯的眼中,阳光透过玻璃杯和柠檬的影像,飘浮在空中,然 后刚好与旁边一个学生的领带图案重合。纳斯微微一笑,对那个同学说:"知道吗?我可以从数学的角度来解释你的领带有多么难看。"这就是纳斯,西弗吉尼亚的 天才,在他的思想中,数学似乎可以解释一切。他观察生活中的一切,并用数学公式和数学推理来表达生活中的一切。如橄榄球比赛、鸽子的活动周期、一个女人在 追抢了她钱包的男人的表现等等,他那著名的博奕论的灵感就是来源于对酒吧里的男女社交活动的观察。透过写满公式的窗户,可以看到纳斯那若有所思的脸,在他 眼中的世界是充满数字、逻辑和推理的理性世界,并且在他所理解的理性世界中孜孜不倦地追求。
  与他在数理世界中的追求相反的是,他对现实生活的热情不大。影片的开始也通过一些片断表现了纳斯的个性。他生性孤僻,言语不多,拒绝社交,与其他同学的生活格格不入。无疑,纳斯的思想和情感的发展是很不平衡的。
  心理分析大师荣格在谈到心理类型时把思维、情感、感觉、直觉作为功能十字图的四极,其中心是自我。其中思维和情感相对,感觉和直觉相对。自我在这相对 的两维中都可能有偏差。喜好思维的人其自我的意志力便导向思维那一端,情感就只能放在下端而处于一种次要功能。当两者相对比较平衡时,自我仍能较好地理解 和控制情感,这时的情感是一种理性情感。但越习惯于思考的人,情感就容易越受到排斥。当思维占据了意识的全部时,情感就只能在无意识中起作用。情感由于受 到排斥而不能被意识所理解和控制,往往就会失去理性而成为非理性情感。因此纳斯并不害怕别人对他思维的攻击,因为那是他能够意识和控制的,但是他害怕来自 无意识的情感,那是他不能理解和不能控制的领域。在影片中,我们可以感受到纳斯那木讷的表情下隐藏的是他内心复杂的冲突,成功与失败、孤独与认可、爱与结 果……

  (二)三种非理性情感
  对失败的恐惧:他害怕失败,拒绝失败,并且不能接受失败。电影中有一个片断是他的竞争对手汉森向他挑战下棋比赛。汉森说:"怕了吧?"纳斯充满自信地 说:"怕了,非常害怕,但怕的人是你。"然而当纳斯输了棋之后,他愣住了,不能接受事实,并说:"你本不该赢的,我先走的棋,天衣无缝,这棋肯定有缺陷。 "纳斯紧张地站起来,慌乱中把棋盘也打翻了。后来,他与幻想中的室友谈起这件事时仍然耿耿于怀:"我输给了一个自以为是的家伙,我本来掌握了主动权的,不 知道怎么搞的就失了手,一定是他暗中搞的鬼。"在影片中,我们还可以看到许多纳斯在惧怕失败时的焦虑表现,在他没有写出得到认可的论文时,他感到深深的挫 败感,一头撞向写满复杂公式的玻璃窗上,痛苦地说:"我只能想到这么多了。"纳斯追求成功,追求荣誉,他的情感被这欲望深深地占据着。
  孤立的无奈:纳斯虽然有超人的智力,却是个孤独的才子。在刚进校园的时候,他独自走上楼梯,身后托着长长的影子,那是一个孤独的身影。电影中他有几次 谈到自己对别人的看法。他第一次与幻想中的查尔斯聊天的时候就说道:"我不太喜欢人们,人们也不太喜欢我。"他的导师海林格跟他说:"你的与世隔绝可能很 大程度影响了你在学术上的发展。人与人之间的交往会给我们带来新的视觉。"纳斯却说:"我不交朋友,因为我是只蠢驴。"他第一次和幻想中的帕切尔对话时也 说道:"我喜欢独来独往,更重要的是,人们不喜欢我。"事实上,从影片中可以看出普林斯顿的环境对纳斯还是相当宽容的。纳斯认为人们不喜欢他只是他内心中 "不喜欢别人"的一种投射。他的与世隔绝孤立了他与别人的情感联系,尤其是当环境中产生压力时,就很容易转化为与环境的敌视状态,从而加重他的焦虑感。但 是,他同时需要得到认可,当他看到餐厅中有许多教师把他们的钢笔放在一位老教授面前表示尊敬时,他的眼中充满了渴望。
  爱情的迷惘:可以说,纳斯是不重视人与人之间的情感的,他不仅不屑于同学间的交往,而且,起初他对男女间的感情也毫无兴趣。一个有趣的镜头是,在学校 的酒吧里,同学们怂恿纳斯去追一个女孩子。他来到女孩子的身边,冷静地看着她说:"我不知道如果我想和你上床应该说些什么,但是你能不能就当我已经说了那 些话?我的意思是说不如我们省掉那些开场白,直奔主题吧。"纳斯不相信成人间的浪漫,他于是对那个女孩做了个恶作剧。在这里,纳斯看到的只是男女交往的目 的和结果,把它看作是一个完全客观而毫无感情的过程。从这个细节我们也可以看到他的情感是受到理性意识拒绝的。
  从以上分析我们可以看出纳斯的个性与心理经验、思维与情感、意识与无意识之间是很不平衡的,他受到了非理性情感的困扰,这是促使他精神分裂的原因。那些被他排斥、不屑与抗拒的心理成份,那些未被意识到的情感只能通过不正常的方式表现出来。

  二、症状分析:无意识的侵入与自我的迷失

  (一)无意识的补偿功能
  纳斯的主要症状是在他的生活中出现了三个幻觉人物,他们影响、控制着纳斯的生活。这三个幻觉均来源于纳斯的无意识,是无意识补偿功能的病理性表现。
  无意识包括一切没有被意识到的心理经验,是构成我们人格的一部分。对于正常人而言,无意识往往通过与意识倾向相反的欲望或动力而作为意识的一种补充, 例如,日常生活中的梦便是无意识补偿功能的一种表现。心智发展不平衡的人们往往是意识与无意识不平衡的受害者,他们与自己的无意识斗争,无意识的正常的补 偿功能便只能以不正常的形式表现出来。
  无意识的内容主要包括个人无意识和集体无意识,集体无意识是心灵的最深层次。它包含了人类的许多共通的经验。在分析正常人或精神病人的梦、症状或幻觉 时,我们常常可以触及这集体无意识的原型。原型是集体无意识的主要内容。原型模式多种多样,几乎包括人类所有的心理经验,但无意识中最重要的原型主要有英 雄(性格中的理想自我)、阴影(性格的对立面)、阿尼玛或阿尼姆斯(异性形象)、智慧老人(激发智慧的直觉)、自性(性格的完整性)、圣婴(预示新生) 等。原型常常通过意象表达出来。

  (二)三种原型
  通过前面对于纳斯个性的分析,我们知道,在纳斯的心灵中,被意识忽略和拒绝的情感是处于无意识状态的,那些和意识冲突的无意识集中体现为三个方面的非理性情感,来源于三种原型,并由三个人物表现出来。当它们侵入纳斯的意识世界时就不受控制地实现它们的补偿功能。
  室友查尔斯--阴影
  据医生分析,纳斯可能在读研究生的时候就已经开始精神分裂了。他那时候就已经在幻想中构建了一个室友查尔斯。查尔斯的个性与纳斯完全相反,集中了纳斯 周围那些与纳斯格格不入的同学的特点。查尔斯个性中的许多方面正是被纳斯否定了的内容。他是纳斯的阴影。影片中查尔斯第一次出现时便是以浪子的形象出现 的。与当时纳斯拘谨的表情形成鲜明的对比。当纳斯谈到他神迷的数学时,查尔斯说:"数学不会带来真理,你知道为什么吗?因为他太闷了。"当纳斯谈到他还没 有写出论文时,查尔斯问他:"你多久没有约会了?"可与别的同学不同的是,纳斯得到了查尔斯的认可,查尔斯一直认为他是天才,并且一直鼓励他。内心孤独的 纳斯无疑是需要这种认可和鼓励的,因此查尔斯也是纳斯在孤独中需要得到认同的体现。
  国防部官员帕切尔--英雄原型
  每一个人都希望自己成功,每一种文化里面都有英雄意识,这是我们深层的心理需要。但对于纳斯而言,这种深层的心理需要是通过幻觉表现出来的。第一次出 现帕切尔幻觉时,纳斯已经获得了一定的名气,并且在五角大楼成功地破解了密码。但是对于一个不能接受失败的人来说,成功越大,就越害怕失败。他需要更多的 成就感来缓解他潜意识中害怕失败的焦虑。帕切尔令纳斯感到自己是一个英雄,因为他们的"项目"关系到15万人的生命。关系到国家的安危。参与这样的一项工 作是纳斯心灵深处的理想和欲望。
  小女孩玛休--阿尼玛原型
  小女孩玛休天真可爱,一直没有长大。他是纳斯内心中的女性经验。纳斯在酒吧中由于不尊重女性的感情而遭受了对方的一个耳光的片断表现出纳斯缺乏女性经 验,并且没有对女性情感给予应有的重视。他的女性经验很弱,也很不成熟。当他开始认识了他后来的妻子艾丽莎并为之深深吸引之后,他开始幻想到玛休,也就是 那一次,他与幻觉中的查尔斯谈起艾丽莎时,脸上洋溢出幸福的表情。他说:"他很迷人,我都不知所措。""我该娶她吗?"

  (三)精神的分裂
  纳斯那些膨胀的情感需要是无意识侵入意识并控制意识的缺口。被纳斯忽视了的这些无意识通过幻想表现出来之后,纳斯的人格就被逐渐分裂了。无意识的那些 原型已经形成一个个自我。他们相互独立,并常常取代纳斯头脑中的现实世界。对于精神病人而言,当这些分裂出来的自我与正常情况下的自我常常发生冲突时,原 本现实的自我会逐渐失去勇气和能力,以致于病人完全受到幻想世界的控制。影片中,当纳斯感到危险并表示不愿继续工作下去时,他受到了帕切尔的威胁,于是一 次又一次地妥协。对于他来说,那些幻觉都是真实的。当他被带入精神病院,并被告知他已经患病时,他不相信,并认为这是苏联人的阴谋。而当艾丽莎去探望他, 并且把他自己整理的那些资料原封不动地呈现在他们面前时,他仍然不能接受现实。但在内心里面,他是相信艾丽莎的。这时他的幻想世界开始受到了冲击,头脑中 的"真实"与现实中的真实的矛盾,令纳斯感到非常痛苦,他挖开了手腕去寻找那个可以放射号码的二极管。之后,他接受了电击治疗。罗森医生说:"现在他正经 历着精神分裂症者最难熬的阶段,那种已经不知道什么是真,什么是假的恐惧……"

  三、 康复之谜:理性情感与非理性情感的较量

  (一)真和假
  精神分裂往往被认为是一种很难康复的精神病。但纳斯却奇迹般地在没有坚持医学治疗的情况下康复了,这是爱的力量。艾丽莎的爱是纳斯的无意识与意识之间的桥梁,也是纳斯与现实接触的桥梁。
  要治愈一个已经分不清真和假的病人,最重要的是要让他的注意力集中到现实中来。纳斯的幸运在于他一直有艾丽莎爱的支持。纳斯一直能够感受到艾丽莎的 爱,并且相信艾丽莎的爱。当他在真与假中迷惘的时候,至少他知道艾丽莎的爱是真实的。正是这一点真实的情感让真实的世界重新进入纳斯的意识,使纳斯在真实 情感的引导下重新关注现实世界。
  影片中的高潮部分是纳斯的精神病复发并受到了帕切尔的生命威胁。艾丽莎打电话通知医生,而帕切尔命令纳斯:"你必须阻止她。"纳斯紧张妻子的安危,连 忙说:"别把她牵扯进来",当帕切尔拿出枪来对着艾丽莎时,纳斯冲过去把他的枪撞到地上。当艾丽莎冲出去后,纳斯同时受到了几个幻觉的压力,帕切尔用枪对 着他,铁着脸说:"干掉她!""要么她死,要么你死!"。查尔斯从楼上跑下来说:"哦,约翰,照他的话去做。"玛休拉着他的手,望着他,仿佛要他做个决 定。所有的声音和形象都在纳斯头脑中旋转,终于他飞奔出去挡住要离开的艾丽莎,激动地说:"玛休不可能是真实的,她从来就没有长大过。"那一刻,正是由于 他不愿伤害艾丽莎,正是由于他对艾丽莎的爱令他的理智战胜了幻觉,使他的自我在那一刻强大起来并控制了非理性的幻觉。

  (二)理性情感与非理性情感
  当纳斯真正被激发起来时,真正感受到了理性情感的力量时,他便逐渐能摆脱非理性情感的控制。因为这时,情感在纳斯的意识中不再是一片空白,它能够被意识所接受和理解,并成为自我的动力。
  影片中当艾丽莎要决定是否让纳斯重回医院时有一段感人的对话,艾丽莎颤抖地拿起纳斯的手贴在他的脸上,再贴在自己的脸上,"你知道什么是真的,这个, 这个",然后把纳斯的手放在自己的心口,"还有这个,他们都是真实的。"艾丽莎凝视着他的眼睛,把他的手放在他的心口,祈诚地说:"也许是这里,我相信有 些强大的力量是完全有可能的。"纳斯的眼泪终于伴随着呜咽声哗哗地流下来。
  艾丽莎相信纳斯的心能感觉到她真实的爱,她相信纳斯的真实感觉有足够大的力量让纳斯战胜幻觉,重拾迷失的自我。凭着这种信念,她帮助纳斯开始了与幻觉 斗争,与分裂的自我统合的艰难历程。艾丽莎鼓励纳斯重返校园工作,这样的环境有助于纳斯保持与现实的接触,并把他的注意力转移到日常事务中来。他直面幻 觉,每当帕切尔的幻觉再次出现时,他就大声地吼道:"你不是真的,你不是真的。"尽管纳斯不时地被视为怪人,但他自我的力量已经逐渐强大起来,并最终控制 了他的幻觉。
  几十年来与精神病的斗争让纳斯对人生有更深刻的体会。当他与前来探望他的诺贝尔基金会成员托马斯·金聊天的时候,他感叹道:"诗意般的美丽并不是人的 本性。"而他在诺贝尔奖颁奖典礼上更道出了肺腑之言:"我几乎不相信数据、逻辑、理性,但一直在追求,我问自己什么是逻辑,谁定义了理性,我的问题让我在 物理世界里旋转,我不经意有了发现,但在我的生命中最重要的是我拥有一生的爱,如果有什么理由的话,那就是因为你,我的爱,你是我所有的动力!"
  影片给了我们深刻的启示,现代社会是重视科技、理性、思维的世界,我们常常忽略了情感。而纳斯的人生经历却表明仅仅是思想的美丽,并非真正人性的美丽。只有美好的情感才能使思想与心灵相融合,才能建构统一而美丽的心灵。


考驾照 - 收藏于 2008-08-28

早就想记下来,拿到驾照都两个月了,今天终于想起来了。驾照考试分为科目一、二、三。

科目一:笔试,100分要得到90。直接看题目就可以,看两到三遍就可以了;

科目二:倒桩、侧身停车、90度怪弯、上坡起步。主要联系倒桩包括:直行、左右转弯、斜出库、移库。

移库口诀:左打死——红点对边干——右打死——左两圈回正——右打死(回头)——红点对边干——左打死——右两圈回正;

左一圈——红点对边干——右两圈——左一圈回正——右一圈——车尾过中杆10厘米——左两圈——右一圈(回正)——左一圈——斜出库;

科目三:路考,

起步:一踏——二挂——三方向——四喇叭——五手札;

靠边停车:轻点刹车——找好位置——踩离合 刹车——摘档松离合——拉起手札;

可能有的地方记得不清楚了,要多练习才好,不然怎么都是纸上谈兵,不实用。回去多练习吧


QQ群修改群名片及管理员添加新成员方法 - 收藏于 2008-08-27

修改群名片
方法1:自己修改
①单击右侧的第二个按钮“设置”,选择“修改自己的群名片”。

②修改群名片。

③单击“确定”

方法2:由管理员修改群名片
①管理员在要修改的图标上右击,选择“查看/修改成员群名片”

②修改群名片。

③单击“确定”。


管理员添加成员
①单击右侧的第二个按钮“设置”,选择“成员管理”。

②点击右下角的“设置成员”,在右侧的列表中,点开“我的好友”前的加号,从好友中选出要加入群的好友。

③点击“确定”完成。


理性 爱情 (似水年华 有感) - 收藏于 2008-08-22

有人说,爱情有时是对理性的背叛。可以理解,但可能受从小根深蒂固的思想的影响,还是给爱情,欲望加个区间。在这个区间之内,让理性驾驭爱情,可以问心无愧地面对每一个人,好好生活。

守住了欲望就安了心,感情从此干干净净.......


网络管理员考试纲要(3) - 收藏于 2008-08-21

考试科目2:网络系统的管理与维护 1.小型计算机局域网的构建  组网设计  组网技术选择  组网设备选择及部署  设备配置和管理  划分VLAN 2.综合布线  综合布线概念、组成、设计及依据的标准  综合布线基础环境准备  线缆及相关硬件的选择与安装  综合布线系统的性能指标及测试流程 3.小型计算机局域网服务器配置  IP地址、子网掩码的规划配置  DNS服务器的规划、设置和维护(Linux环境和Windows环境)  电子邮件服务器的规划、设置和维护(Linux环境和Windows环境)  FTP服务器的规划、设置和维护(Linux环境和Windows环境)  代理服务器的规划、设置和维护(Linux环境和Windows环境)  DHCP服务器的安装与设置 4.Web网站的建立、管理维护以及网页制作  Web网络的规划、建设、管理与维护  使用HTML和相关软件进行网页设计与制作(如选用Photoshop、Flash、 Fireworks或Dreamweaver等)  JSP、ASP、XML等动态网页编程技术的基本概念 5.网络系统的运行、维护和管理  使用网络管理软件对网络的配置、安全、性能、故障、计费进行监督和管理  简单网络故障的分析、定位、诊断和排除  小型网络的维护策略、计划和实施  数据备份和数据恢复  系统性能分析,系统潜在问题分析 6.防火墙技术  网络病毒防护策略  防火墙的配置策略  入侵处理策略  漏洞处理策略考试科目2:网络系统的管理与维护 1.小型计算机局域网的构建  组网设计  组网技术选择  组网设备选择及部署  设备配置和管理  划分VLAN 2.综合布线  综合布线概念、组成、设计及依据的标准  综合布线基础环境准备  线缆及相关硬件的选择与安装  综合布线系统的性能指标及测试流程 3.小型计算机局域网服务器配置  IP地址、子网掩码的规划配置  DNS服务器的规划、设置和维护(Linux环境和Windows环境)  电子邮件服务器的规划、设置和维护(Linux环境和Windows环境)  FTP服务器的规划、设置和维护(Linux环境和Windows环境)  代理服务器的规划、设置和维护(Linux环境和Windows环境)  DHCP服务器的安装与设置 4.Web网站的建立、管理维护以及网页制作  Web网络的规划、建设、管理与维护  使用HTML和相关软件进行网页设计与制作(如选用Photoshop、Flash、Fireworks或Dreamweaver等)  JSP、ASP、XML等动态网页编程技术的基本概念 5.网络系统的运行、维护和管理  使用网络管理软件对网络的配置、安全、性能、故障、计费进行监督和管理  简单网络故障的分析、定位、诊断和排除  小型网络的维护策略、计划和实施  数据备份和数据恢复  系统性能分析,系统潜在问题分析 6.防火墙技术  网络病毒防护策略  防火墙的配置策略  入侵处理策略  漏洞处理策

网络管理员考试纲要(2) - 收藏于 2008-08-21

二、考试范围(欢迎访问软件考试网www.hbsoft.net)
 考试科目1:计算机与网络基础知识(欢迎访问软件考试网www.hbsoft.net)
 1.计算机科学基础(欢迎访问软件考试网www.hbsoft.net)
 1.1 数制及其转换(欢迎访问软件考试网www.hbsoft.net)
  二进制、十进制和十六进制等常用数制及其相互转换(欢迎访问软件考试网www.hbsoft.net)
 1.2 数据的表示(欢迎访问软件考试网www.hbsoft.net)
  数的表示(原码、反码、补码表示,整数和实数的机内表示)(欢迎访问软件考试网www.hbsoft.net)
  非数值表示(字符和汉字表示、声音表示、图像表示)(欢迎访问软件考试网www.hbsoft.net)
  校验方法和校验码(奇偶校验)(欢迎访问软件考试网www.hbsoft.net)
 1.3 算术运算(欢迎访问软件考试网www.hbsoft.net)
  计算机中的二进制数运算方法(欢迎访问软件考试网www.hbsoft.net)
 2.计算机系统基础知识(欢迎访问软件考试网www.hbsoft.net)
 2.1 硬件基础知识(欢迎访问软件考试网www.hbsoft.net)
  计算机系统的结构和工作原理(欢迎访问软件考试网www.hbsoft.net)
  CPU的结构、特征、分类及发展(欢迎访问软件考试网www.hbsoft.net)
  存储器的结构、特征分类及发展(欢迎访问软件考试网www.hbsoft.net)
  I/O接口、I/O设备和通信设备(欢迎访问软件考试网www.hbsoft.net)
 2.2 软件基础知识(欢迎访问软件考试网www.hbsoft.net)
  操作系统的类型、配置(欢迎访问软件考试网www.hbsoft.net)
  操作系统的功能(欢迎访问软件考试网www.hbsoft.net)
  数据库系统基础知识(欢迎访问软件考试网www.hbsoft.net)
  应用软件的安装与配置(欢迎访问软件考试网www.hbsoft.net)
  网络管理软件的功能(欢迎访问软件考试网www.hbsoft.net)
 3.计算机网络基础知识(欢迎访问软件考试网www.hbsoft.net)
 3.1 数据通信基础知识(欢迎访问软件考试网www.hbsoft.net)
  数据信号、信道的基本概念(欢迎访问软件考试网www.hbsoft.net)
  数据通信模型的构成(欢迎访问软件考试网www.hbsoft.net)
  数据传输基础知识(欢迎访问软件考试网www.hbsoft.net)
  数据编码的分类和基本原理(欢迎访问软件考试网www.hbsoft.net)
  多路复用技术的分类、基本原理和应用领域(欢迎访问软件考试网www.hbsoft.net)
  数据交换技术的分类、基本原理和性能特点(欢迎访问软件考试网www.hbsoft.net)
 3.2 计算机网络基础知识(欢迎访问软件考试网www.hbsoft.net)
  计算机网络的概念、分类和构成(欢迎访问软件考试网www.hbsoft.net)
  协议的概念,开放系统互连参考模型的结构及各层的功能(欢迎访问软件考试网www.hbsoft.net)
  TCP/IP协议的概念及IP数据报的格式、IP地址、子网掩码和域名(欢迎访问软件考试网www.hbsoft.net)
 3.3 局域网技术基础(欢迎访问软件考试网www.hbsoft.net)
  IEEE802参考模型(欢迎访问软件考试网www.hbsoft.net)
  局域网拓扑结构(欢迎访问软件考试网www.hbsoft.net)
  局域网媒体访问控制技术CSMA/CD(欢迎访问软件考试网www.hbsoft.net)
  以太网的发展历程(欢迎访问软件考试网www.hbsoft.net)
  以太网的分类及各种以太网的性能特点(欢迎访问软件考试网www.hbsoft.net)
  以太网技术基础、IEEE802.3帧结构、以太网跨距(欢迎访问软件考试网www.hbsoft.net)
  交换型以太网、全双工以太网的基本原理和特点(欢迎访问软件考试网www.hbsoft.net)
 4.计算机网络应用基础知识(欢迎访问软件考试网www.hbsoft.net)
 4.1 因特网应用基础知识(欢迎访问软件考试网www.hbsoft.net)
  因特网的概念、起源和提供的基本服务,以及我国的因特网现状(欢迎访问软件考试网www.hbsoft.net)
  通过PSTN、ISDN、ADSL和局域网拉入因特网的基本原理和特性(欢迎访问软件考试网www.hbsoft.net)
  WWW、主页、超级链接、HTML的概念及应用(欢迎访问软件考试网www.hbsoft.net)
  电子邮件、FTP、Telnet、BBS、ICQ、网络新闻组、网络传真、网络视频会议、电子商务和电子政务的概念及应用
 4.2 网络操作系统基础知识(欢迎访问软件考试网www.hbsoft.net)
  网络操作系统的概念、结构和特点(欢迎访问软件考试网www.hbsoft.net)
  Windows操作系统的安装、配置和基本应用(欢迎访问软件考试网www.hbsoft.net)
  Linux操作系统的安装、配置和基本应用、KDE环境和Linux操作命令(欢迎访问软件考试网www.hbsoft.net)
 4.3 应用服务器基础知识(欢迎访问软件考试网www.hbsoft.net)
  DNS服务的基本原理(欢迎访问软件考试网www.hbsoft.net)
  WWW服务的基本原理(欢迎访问软件考试网www.hbsoft.net)
  FTP服务的基本原理(欢迎访问软件考试网www.hbsoft.net)
  电子邮件服务的基本原理(欢迎访问软件考试网www.hbsoft.net)
 5.网络管理基础知识(欢迎访问软件考试网www.hbsoft.net)
 5.1 网络管理基本概念(欢迎访问软件考试网www.hbsoft.net)
  网络管理的概念、功能、网络管理标准和网络管理模型(欢迎访问软件考试网www.hbsoft.net)
  简单网络管理协议SNMP概述、管理信息库、SNMP操作(欢迎访问软件考试网www.hbsoft.net)
 5.2 网络管理系统基础知识(欢迎访问软件考试网www.hbsoft.net)
  网络管理系统概念(欢迎访问软件考试网www.hbsoft.net)
  Sniffer的功能和特点(欢迎访问软件考试网www.hbsoft.net)
 6.网络安全基础知识(欢迎访问软件考试网www.hbsoft.net)
  可信计算机系统评估准则(欢迎访问软件考试网www.hbsoft.net)
  网络安全漏洞(欢迎访问软件考试网www.hbsoft.net)
  网络安全控制技术(欢迎访问软件考试网www.hbsoft.net)
  防火墙基本原理(欢迎访问软件考试网www.hbsoft.net)
  入侵检测系统的功能和基本原理(欢迎访问软件考试网www.hbsoft.net)
  漏洞扫描系统的功能和基本原理(欢迎访问软件考试网www.hbsoft.net)
  网络防病毒系统的功能和基本原理(欢迎访问软件考试网www.hbsoft.net)
  CA中心建设的概念和基本原理(欢迎访问软件考试网www.hbsoft.net)
  容灾系统(欢迎访问软件考试网www.hbsoft.net)
  应急处理常用方法和技术(欢迎访问软件考试网www.hbsoft.net)
 7.标准化基础知识(欢迎访问软件考试网www.hbsoft.net)
  标准化机构(欢迎访问软件考试网www.hbsoft.net)
  常用的国内外IT标准(欢迎访问软件考试网www.hbsoft.net)
 8.信息化基本知识(欢迎访问软件考试网www.hbsoft.net)
  信息化概念(欢迎访问软件考试网www.hbsoft.net)
  有关的法律、法规(欢迎访问软件考试网www.hbsoft.net)
 9.与网络系统有关的新技术、新方法的概念(欢迎访问软件考试网www.hbsoft.net)
  无线个人网、无线局域网、无线城域网和无线广域网的标准(欢迎访问软件考试网www.hbsoft.net)
  无线局域网的拓扑结构、媒体访问控制方式和扩频技术,IEEE802.11(欢迎访问软件考试网www.hbsoft.net)
  新一代网络管理系统(欢迎访问软件考试网www.hbsoft.net)
  新一代网络技术(Ipv6,3G)(欢迎访问软件考试网www.hbsoft.net)
  网络(欢迎访问软件考试网www.hbsoft.net)
 10.专业英语(欢迎访问软件考试网www.hbsoft.net)
  掌握计算机技术的基本英文词汇(欢迎访问软件考试网www.hbsoft.net)
  能正确阅读和理解本领域的简单英文资料(欢

网络管理员考试内容纲要(1) - 收藏于 2008-08-21

一、考试说明(欢迎访问软件考试网www.hbsoft.net)
 1.考试要求:(欢迎访问软件考试网www.hbsoft.net)
  (1)熟悉计算机系统基础知识;(欢迎访问软件考试网www.hbsoft.net)
  (2)熟悉数据通信的基本知识;(欢迎访问软件考试网www.hbsoft.net)
  (3)熟悉计算机网络的体系结构,了解TCP/IP协议的基本知识;(欢迎访问软件考试网www.hbsoft.net)
  (4)熟悉常用计算机网络互连设备和通信传输介质的性能、特点;(欢迎访问软件考试网www.hbsoft.net)
  (5)熟悉Internet的基本知识和应用;(欢迎访问软件考试网www.hbsoft.net)
  (6)掌握局域网体系结构和局域网技术基础;(欢迎访问软件考试网www.hbsoft.net)
  (7)掌握以太网的性能、特点、组网方法及简单管理;(欢迎访问软件考试网www.hbsoft.net)
  (8)掌握主流操作系统的安装、设置和管理方法;(欢迎访问软件考试网www.hbsoft.net)
  (9)熟悉DNS、WWW、MAIL、FTP和代理服务器的配置和管理;(欢迎访问软件考试网www.hbsoft.net)
  (10)掌握Web网站的建立、管理与维护方法,熟悉网页制作技术;(欢迎访问软件考试网www.hbsoft.net)
  (11)熟悉综合布线基础技术;(欢迎访问软件考试网www.hbsoft.net)
  (12)熟悉计算机网络安全的相关问题和防范技术;(欢迎访问软件考试网www.hbsoft.net)
  (13)了解计算机网络有关的法律、法规,以及信息化的基础知识;(欢迎访问软件考试网www.hbsoft.net)
  (14)了解计算机网络的新技术、新发展;(欢迎访问软件考试网www.hbsoft.net)
  (15)正确阅读和理解本领域的简单英文资料。(欢迎访问软件考试网www.hbsoft.net)
 2.本考试的合格人员能够进行小型网络系统的设计、构建、安装和调试,中小型局域网的运行维护和日常管理,根据应用部门的需求,构建和维护Web网站,进行网页制作,具有助理工程师(或技术员)的实际工作能力和业务水平。
 3.本考试设置的科目包括:(欢迎访问软件考试网www.hbsoft.net)
  (1)计算机与网络基础知识,考试时间为150分钟,笔试;(欢迎访问软件考试网www.hbsoft.net)
  (2)网络系统的管理与维护,考试时间为150分钟,笔试。(

卡巴终身制 不用到处找key了(转) - 收藏于 2008-08-21

方法很简单,首先把卡巴关闭(要右键单击任务栏中卡巴的符号选退出哦~),手动删除以下三条注册表:

HKEY_LOCAL_MACHINE\SOFTWARE\KasperskyLab\LicStorage
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\SPC\Certificates

或者直接运行这个附件,记住,不是把它当作key来添加,是直接运行!然后打开卡巴,选择30天试用,然后激活就可以了,等到一个月后过期的时候再运行这个就可以了(当然,不到一个月也可以使用,反正一句话,这个方法门槛非常低,几乎什么样的情况都能用!),这样反复下去不就可以永久免费了吗?我已经用了一年多了……不用去找key了!因为你领取的每个Key都是卡巴公司给你一个人的!你的免费专属Key!

顺便解释一下,有人说不用运行这个文件也能30天试用啊,为什么一定要这个文件呢? 是这样的,30天试用过了以后任凭你怎么想办法(除了重装系统)都不能再试用了,当然你愿意重装系统我也没话说,而这个文件就是删除Key文件在注册表中的内容,这样的话卡巴斯基就以为你是第一次试用,当然能用啦!哈哈!

如果大家不信的话可以试试看,今天用这种方法30天试用一下,到明天,肯定剩余时间就只有29天了,然后用这个方法重新激活一下,看看卡巴的剩余时间是不是又变成了30天了?嘿嘿!

我之所以想把这个方法公开是因为看到坛子上还有贴吧上太多朋友到处寻找甚至是跪求key,而这种好东西我当然不能一个人享受啦!嫌一个月激活一次麻烦的朋友可以用作备用,嫌到处找key麻烦的朋友可以一直使用下去。

其实,找来可以升级到多少多少年的key也不比这种方法好到哪里去,也许辛辛苦苦找来的key不到半个月就被封了,但是这种方法,最大的好处就是稳定!因为卡巴永远会在激活里放一个试用30天,也永远不会封掉自己给出去的试用key!呵呵!这个方法无须重启电脑,只需要关卡巴,再开卡巴,绝对方便!

经过我的验证,6系列和7系列都适用!我可是试验过很多版本的哦!包括KAV/KIS 6.0.0.305   KAV/KIS 6.0.0.307 KAV/KIS 6.0.2.614   KAV/KIS 6.0.2.621 KAV/KIS 7.0.0.123 KAV/KIS 7.0.0.125,这应该可以下结论试用于6/7系列了吧!当然其他系列有待更多的卡fan验证!

此法与论坛中的来自深度论坛的方法大同小异,但是本人的注册表文件可以看作是它的绿色版,绝没有副作用,更不用说弹出广告了,大家可以放心使用!

另外,论坛中一个标题和本文标题差不多的号称全自动的方法请大家不要相信,我特意试过了,就是深度的方法,会弹广告的,谢谢大家支持!

请大家注意,如果一次没有成功的人,极有可能是激活服务器的响应问题,请大家把服务器设置为中国,多激活几次肯定能成功,中国的服务器,我认为最好的是http://dnl-cn2.kaspersky-labs.com,如果还是不能成功,强烈建议使用官方页面下载的官方版本!本来我想收集一下跟贴中成功的朋友留的言,但是实在回复太多,工程太浩大,希望大家见谅!再次重申,6.0和7.0都适用!

p.s.昨天帮一个朋友激活卡巴的时候,用以上方法无论如何也激活不了,后来注意到时间竟然被改到了2083年,改回时间后,正常激活,更新病毒库并杀毒,发现是两个病毒改了时间,所以各位激活不了的朋友,看看是不是时间被改了,病毒也是无法激活的一种可能,如果一切正常,此方法肯定能激活!


电脑设置你和你爱人的名字 - 收藏于 2008-08-20

点开始----设置----控制面板----区域和语言选项----自定义----时间----时间格式
(T)里的H:mm:ss前加两个tt
也就是ttH:mm:ss
(如果你想让你爱人的名字在时间的后面显示,你可以把tt打在后面 )
也就是H:mm:sstt


然后,在AM符号(M):里打上你或你爱人的名字。
在PM符号(P):里也打上你或你爱人的名字。

(或者,fancy建议可以上面打自己的名字,下面打你爱人的名字啊~这样就上午是你,下午是你爱 人咯~)
最后,点应用/确定就OK了!


键盘操作 - 收藏于 2008-08-06

如果鼠标坏了,可以用键盘控制鼠标,只是有一点慢,shift+alt+numlock   唤出鼠标键,(2 4 6 8)即可以控制鼠标。

windows+d 回到桌面状态;

windows+e 打开“我的电脑”;

windows+r 打开“运行”; 输入“iexplore.exe”或是 直接输入网址,就可以打开浏览器;

键盘的一些快捷键,用起来很酷!!


好烦 - 收藏于 2008-06-24

今天从早上到晚上,都好烦,日子这样过,有再好的心态都要疯了,有点失去理智的乱发火。

师姐的事情,她明明在欺压我,我要老老实实的把作者改过来,再和她道歉。

还有其他的,我一边被人欺压着,一边欺压着身边的人出气,委屈亲近的人了.......。我还不知道道歉,世界

不公平,似乎整体又公平着。 珍惜忍受我脾气的人,他们才最亲近,最疼我。


《燃情岁月》的感动与不解 - 收藏于 2008-06-19

一口气看完这个温情又野性的电影,影片讲述了父子间,兄弟间,情人间的无语言语的感情。记下让我感动的镜头。

1)漂泊多年的崔斯汀回到家中,绅士稳重的父亲已不幸中风,行动不便,表达不畅,然而上校坚强地生活着,依然充满着对儿子的爱,对这个家深深的眷恋。看到崔斯汀,父亲吃力的写下:“am happy”!

2)父亲为保卫家园,保护儿子,以半身不遂之躯,痛下杀手;而崔斯汀为救父亲,舍命挡在敌人的枪口面前;(这个镜头最让我感动)眼看着崔斯汀就要倒在枪口之下,佛莱德的枪声响起,他完成了对敌人的致命一击。短短的瞬间,一连串的变故,亲情在烟火中碰撞,佛莱德得到了父亲的原谅,兄弟俩终于紧紧拥抱在一起,尽释前嫌,崔斯汀也完成了对弟弟山莫感情的救赎。

影片的不解:

1)崔斯汀战争回来,带着未能救出山莫的愧疚,可为什么回来就能和苏珊那样呢,苏珊如果真爱山莫,为什么那么快就和崔斯汀?

2)崔斯汀和苏珊结婚,又为什么要离开?真的是不能释怀山莫吗,去漂泊,去放荡,为什么给苏珊写“我们完了,你另嫁吧”,还要和其他女人呢?

整部电影看到了父子情,兄弟情,却一直没有找到我理想的爱情,真的感情,要身体和心里 完全专一,崔斯汀真的喜欢苏珊吗?苏珊真的喜欢山莫吗?

喜欢里面的两个男人老威廉 和 崔斯汀,很男人。


研一快结束了 - 收藏于 2008-06-18

研究生一年级快结束了,这几天一直无意识的问自己,这一年收获了什么?实验室很安静,我来这些写下自己的收获和心得。

这一年对我来说是种煎熬和挣扎,有时很累,累的不行了,对自己笑一下,想,感谢老天让我有这样的经历,让我这个不懂事的人,体验到生活和现实。

学习上,不再是本科时,天天自习,应付考试,学会了自己解决问题,自己想办法,不再厌烦看英文文献,不再害怕写长长的仿真程序。可惜的是,没有学好vc,一些更应用的软件。

生活上,这一年,我才知道,生活原来也可以这么过的。本科时,每个星期蔡都会带我出去逛街,一起出去吃东西。学期刚开始,我试图自己出去照着这样的模式生活,可一个人好孤单,好难受。慢慢的我不再出去逛街,可以不逛街的,可以在实验室看电影,在宿舍睡大觉。以前我觉得,看电影,睡大觉是不能理解的事情。是种无聊的表现。其实不是,电影很好,感受里面的主人公的感觉。现在无聊时 ,我会看电影,不是放纵自己,而是感染自己。

思想上,不再那么依赖,本科时,我从来没自己完成过一件事情,手机充值,都要等蔡过来陪我过去充,水果,牛奶都要蔡从南区拎过来,一个人,北门对我来说,是段很远的距离,生病了,还要去南区的诊所打针,自己不愿意走,自己不愿意去看医生,从来没自己去过大润发。现在我可以独立了,自己去自己想去的任何地方,做任何事情。

感情上,感情没有想象种的那么完美和甜蜜,可能真的没有我想象种的爱情和恋人,这些应该是一个人成长必须经历的吧。经历这些,我坚信自己具有了接受未来任何不如意的心态。感谢经历给我的心境。能接受的要接受,不能接受的也要接受。不管好的坏的,经历了,思考了,就会有收获。 但我仍然坚信,存在爱情的感觉。我会幸福的。

处事上,我意识到自己不能太任性,攻击和暴力永远不是解决问题最好的办法,生气的一方,首先就把自己放到了弱者那一边。如果生气了,先不要说话,等不在那么生气了,再开始交流,能不计较就不计较,其实除了自己的事情,其他的事情和我没有任何关系,又计较什么呢。真实的面对自己的问题,然后努力解决,才是自己的人生。《贱女孩》里说过,“说别人胖,自己不会变瘦”,所以努力对待自己的问题,去解决。活的真实,身边有的人幸福,有的人不幸福,但都不是我的生活和人生,和我没有关系。

实验室,我的实验室,是个温和的集体,这点我很喜欢,有时候温和的有点低沉,呵呵,关键看自己,总的来说,我还是挺喜欢这样的学习生活环境。

对了,在这里写下自己看过的,喜欢的电影影评。

《闻香识女人》,一个退役的老军官,在活与死的挣扎过程,他失明了,没有了以前的威望,觉得他的存在是在“浪费粮食”,想完成自己的愿望之后自杀,真的要死的时候,他知道其实自己不想死的,他让那个年轻人,给他一个活下去的理由,“寂寞时,你就跳探戈,跳探戈时,你很帅”。最终老军官,没有死。认识到自己生活的意义和自己的价值了,他不再低迷,可以认真的生活了。人的生活,都要有个支点的,给自己个理由,认真生活。

《海上钢琴师》我能理解他为什么不下船,电影放在战争的背景下。1900一生都在船上度过,让他下船接受陆地,对他来说真的很难。他说“钢琴上有88个琴键,有始有终,他能控制有限的键,来奏出无限的音乐”,但对陆地,是个未知的,无限的世界,他控制不了。未知的世界,我感觉自己就生活在一个未知的世界,但来要努力向前走,未知能创造奇迹,也能让我堕落。有的时候想,未知好也不好,每个人都会害怕未知的future,所以需要努力,让自己不要害怕。

《PS:I love you》看着看着会哭,可能这部电影只适合我这样的女生看,holly经历了greey带给他的幸福,也承受了留给他的痛苦和孤单。可能这也是让任性的holly成熟自立起来的经历。但这个经历和过程真的好难,好痛苦,好残忍。看到holly哭着对她的妈妈说"我好孤单!!"时,我哭了,因为有的时候,我也好想找个人哭着说“我好孤单!”,朋友和家人能给的安慰,但那种孤单真的没人能帮holly来承受。珍惜自己的恋人,不要让自己的生活有太多的遗憾。ps: i love you !!


lena 图像 (转) - 收藏于 2008-06-16

前几天听师姐的博士答辩,一个教授很不解的问到“为什么你们做图像的都用那个戴草帽的女的做测试图片?”,我把这篇文章转载,以后可以像教授们解释:

数字图像处理学习与研究中颇为知名Lenna图源于花花公子杂志,这期花花公子因此成了历史上最畅销的一期。

在1973年6月,美国南加州大学的信号图像处理研究所的一个助理教授和他的一个研究生在实验室里匆匆忙忙打算为了一个学术会议找一张数字照片,而他们对于手头现有成堆"无聊"照片感到厌烦。事实上他们需要的是一个人脸照片,同时又能让人眼前一亮。恰恰就在这时,一人夹着新出的Playboy走了进来.他们这些研究人员拿过杂志,顺手将中间的裸体插页的上1/3(lenna的图片只抠到了原图的肩膀部分)撕了下来,嘿嘿,正好可以卷在Muirhead扫描仪的复印鼓上...于是这幅512X512的经典就诞生了。从那以后,该照片就被广泛应用。漂亮的花花公子女郎Lenna在图像处理领域名声大噪,以至于她本人于1997年被邀请为嘉宾,参加了数字图像科学技术50周年学术会议。在该会议上,Lenna成了最受欢迎的人之一,她做了关于自己介绍的简要发言,并被无数的fans索取签名。

       该图原本是刊于1972年11月号花花公子杂志上的一张祼体插图照片的一部分,这期花花公子也是历年来最畅销的一期,销量达7,161,561本。图中人为瑞典模特儿 Lena Soderberg (ne Sjööblom)。现在被广泛使用的英文化名字"Lenna"最初是由花花公子杂志发表此照片时命名的,以方便英语读者近似正确地读出瑞典语中"Lena"的发音。Lena Soderberg 女士现在仍住在她的家乡瑞典,拥有一个有三个孩子的家庭,并且在国家酒类专卖局工作。在1988年的时候,她接受了瑞典一些计算机相关出版社的访问,她对于她的照片有这样的奇遇感到非常的惊奇与兴奋。这是她首次得知她的照片被应用在计算机行业。
       Lenna图在图像压缩算法是最广泛应用的标准测试图——她的脸部与裸露的肩部已经变成了事实上的工业标准。然而,这张图像的使用也引起了一些争议。一些人担心它的色情内容;《花花公子》杂志曾经威胁要起诉对 Lenna图未经授权的使用。不过这家杂志已经放弃了这种威胁,取而代之的是鼓励因为公众利益使用Lenna图。
      IEEE图像处理汇刊(IEEE Transactions on Image Processing)的主编, 戴维.C.蒙森(David C.Munson), 在1996年1月引用了两个原因来说明Lenna图在科研领域流行的原因:
1.该图适度的混合了细节、平滑区域、阴影和纹理,从而能很好的测试各种图像处理算法。
2.Lenna是个美女,对于图象处理界的研究者(大部分都是男性)来说,美女图可以有效的吸引他们来做研究


word 简单用法 (写文章会用得着) - 收藏于 2008-06-12

把文字替换成图片
首先把图片复制到 剪贴板中,然后打开替换对话框,在“查找内容”框中输入将被替换的文字,接着在 “替换为”框中输入“^c”(注意:输入的一定要是半角字符,c要小写),单击替换 即可。说明:“^c”的意思就是指令Word XP以剪贴板中的内容替换“查找内容”框中的内 容。按此原理,“^c”还可替换包括回车符在内的任何可以复制到剪贴板的可视内容,甚至Excel表格。

三招去掉页眉那条横线
1、在页眉中,在“格式”-“边框和底纹”中设置表格和边框为“无”,应用于“段落”
2、同上,只是把边框的颜色设置为白色(其实并没有删的,只是看起来没有了,呵呵)
3、在“样式”栏里把“页眉”换成“正文”就行了——强烈推荐!
会多出--(两个横杠) 这是用户不愿看到的,又要多出一步作删除--
解决方法:替换时在前引号前加上一个空格 问题就解决了

插入日期和时间的快捷键
Alt+Shift+D:当前日期
Alt+Shift+T:当前时间

批量转换全角字符为半角字符
首先全选。然后“格式”→“更改大小写”,在对话框中先选中“半角”,确定即可


Word启动参数简介
单击“开始→运行”命令,然后输入Word所在路径及参数确定即可运行,如“C:\ PROGRAM FILES \MICROSOFT Office \Office 10\ WINWord.EXE /n”,这些常用的参数及功能如下:
/n:启动Word后不创建新的文件。
/a:禁止插件和通用模板自动启动。
/m:禁止自动执行的宏。
/w:启动一个新Word进程,独立与正在运行的Word进程。
/c:启动Word,然后调用Netmeeting。
/q:不显示启动画面。
另外对于常需用到的参数,我们可以在Word的快捷图标上单击鼠标右键,然后在“目标”项的路径后加上该参数即可。

快速打开最后编辑的文档
如果你希望Word在启动时能自动打开你上次编辑的文档,可以用简单的宏命令来完成:
(1)选择“工具”菜单中的“宏”菜单项,单击“录制新宏”命令打开“录制宏”对话框;
(2)在“录制宏”对话框中,在“宏名”输入框中输入“autoexec”,点击“确定”;
(3)从菜单中选择“文件”,点击最近打开文件列表中显示的第一个文件名;并“停止录制”。保存退出。下次再启动Word时,它会自动加载你工作的最后一个文档。

格式刷的使用
1、设定好文本1的格式。
2、将光标放在文本1处。
3、单击格式刷按钮。
4、选定其它文字(文本2),则文本2的格式与文本1 一样。
若在第3步中单击改为双击,则格式刷可无限次使用,直到再次单击格式刷(或按Esc键)为止。

删除网上下载资料的换行符(象这种“↓”)
在查找框内输入半角^l(是英文状态下的小写L不是数字1),在替换框内不输任何内容,单击全部替换,就把大量换行符删掉啦。

选择性删除文件菜单下的最近使用的文件快捷方式。
工具→选项→常规把“列出最近使用文件数改为0”可以全部删除,若要选择性删除,可以按ctrl+Alt+ -三个键,光标变为一个粗减号后,单击文件,再单击要删除的快捷方式就行了。

建立一个矩形选区:
一般的选区建立可用鼠标左键,或用shift键配合pgup、pgdn、home、end、箭头等功能键,当复制一个规则的矩形区域时,可先按住Alt键,然后用鼠标左键来选。我一般用此来删除段首多余的成块的空格。大家试一试*^_^*

将字体快速改为上标或下标的方法:
本人在一次无意间发现了这个方法,选定你要下标的字,然后在英文状态下按住Ctrl,再按一下BASKSPACE旁的+/=的键,就可以了。上标只要在按Ctrl的同时也按住Shift,大家可以试试。

让Word表格快速一分为二
将光标定位在分开的表格某个位置上,按下“Ctrl+Shift+Enter”组合键。这时你就会发现表格中间自动插入一个空行,这样就达到了将一个表格一分为二的目的。

用Word来拆字
首先点击“工具/自定义/命令/分解图片”,按住鼠标左键把它拖放到工具栏任意位置即可;然后点击“插入/图片/艺术字”,例如输入空心字“心”,选择该“心”字剪切,在选择性粘贴中选图片(Windows图元文件),选中该字,点击工具栏中的“分解图片”按钮,这样可以选择“心”中的任意笔画进行一笔一画的拆分了。

快速删除段前段后的任意多个空格
选定这些段段落,单击居中按钮,然后再单击原来的那种对齐方式按钮(如果原来是居中对齐的,先单击其它对齐方式按钮,再单击居中按钮就行了),是不是这些空格全不见了?


只要打开WORD新建一个空文档的时候,出现的不是空的文档,而是我以前打的一份文档
首先:将资源管理器设置为显示所有文件和文件夹;
然后:
C:\Documents and Settings\Administrator\Application Data\Microsoft\Templates文件夹下将所有Normal.doc文件删掉;
然后:OK(XP系统)

快速输入平方的方法
先输入2,然后选重后,按ctrl加shift加+就可以了.

WORD中表格的选择性录入
1.设置好表格,选定表格-视图-工具-窗体-插入下拉型窗体域
2.输入数据,完成
3.点击锁按钮,保护,输入完后再点击进行其它的输入.

标点符号的全角/半的转换用:Ctrl+.
数字字母的全角/半的转换用:Shift+空格

轻松了解工具栏按钮的作用
按下“shift+F1”键,鼠标指针旁多了一个“?”号,想知道哪个按钮
的作用,就用鼠标单击哪个。

要经常在文档中插入自己公司的信息
公司名称
公司住址
联系电话
联系人姓名
QQ号码
可以先选定这些内容,再单击工具→自动更正→在替换框中输入标记名称(如“公司信息”)→添加→确定,以后凡是在文档中要用到这个信息的地方键入“公司信息”(不要引号)这几个字后就自动替换成:
公司名称
公司住址
联系电话
联系人姓名
QQ号码
说明:有些输入法不支持这个功能,键入标记名称后要按一下空格才行。

快速换页的方法
双击某页的右下脚,光标即可定位在那里,然后按回车直到换页。ctrl+回车点插入按纽,分隔符,选中分页符,然后确认就OK了 !!!

表格的简单调整宽度
鼠标放在表格的右边框上带鼠标变成可以调整大小的时候
双击
根据表格内的内容调节表格大小

代替金山词霸
点工具——语言——翻译,在右边出现的搜索框中输入要查的单词,回车就可以翻译了。可以选择英语翻成中文或中文翻成英语。
第一次使用可能要安装。

[Alt]键实现标尺的精确定位
如果你经常使用水平标尺来精确定位标签、页边框、首字缩进及页面对象的位置,那么你点击标尺设置页边框或标签时,您只可以将其设置为1字符或2字符,但不能设为1.5字符!要想设置更为精确的度量单位(例如百分之几字符),在按住[Alt]键的同时,点击并移动标尺或边框,此时标尺将用数字精确显示出当前的位置为百分之几字符位置。

用“记事本”去除格式
网页上COPY下来的东西往往都是有网格的,如果直接粘贴在WORD中会杂乱无章。先粘贴到记事本当中,再粘贴到WORD中,就可以去除网格等格式,再全选选择清除格式,居中再取消居中即可取消所有格式。可以直接在WORD中进行:(菜单)编辑/选择性粘贴……/无格式文本/确定。这样省事多了。

快速将文档转换成图片
先把欲想转换的文档保存退出.如:保存在桌面
然后新建一个文件.把想转换的文档(鼠标左建按住该文档不放)直接施放在页面上

恢复office的默认设置
比如不小心把word设置乱了(如删了菜单栏等等).
查找normal.dot直接删除.
下一次启动word会恢复默认值.

让Word只粘贴网页中的文字而自动去除图形和版式
方法一、选中需要的网页内容并按“Ctrl+C”键复制,打开Word,选择菜单“编辑”→“选择性粘贴”,在出现的对话框中选择“无格式文本”。
方法二、选中需要的网页内容并按“Ctrl+C” 键复制,打开记事本等纯文本编辑工具,按“Ctrl+V”键将内容粘贴到这些文本编辑器中,然后再复制并粘贴到Word中。

ctrl+alt+f可以输入脚注
这个对于经常写论文的朋友应该有点帮助。

将阿拉伯数字转换成中文数字或序号
1、先输入阿拉伯数字(如1234),全选中,单击“插入/数字/数字类型(壹、贰……)/确定”,即变为大写数字(如壹仟贰佰叁拾肆),会计朋友非常适用。
2、其他像一千二百三十四,甲、乙……,子、丑……,罗马数字等的转换,可参考上法。

Word中的常用快捷键吧
“字体”对话框     Ctrl+D
选择框式工具栏中的“字体”框     Ctrl+Shift+F
加粗 Ctrl+B
倾斜 Ctrl+I
下划线Ctrl+U
“上标”效果     Ctrl+Shift+=
“下标”效果     Ctrl+=
“关闭”命令     Ctrl+W
Word快捷键一览表
序号       快捷键CTRL+       代表意义
1…………Z…………撤消
2…………A…………全选
3…………X…………剪切
4…………C…………复制
5…………V…………粘贴
6…………S…………保存
7…………B…………加粗
8………… Q…………左对齐
9…………E…………据中
10…………R…………右对齐
11…………]…………放大
22…………[…………缩小
12…………N…………新建文档
13…………I…………字体倾斜
14…………W…………退出
15…………P…………打印
16…………U…………下划线
17…………O…………打开
18…………k…………插入超级连接
19…………F…………查找
20…………H…………替换
21…………G…………定位
23…Ctrl+Alt+L……带括号的编号
24…Ctrl+Alt+.________…
25…Alt+数字………区位码输入
26…Ctrl+Alt+Del………关机
27…Ctrl+Alt+Shift+?……¿
28…Ctrl+Alt+Shift+!……¡
29…Alt+Ctrl+E……………?
30…Alt+Ctrl+R……………®
31…Alt+Ctrl+T……………™
32…Alt+Ctrl+Ctrl…………©
33……Ctrl+D……………格式字体
34……Ctrl+Shift+= ………上标
35……Ctrl+=………………下标
36……Ctrl+Shift+>……放大字体
37……Ctrl+Shift+< ……缩小字体
38……Alt+Ctrl+I………打印预览
39……Alt+Ctrl+O………大刚示图
40……Alt+Ctrl+P………普通示图
41……Alt+Ctrl+M………插入批注
42……Alt+菜单上字母………打开该菜单

无级微调
打开“绘图”工具栏-点开下拉菜单-绘图网格...-将水平间距和垂直间距调到最小0.01-确定,这样你就可以无级微调

把work设置成在线打开,但不能修改‘只读’怎搞啊?
文件夹共享为只读

在WORD中输入三个等号然后回车。。。出来的是双横线哦。。。
同样的方法也可以做出波浪线单横线哦!~~~~~ ,
###为中间粗上下细的三线, ***为点线, ~~~为波浪线, ---为单线

输入拼音字母的音调怎么输入
用智能ABC,键入v9,然后自己挑选吧!

页码设置
1、打开页眉/页脚视图,点击插入页码按钮,将页码插入(此时所有的页码是连续编号的) 2、切换到页面视图,在需要从1计数的页面上插入连续分节符(插入--分隔符--分节符--连续) 3、再次换到页眉/页脚视图,点击设置页码格式按钮,将页码编排-起始页码设置为1

把Excel中的表格以图片形式复制到Word中
除了用抓图软件和全屏拷贝法外还有更简单的呢
先选定区域,按住Shift健点击"编辑"会出现"复制图片""粘贴图片",复制了后,在Word中选"粘贴图片"就可像处理图片一样处理Excel表格了!

Ctrl+鼠标滑轮(左右键中间的那个轮子)可以迅速调节显示比例的大小(100%)。向上滑扩大,向下滑缩小。


快速调整页眉横线长度
在word插入页眉后,会自动在此位置添加一条长横线。如果需要调整此线的长度及其水平位置,可以首先激活页眉,选择格式下的段落命令,调整一下左右缩进的字符值,确定可以看到最终效果了!

快速浏览图片
在WORD2003中,如果插入的图片过多,会影响打开和翻滚的速度。其实,我们可以通过改变图片的显示方式改变浏览速度。
工具--选项--视图--图片框
这样,先显示的是图片框,需要看的时候,停留,即可显示!

WORD 中如何输入分数
1、打开word,点击工具菜单栏的“插入”,在下拉菜单中点“域”。
2、在打开的复选框中的类别栏中“选等式公式”,域名中“EQ”。然后点击“选项”,在出现的菜单选项中选“F(,)”,接着点击“添加到域”并“确定”。
3、然后在输入F(,)数字,如要输入23 只需在F(,)输入F(2,3)就能得到2/3

怎样使WORD 文档只有第一页没有页眉,页脚
答:页面设置-页眉和页脚,选首页不同,然后选中首页页眉中的小箭头,格式-边框和底纹,选择无,这个只要在“视图”——“页眉页脚”,其中的页面设置里,不要整个文档,就可以看到一个“同前”的标志,不选,前后的设置情况就不同了

Word中双击鼠标的妙用
在Word的程序窗口中不同位置上双击,可以快速实现一些常用功能,我们归纳如下:
在标题栏或垂直滚动条下端空白区域双击,则窗口在最大化和原来状态之间切换;
将鼠标在标题栏最左边WORD文档标记符号处双击,则直接退出WORD(如果没有保存,会弹出提示保存对话框);
将鼠标移到垂直滚动条的上端成双向拖拉箭头时双击,则快速将文档窗口一分为二;
将鼠标移到两个窗口的分界线处成双向拖拉箭头时双击,则取消对窗口的拆分;
在状态栏上的“修订”上双击,则启动“修订”功能,并打开“审阅”工具栏。再次双击,则关闭该功能,但“审阅”工具栏不会被关闭;
在状态栏上的“改写”上双击,则转换为“改写”形式(再次“双击”,转换为“插入”形式);
如果文档添加了页眉(页脚),将鼠标移到页眉(页脚)处双击,则激活页眉(页脚)进入编辑状态,对其进行编辑;在空白文档处双击,则启动“即点即输”功能;
在标尺前端空白处双击,则启动“页面设置”对话框。


在word编辑中经常要调整字休大小来满足编辑要求
选中要修改的文字,按ctrl+]或ctrl+[来改变字体的大小!
这个方法可以微量改字体大小~



文本框的线条
1. 制作好文档后,通过“视图→页眉页脚”命令,调出“页眉页脚”工具栏,单击其中的“显示→隐藏文档正文文字”按钮,隐藏正文部分的文字内容。
2. 选择“插入”菜单中的“文本框”命令,在页眉的下方插入一个空文本框。
3. 在文本框内加入作为水印的文字、图形等内容,右击图片,选择快捷菜单中的“设置图片格式”命令,在对话框中“图片”选项卡下,通过“图像控制”改变图像的颜色,对比度和亮度,并手动调整图片的大小。   
4. 通过“设置文本框格式”命令,把文本框的线条色改为无线条色。
5. 单击“页眉页脚”工具栏的“关闭”按钮,退出“页眉页脚”编辑。

每页添加水印的操作
1. 制作好文档后,通过“视图→页眉页脚”命令,调出“页眉页脚”工具栏,单击其中的“显示→隐藏文档正文文字”按钮,隐藏正文部分的文字内容。
2. 选择“插入”菜单中的“文本框”命令,在页眉的下方插入一个空文本框。
3. 在文本框内加入作为水印的文字、图形等内容,右击图片,选择快捷菜单中的“设置图片格式”命令,在对话框中“图片”选项卡下,通过“图像控制”改变图像的颜色,对比度和亮度,并手动调整图片的大小。   
4. 通过“设置文本框格式”命令,把文本框的线条色改为无线条色。
5. 单击“页眉页脚”工具栏的“关闭”按钮,退出“页眉页脚”编辑。
6. 完成上述步骤的操作,水印制作得以完成,这样就为每一页都添加了相同的水印。

让Word页面快速一分为二
将光标定位在想分开的位置上,按下“Ctrl+Shift+Enter”组合键。


使Word中的字体变清晰
Word文档中使用 “仿宋” 字体很淡,可按以下方法使字体更清晰:
右击桌面,点 “属性”,点 “外观”,点 “效果”,选中“使用下列方式使屏幕字体的边缘平滑”选“清晰”,确定。

Word双面打印技巧
   我们平时用电脑的时候可能都少不了打印材料,Word是我们平常用的最多的Office软件之一。有时我们要用Word打印许多页的文档,出于格式要求或为了节省纸张,会进行双面打印。

  我们一般常用的操作方法是:选择“打印”对话框底部的“打印”下拉列表框中的“打印奇数页”或“打印偶数页”,来实现双面打印。我们设定为先打印奇数页。等奇数页打印结束后,将原先已打印好的纸反过来重新放到打印机上,选择该设置的“打印偶数页”,单击“确定”按钮。这样通过两次打印命令就可以实现双面打印。

  我们也可以利用另一种更灵活的双面打印方式:打开“打印”对话框,选中“人工双面打印”,确定后就会出现一个“请将出纸器中已打印好的一面的纸取出并将其放回到送纸器中,然后‘确定’按键,继续打印”的对话框并开始打印奇数页,打完后将原先已打印好的纸反过来重新放到打印机上,然后按下该对话框的“确定”按键,Word就会自动再打印偶数页,这样只用一次打印命令就可以了。

  两种方法对比,后者较前者更为方便。


关于bar - 收藏于 2008-06-11

想画个条形直方图,比较图像的性能psnr and mse

a=[ 1 2 3 4];

b=[2 3 4 5];

c=[a' b'];

bar(c);

如果想标注出其数值,在figure对话框下,Isert->Textbox 就可以了。


matlab 程序运行时间测试函数 - 收藏于 2008-06-08

1. profile
例子:
    profile on
        plot(magic(35))
        profile viewer
        profsave(profile('info'),'profile_results')

        profile on -history
        plot(magic(4));
        p = profile('info');
        for n = 1:size(p.FunctionHistory,2)
            if p.FunctionHistory(1,n)==0
                str = 'entering function: ';
            else
                str = ' exiting function: ';
            end
            disp([str p.FunctionTable(p.FunctionHistory(2,n)).FunctionName]);
        end


2. tic,toc

TIC, operation, TOC

3. cputime
t=cputime; your_operation; cputime-t

4. clock,etime
t0 = clock;
operation
etime(clock,t0)

老婆的魔鬼定律 - 收藏于 2008-06-03

我不是在教你怎样才能做个好老婆,我只是在说要在婚姻的围城里做个幸福的好女人。

(之所以称这些为“魔鬼定律”,是因为即便大家都想得明白这个理,做起来也是不容易。)


魔鬼定律之一:丈夫常常会像个孩子。再优秀的男人在婚后仍然需要你的调教,才能从优秀的男人过渡成为合格的丈夫。时间或许比“八年抗战”还要长,其中的智慧与耐心说难很难,难得很多对夫妻没熬到火候就已经各奔东西;说容易很容易,容易得转眼就海阔天空恩义绵长。当然,要想成为一名好“老师”,自己没点真本事是不行的,跟不上时代的脉搏迟早会被“学生”炒了鱿鱼。


魔鬼定律之二:审美疲劳是婚姻里的正常状态。婚姻里的爱情不可能永保新鲜,不必要求你的丈夫在数年或数十年以后,还能对你激情满怀。一样东西看久了都会生厌,更何况我们还都有这样那样的小毛病。婚姻里的爱情应该像花瓶里的那束干花,不再新鲜水嫩,却依旧骄傲地保持着原先的风骨,而且永远都不会再腐败。审美疲劳本身并不可怕,可怕的是一颗日渐麻木冷漠的心。


魔鬼定律之三:忍耐是有限度的。不要泛滥你的母爱,更不要把丈夫爱成了你的儿子。把纵容当宽容,把忍耐当忍气吞声,甚至把爱到尊严沦丧当成是爱的最高境界,诸如此类的傻事恋爱的时候干过或许正常,可结了婚后还接着干,后果就会很严重。你也会在痛苦的犹豫不决里心伤不愈,从此失去对爱情和男人,婚姻和生活的所有信心。婚姻比爱情更要具备原则性,同样神圣不可侵犯。


魔鬼定律之四:不要养成“黄脸婆”的性格。贾宝玉曾经不解,为什么女儿家一嫁了人就从“珍珠”变成“鱼眼睛”了?其中理由除了某些丈夫有眼无珠以外,更多的还是那颗“珍珠”的自甘堕落。不得不承认,在一些婚后的审美疲劳里,也免不了有的是被倒了胃口的。会生活,善持家,少抱怨,多运动,懂得把最美丽温柔的一面留给丈夫的女人,不打,天下也都无敌手。


魔鬼定律之五:能和你结婚过日子的男人都是基本上的好男人。既然你选择了嫁给身边的这个男人,你就应该始终相信你爱的就是这世间最好的,而且这种信念应该随着你们婚姻的延续而越来越坚定。要信任你的丈夫,要给他更自由广阔的天空,爱是你手中的线,连着他身上的衣。不要轻易打击他的自尊,你要自信成他的左膀右臂,一个真正能够顶天立地的男子汉,也值得我们去崇拜。


魔鬼定律之六:做好随时转身的准备。我们没有办法要求丈夫会一直爱我们,并且善待我们的婚姻,正如我们也有可能再爱上别人,或者中途放弃婚姻。婚姻应该是实现自我价值的地方,而不是失去自我的场所,保持精神和经济上独立的能力是婚前婚后女人的必修课。实际上婚后的女人更应该懂得这种积极生存的法则,拥有跌倒了再爬起来的勇气。我们的年华总盛开,任何时候都不晚。


人与人 - 收藏于 2008-05-30

每个人的精神都需要一个支点,我却感觉每天在漂泊,无助。。。。。。


总结电脑问题 - 收藏于 2008-05-27

电脑弄好了,把遇到的问题和解决方法,写在这里,供更多朋友参考。

1)启动远程桌面,请同学帮忙操作操作自己的桌面

我的电脑—属性—远程—远程桌面(打钩)—选择远程用户—添加—高级—立即查找—

administer(选中)—一路确定—ok

2)操作同学的桌面

运行—mstsc—连接—对方开机密码

3)文件夹与播放器关联

a) 右键—打开方式—始终这种方式打开(打钩)

b) 工具—文件夹选项—文件类型 找到要打开的文件类型....

c) 如果b)还不行的话,更改---找到播放器的位置

一直有个问题,我每次装matlab都装不全,以前没有在意,好多次了,一直没有解决,

自己可能真的欠缺解决问题的能力


问题 - 收藏于 2008-05-26

电脑老是出问题,有点烦,matlab装不上,是最让我心烦的,到底什么原因呢? 上次重装也是这样,可能我缺少解决这些问题的能力,努力! 耐心些~

烦了,想到这里来写写。


参考文献 - 收藏于 2008-05-17

【M】 是书 【J】期刊 【C】会议

IEEE的期刊 主要有letter magazine   transaction journal


不知道是第几次心痛 - 收藏于 2008-05-17

抢救人员发现她的时候,她已经死了,是被垮塌下来的房子压死的,透过那一堆废墟的的间隙可以看到她死亡的姿势,双膝跪着,整个上身向前匍匐着,双手扶着地支撑着身体,有些象古人行跪拜礼,只是身体被压的变形了,看上去有些诡异。救援人员从废墟的空隙伸手进去确认了她已经死亡,又在冲着废墟喊了几声,用撬棍在在砖头上敲了几下,里面没有任何回应。当人群走到下一个建筑物的时候,救援队长忽然往回跑,边跑变喊“快过来”。他又来到她的尸体前,费力的把手伸进女人的身子底下摸索,他摸了几下高声的喊“有人,有个孩子 ,还活着”。          

     经过一番努力,人们小心的把挡着她的废墟清理开,在她的身体下面躺着她的孩子,包在一个红色带黄花的小被子里,大概有3、4个月大,因为母亲身体庇护着,他毫发未伤,抱出来的时候,他还安静的睡着,他熟睡的脸让所有在场的人感到很温暖。          

     随行的医生过来解开被子准备做些检查,发现有一部手机塞在被子里,医生下意识的看了下手机屏幕,发现屏幕上是一条已经写好的短信“亲爱的宝贝,如果你能活着,一定要记住我爱你”,看惯了生离死别的医生却在这一刻落泪了,手机传递着,每个看到短信的人都落泪了

52175df90105c9ad.jpg

这几天天天看新闻,没有学习的心思,地震了,面对天灾,我们是这么的无助,看着遇难者的尸体,看着

幸存者撕心裂肺的哭泣,看着解放军全力以赴的解救,看着温总理痛苦苍老的脸庞,我。。。。。。。


加性噪声 乘性噪声( 摘抄 ) - 收藏于 2008-03-04

噪声:不期望接收到的信号(相对于期望接收到的信号而言)
---------------------
白噪声(白杂讯),是一种功率频谱密度为常数的随机信号或随机过程,是功率谱密度在整个频域内均匀分布的噪声。此信号在各个频段上的功率是一样的,由于白光是由各种频率(颜色)的单色光混合而成,因而此信号的这种具有平坦功率谱的性质被称作是“白色的”,此信号也因此被称作白噪声。相对的,其他不具有这一性质的噪声信号(功率谱密度不均匀分布)被称为有色噪声。
---------------------
一个噪声过程所具有的频谱宽度远远大于它所作用系统的带宽。理想的白噪声具有无限带宽,因而其能量是无限大,这在现实世界是不可能存在的。实际上,我们常常将有限带宽的平整讯号视为白噪音,因为这让我们在数学分析上更加方便。然而,白噪声在数学处理上比较方便,因此它是系统分析的有力工具。一般,只要一个噪声过程所具有的频谱宽度远远大于它所作用系统的带宽,并且在该带宽中其频谱密度基本上可以作为常数来考虑,就可以把它作为白噪声来处理。例如,热噪声和散弹噪声在很宽的频率范围内具有均匀的功率谱密度,通常可以认为它们是白噪声。
-------------------------------
加性噪声一般指热噪声、散弹噪声等,它们与信号的关系是相加,不管有没有信号,噪声都存在。
而乘性噪声一般由信道不理想引起,它们与信号的关系是相乘,信号在它在,信号不在他也就不在。
一般通信中把加性随机性看成是系统的背景噪声;
而乘性随机性看成系统的时变性(如衰落或者多普勒)或者非线性所造成的

开学了 - 收藏于 2008-02-23

对新的生活充满了憧憬,可这几天又觉得压力不小,实验室,文章,还有程序,都让我应接不暇。

还有个人问题,不免会心烦。不知道怎么发泄了,就来这里写下。

http://www.codeguru.com/cpp/g-m/bitmap/article.php/c1691/#more

vc知识库

csdn

PS:同学推荐的几个网站


下载ipp - 收藏于 2007-12-19

--> Software Products Performance Tools for Software Developers select windows professional   go

Download File(s):
https://registrationcenter.intel.com/EvalCenter/EvalForm.asp ...

填写邮箱,记下上面的代码

Package for Intel(R) 64 w_ipp_em64t_p_5.2.063.exe


经验之谈 - 收藏于 2007-12-14

多看文章就好了

电子学报 电子与信息学报 计算机学报

ieee transaction

早发文章   真的要认真准备


dx6vcl - 收藏于 2007-12-14

F8进入安全模式

找到dx6vcl   xtemp   rsvp删除 重新启动即可

师兄说 自己看看 假期找个公司能实习   

专业相关公司 : 阿尔卡特朗讯 华为


会议 - 收藏于 2007-12-05

conference

通信 方向 icc

信号方向 icassp   icip icme    iscas


c++ builder - 收藏于 2007-11-19

先建一个工程,在建一个窗体,一个工程下,可以由多个窗体

运行 F9

生成工程


有感 - 收藏于 2007-11-09

今天听学术交流会,感觉好多人,过得很随欲的生活,没有思想和主见,我自认为自己有思想,但我知道自己和他们一样,没有效果

有所为,有所不为,我不缺乏思想,我缺乏的自制和鞭策,我知道自己的不足,知道自己应该做什么,看看以后找工作的要求,时刻给自己个压力。

处事方式确实要改变,我也正在有意识的改变,为自己活。


写些东西 - 收藏于 2007-11-01

有种感觉,人在变化,不是有意识的,使环境使然,我应该做到理智的处理,不能太相信某个人,不然失望的是自己,我喜欢大部分南方人和西方人的处事方式,人有的时候不能老是做好人,要有自己的生活和安排。


应该看清写问题 - 收藏于 2007-10-21

在实验室,人有点多,每个人的关系也有点微妙,应该看清些东西和人,好好把握自己的方向。

不能只凭感觉走,都这么大了,怎么能再一直感性下去呢,应该努力做到应该做的事情,而不是喜欢做什么就做什么,应该自制些,找到和自己有利的人发展,没用的人一律君子之交待遇。


心情有点压抑 - 收藏于 2007-10-13

生活平淡的都没有了记忆,回忆一下开学这一个月,脑子里居然是空白的,没有高兴的事,也没有不高兴的事,这样的日子实在让我不够愉快。感觉时间又过得很快。

我突然想到三年我可能就会保持这个状态,没有好朋友,我不愿意这样过我的研究生生活........什么都是靠自己争取的,我想自己真得不应该生活在回忆里,自己应该积极主动地生活才对得起自己,对得起生活。


开学了 - 收藏于 2007-10-07

马上又开学了,还不是很适应,生活还没有形成规律吧

一直在想两个人的故事,俞伯牙和钟子期的故事,羡慕他们的境界,我也想找到这样的感觉,

好想小孩,伟子。


msconfig - 收藏于 2007-10-04

开机运行程序选择   msconfig

找mac地址 cmd

注册列表   regedit


今天十一 - 收藏于 2007-10-01

今天十一,一晚上实验室就我一个人,感觉好又不好,一会儿又要自己走回去了,最害怕这么晚自己走在路上,黑黑的,心里又害怕又孤单。实验室好静,想想那么黑的路要走,我都不想走了。


YIQ - 收藏于 2007-09-27

YIQ色彩空间

YIQ色彩空间通常被北美的电视系统所采用,属于NTSC(National Television Standards Committee)系统。这里Y不是指黄色,而是指颜色的明视度(Luminance),即亮度(Brightness)。其实Y就是图像的灰度值(Gray value),而I和Q则是指色调(Chrominance),即描述图像色彩及饱和度的属性。在YIQ系统中,Y分量代表图像的亮度信息,I、Q两个分量则携带颜色信息,I分量代表从橙色到青色的颜色变化,而Q分量则代表从紫色到黄绿色的颜色变化。将彩色图像从RGB转换到YIQ色彩空间,可以把彩色图像中的亮度信息与色度信息分开,分别独立进行处理。


右键单击出现AUTO字样 病毒 - 收藏于 2007-09-26

一天都在弄电脑,怎么这么容易就中毒呢,我还没用你呢,真是的

rose病毒
症状:双击盘符无法打开,只能通过右键打开;几天之后删除系统

NTDETECT.COM文件,系统无法启动。
传播途径:U盘、MP3、移动硬盘
检查方法:将文件夹选项--查看中的"隐藏受保护的操作系统文件(推荐)"前的勾

去掉,并在此项下面选择“显示所有文件和文件夹”。然后打开任一盘符,如果发现

有“rose.exe”和“AUTORUN.INF”文件,则已中毒。
解决方法:
手动:
结束rose.exe进程,然后删掉以下文件:各个盘符下的autorun.inf和rose.exe文件(

包括自己的U盘等),c:\windows\system32\run.reg,c:\windows\system32

\systemdate.ini(里面记录着删掉NTDETECT.COM文件的时间),d:\systemfile.com文

件;最后将注册表中

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下面

的dll键值删掉,然后重启即可


这是中了rose.exe和autorun.inf病毒。清除方法如下
1.点击windows桌面左下角的开始,选择:运行  

  2.在对话框中输入“regedit”  

  3.在注册表编辑器中展开
hkey_current_user\software\microsoft\windows\currentversion\explorer\mountpoints2  

  4.将子目录下所有带加号“+”的项依次展开,如有一项叫做“command”的,这就

个就是关键了!将之前的“autorun”的目录整个删除。  

  关于SMSS.EXE病毒:
  查系统进程,多了一个smss.exe,是在C:winsows下的,而它正常的正确的位置应该

是c:windows\system32,而用msconfig.exe查看,发现自动开机运行的程序中多了两个

C:winsows\smss.exe的启动项. 这个木马网上有很多删除方法,可以从安全模式启动,

然后删C:windowssmss.exe,再将注册表中所有关于smss.exe的选项全部删除一般就

可以了。  


今天中秋 - 收藏于 2007-09-25

没有什么特别的,白天和晚上都是课,这样也好让我的日子充实些,发现自己好多了,不是很计较什么东西了。其实本来就应该这样的,蔡在校内上搜女生交朋友,我看到了,也知道,更多理解他吧。

我想如果是以前我会很难接受,现在我居然能心平气和,一方面他不希望我在这边接触别人,另一方面他在那边也在找, 我能理解他,所以不介意。宿舍人说我脾气好,其实我最害怕的是惹别人生气,中秋节快乐 everyone~

研究生生活开始了,觉得好多了,没那么多担心,努力学习这三年,自己总能独立,人格和物质上都能独立的。也需要自己有这样的能力。

中秋节快乐!


手机工作频段 - 收藏于 2007-09-23

GSM系列主要有GSM900、DCS1800和PCS1900三部分,三者之间的主要区别是工

作频段的差异


我国主要的两大GSM系统为GSM 900及GSM1800,由于采用了不同频率,因此适

用的手机也不尽相同。不过目前大多数手机基本是双频手机,可以自由在这两个频

段间切换。欧洲国家普遍采用的系统除GSM900和GSM1800另外加入了GSM1900,

手机为三频手机。在我国随着手机市场的进一步发展,现也已出现了三频手机,即

可在GSM900\GSM1800\GSM1900三种频段内自由切换的手机,真正做到了一部手

机可以畅游全世界

工作频段
我国陆地公用蜂窝数字移动通信网GSM通信系统采用900MHz频段:
890~915(移动台发、基站收)
935~960(基站发、移动台收)
双工间隔为45MHz,工作带宽为25 MHz,载频间隔为200 kHz。
随着业务的发展,可视需要向下扩展,或向1.8GHz频段的GSM1800过渡,即

1800MHz频段:
1710~1785(移动台发、基站收)
1805~1880(基站发、移动台收)
双工间隔为95MHz,工作带宽为75 MHz,载频间隔为200 kHz。


服务器的作用 - 收藏于 2007-09-22

服务器的主要性能特点

服务器英文名称为“Server”,指的是在网络环境中为客户机(Client)提供各种服务的、特殊的专用计算机。在网络中,服务器承担着数据的存储、转发、发布等关键任务,是各类基于客户机/服务器(C/S)模式网络中不可或缺的重要组成部分。其实对于服务器硬件并没有一定硬性的规定,特别是在中、小型企业,它们的服务器可能就是一台性能较好的PC机,不同的只是其中安装了专门的服务器操作系统,所以使得这样一台PC机就担当了服务器的角色,俗称PC服务器,由它来完成各种所需的服务器任务。当然由于PC机与专门的服务器在性能方面差距较远,所以可以想象由PC机担当的服务器无论是在网络连接性能,还是在稳定性等其它各方面都不能承担高负荷任务,只能适用于小型,且任务简单的网络。本文及后面各篇所介绍的不是这种PC服务器,而是各种专门的服务器。

不过,话又说回来,服务器说到底其实也是一种计算机,它也是由PC机发展过来的。在早期网络不是很普及的时候,并没有服务器这个名称,当时在整个计算机领域只有大型计算机和微型计算机两大类。只不过随着网络,特别是局域网的发展和普及,“服务器”这个中间层次的计算机开始得到业界的接受,并随着网络的普及和发展不断得到发展。尽管如此,服务器与我们普通所见的计算机又不完全一样,要不然,在我国这么多服务器厂商中竟然还没有几家能真正生产中、高档服务器,就连全球也只有像IBM、HP、SUN等那么少数几家有这个实力,DELL也只能生产一些中低档服务器,那都是因为服务器的特殊性要求所致,这就是服务器的四大主要特性(通常称之为“四性”)。虽然服务器也与PC机一样是诸如主板、CPU、内存、硬盘等组成,但这些硬件均不是普通PC机所用的,都是专门开发,用于服务器环境的,尽管外观上基本类似。也正因如此,服务器的价格通常非常高,中档的服务器都在几万元左右,高档的达几十、上百万。当然,目前我们也见到了许多标价仅几千元的名牌服务器,如DELL和HP都有这样的服务器。但这些服务器都属于入门级的服务器档次,在性能方面仅相当于一台高性能PC机,可以称之为“PC服务器”,这是为了满足一些小型企业对专用服务器的需求而开发的。正因如此,这些服务器也只具有很少部分服务器性能。

随着PC计算机技术的不断发展,服务器和PC技术之间出现了一些反常现象,原来一直以来都是PC技术落后服务器技术,PC机的许多技术都是从服务器中移植过来,但现在发生了一些改变。因为PC机中许多性能都得到了极大的提高,如CPU高主频、800MHz总线频率、SATA串行磁盘接口、PCI-Express接口和超线程技术等,这些新技术对于服务器来说同样是从未有过的,而且其相应性能要好于服务器原有对应性能,所以这些技术也很快在当前最新的服务器中得到广泛应用。当然,服务器仍还有许多其先进的特殊性能。

作为一台服务器首先要求的是它必须可靠,即“可用性”。因为服务器所面对的是整个网络的用户,而不是本机登录用户,只要网络中有用户,服务器就不能断。在一些特殊应用领域,即使没用户使用有些服务器也得不间断地工作,因为它必须持续地为用户提供连接服务,而不管是在上班,还是下班,也不管是工作日,还是休息、节假日,这就是为什么服务器首先必须要求具备极高的稳定性能的根本原因。一般来说专门的服务器都需要7X24小时不间断工作,特别是像一些大型的网络服务器,如大公司所用服务器、网站服务器以及提供公众服务器的Web服务器等。这些服务器也许真正工作开机的次数只有一次,那就是它刚买回来全面安装配置好后投入正式使用的那一次,一直到它彻底报废。如果动不动出毛病,这样的网络能保持长久正常运作吗?这可算是服务器的最关键性能,也是作为能担当服务器角色的前提,哪怕是一台PC机。

还有,服务器要为这么多用户提供服务,没有高的连接和运算性能是无法承受的,这就是指的服务器“可利用性”。我们平时一人用一台机都老是觉得慢,如果服务器也像我们平常所用的PC一样,那这么多用户请求又如何能及时得到计算机的响应和完成呢?所以服务器在性能和速度方面也是与普通PC机有很大区别的。为了实现高速,一般服务器是通过采用对称多处理器安装、插入大量的高速内存等方面来保证,这样也就决定服务器在硬件配置方面也与普通的计算机有着本质的区别。它的主板上可以同时安装几个甚至几十、上百个(如SUN的FIRE 15K可以支持到106个CPU)服务器专用CPU。这些CPU与普通PC机中的CPU是完全一样。我们知道普通CPU最重要的参数是主频,主频越高,运算速度越快,但在服务器CPU中却远不是这样的,通常服务器CPU的主频比较低,如现在Intel的服务器CPU主频通常在P4 2.0GHz左右,远低于PC机CPU快3.6GHz的主频,其它品牌的服务器CPU主频则更低了,但这些服务器CPU都具有非常好的运算性能。一则CPU主频越高,工作时所散发的热量就越高,给服务器带来最大的不稳定因素;另一方面,服务器运算性能的提高,不仅通过主频的提高来达到的,而是通常在其它参数方面加强得到的,而且多数中、高档服务器还可通过对称多处理器系统来大幅提高服务器的整体运算性能,根本没必要在单个CPU中通过主频的提高来提高运算性能。在CPU配置方面还要注意的一点就是,服务器的CPU个数一定是双数,即所谓的“对称多处理器系统”。在内存方面的配置也一样,无论是在内存容量,还是性能、技术等方面都与普通PC机所用内存有根本的区别,具体将在本教程后续篇中详细介绍。

另外,服务器还须具有一定的“可扩展性”,那是因为网络不可能长久不变,如果没有一定的可扩展性,当用户一增多,就不能胜任的话,一台几万,甚至几十万的服务器如果在短时间内就要遭到淘汰的话,这是许多企业都无法随的。为了保持高的可扩展性,通常需要在服务器上具备一定的可扩展空间和冗余件(如磁盘矩阵位、PCI和内存条插槽位等)。当然在硬件方面的配置远不止这些,具体我们将在后面的篇中具体介绍。

在服务器的主要特点方面,还有一个重要方面,那就是服务器必须具备一定的自动报警,并配有相应的冗余、备份、在线诊断和恢复系统,以备出现故障时及时恢复服务器的运作,那“可管理性”。虽然我们说服务器需要不间断持续工作,但再好的产品都有可能出现故障的一天,拿人们常说的一句话来说就是:不是不知道它可能坏,而是不知道它何时坏。服务器虽然在稳定性方面有足够的保障,但一旦出现故障的话怎么办,如果像我们平时所用的计算机一样停下进行维修,对于一个大型的服务器来说是不可能的事,这样就很可能造成整个网络的瘫痪,所带的损失是无法用金钱来衡量的。服务器生产厂商为了解决这一难题提出了许多新的技术,如冗余技术、系统备份、在线诊断技术、故障预报警技术、内存查纠错技术、热插拨技术和远程诊断技术等,使绝大多数故障能够在不停机的情况得到及时修复。

以上介绍的服务器“四性”,“可扩展性、可用性、可管理性和可利用性”,也即我们经常所见的服务器“SUMA”。具体这“四性”非常复杂,我们将在后面篇中具体介绍。

二、服务器的主要外观特点

上面介绍了服务器在性能方面的主要特点,这些性能对于一个刚刚接触服务器的读者朋友来说也只能是囫囵吞枣,根本还摸不清是怎么回事。这并不奇怪,因为服务器这个计算机网络中技术最为复杂的网络产品,不可能通过上面几段简单的文字就能说得清楚,讲得明白。况且上面说的这些服务器主要特点,对于许多读者来说根本不容易接触到,服务器有没有一些比较容易理解的外在表现呢?有,而且还非常明显。下面从外观上介绍服务器的一些主要特点,以使各位对服务器有一个更加鲜明的感性认识,非常便于理解。以下就是服务器几个外观特点:

1、机箱大

从外观结构上看,服务器的机箱一般比较大,有的虽然外观上看似与普通PC机差不多,实际上还是要大些,哪怕是入门级的PC服务器,如图1左图所示的是DELL PowerEdge 400SC入门级服务器(目前价格仅5808元)。对于一些中高档的专业服务器,机箱的差别就更大了,有的还是一个高高的柜子式的机柜,如图1右图所示的是IBM RS/6000系列的S80型号高档服务器。

当然,服务器的机箱大不是为了误导消费者,它有大的理由。一方面是由于服务器需要安装、连接的设备多,需占用较大空间,同时还要准备一些备用设备安置位,如磁带机、磁盘阵列、多PCI或PCI-X插卡等,也需要占用空间。服务器通常要与许多设备进行连接,如在服务器主板或专用板卡中要插上许多适配器卡,有的还要安装几个可热插拨的硬盘和电源(俗称“冗余电源”),一般还安装有供系统备份和恢复用的磁带机。另外,由于安装、连接的设备多,工作时发热量也非常大,必须有足够的空间来散热,以确保服务器能长时间稳定工作。以上这些都决定了服务器的机箱架构就必须要比普通PC机要大,即便是一些媒体所说的DIY PC服务器,为了保证服务器长期稳定工作,也必须加大机箱,在选购或配置PC服务器时一定要注意。

当然以上所说的机箱大,只是针对综合型塔式服务器而言的。随着近几年服务器应用的细化,各大服务器厂商针对各种具体应用推出了专门的功能型服务器,如一些针对空间密集型环境应用推出的服务器产品向机架式服务器,刀片式服务器等在占用空间方面做了特别的优化,大大减小了机箱所占空间。如图2所示的就是一款刀片式机架功能服务器。

2、硬盘、内存容量大

这一点也很容易理解,服务器要面对众多的用户,接受所有用户的请求,而且还必须安装、保存许多大容量的服务器专用系统、软件,以及其它一些数据库文件,这都要求服务器的硬盘容量要足够大。以前因为硬盘容量比较小(早期的才几百兆),所以通常采取磁盘矩阵,在服务器的磁盘架上并列安装许多磁盘,虽然这不仅是用于提高整个服务器磁
有关服务器知识详细介绍
ChinaITLab收集整理 2005-10-28 保存本文 推荐给好友 QQ上看本站 收藏本站

CDMA & GPRS - 收藏于 2007-09-22

CDMA:Code Division Multiple Access
码分多址-拥有频率利用率较高、手机功耗低等优点。与GSM相同,CDMA也有2代、2.5代和3代技术。中国联通将于今年下半年推出的CDMA属于2.5代技术。CDMA被认为是第3代移动通信技术的首选,目前的标准有WCDMA、CDMA2000、TD-SCDMA。
GPRS:"General Packet Radio Services
通用分组无线业务,是一种新的分组数据承载业务。相对原来GSM的拨号方式的电路交换数据传送方式,GPRS是分组交换技术,具有“实时在线”、“按量计费”、“快捷登录”、“高速传输”、“自如切换”的优点"
GSM:Global System for Mobile Communication
是1992年欧洲标准化委员会统一推出的”全球移动通信系统”,它采用数字通信技术、统一的网络标准,使通信质量得以保证,并可以开发出更多的新业务供用户使用


GPRS(General Packet Radio Service,通用无线分组业务)作为第二代移动通信技术GSM向第三代移动通信(3G)的过渡技术,是由英国BT Cellnet公司早在1993年提出的,是GSM Phase2+ (1997年)规范实现的内容之一,是一种基于GSM的移动分组数据业务,面向用户提供移动分组的IP或者X.25连接。
GPRS是在现有的GSM网络基础上叠加的一个新的网络,同时在网络设备上增加一些硬件设备,并对原软件升级,形成了一个新的网络逻辑实体。GPRS能给用户提供端到端的、广域的无线IP连接。通俗地讲,GPRS是一项无线高速数据传输技术,它以分组交换技术为基础,用户通过GPRS可以在移动状态下使用各种高速数据业务,包括收发E-mail、进行Internet浏览、即时聊天等。
CDMA是码分多址的英文缩写(Code Division Multiple Access),它是在数字技术上的分支—扩频通信技术上发展起来的一种新的无线通信技术。CDMA技术的原理是基于扩频技术,即将需传送的具有一定信号带宽信息数据,用一个带宽远大于信号带宽的高速伪随机码进行调制,使原数据信号的带宽被扩展,再经载波调制并发送出去。接收端使用完全相同的伪随机码,与接收的带宽信号作相关处理,把宽带信号换成原信息数据的窄带信号即解扩,以实现数据传输。
带宽比较
GPRS/CDMA与传统GSM电路型数据业务不同的是,GSM移动用户长时间独占一定的无线资源,而在分组数据业务下,所有的移动用户共享无线资源,并且每个用户只在有业务数据传送时,才动态地申请和占用无线资源,因此采用分组数据方式可以做到“永远在线”。如GPRS的峰值速率为115.2kbit/s,CDMA 1X系统的峰值速率为153.6kbit/s。
与电路型数据业务相比,分组数据业务更适用于支持移动Internet业务。但另一方面,由于在分组业务下,多个移动用户共享一定的无线资源,因此尽管分组业务可以有较高的峰值业务速率,但在用户进行数据传送期间内的平均业务速率仍然较低,而平均业务速率与峰值业务速率的比值也成为衡量系统技术的一项重要指标。
经过测试,GPRS的平均业务速率可以达到20kbit/s~40kbit/s,CDMA 1X的平均业务速率为80kbit/s~100kbit/s。相比较而言,GPRS采用语音和数据共享信道,如果网络用户数量或语音用户数量增加到一定程度,将导致频率资源的问题更加突出,那么每个GPRS用户可以使用的带宽将进一步的降低。CDMA 1X的数据和语音采用不同的信道传输,在同一基站下语音用户数量增加,也不会影响数据通信。

频率资源比较
CDMA2000 1X占用的是全新的800M频段,频率资源丰富。GPRS采用的是GSM的900M频段。GSM的频率资源在很多地区本来就很缺乏,GPRS是用分组业务,每个用户占用比话音更多的频率资源,导致GPRS的频率资源进一步的匮乏,从而限制了GPRS的数据用户数量。

向3G过渡对比
GPRS是GSM移动电话系统向第三代移动通信迈进的一个重要步骤,根据欧洲电信标准化协会对GPRS发展的建议,GPRS从试验到投入商用后,分为两个发展阶段:第一阶段可以向用户提供电子邮件、Internet浏览、即时聊天等数据业务;第二阶段是EDGE(增强数据速率的GSM演进)的GPRS,简称E-GPRS。
WCDMA全称为Wideband CDMA,这是基于GSM网发展出来的3G技术规范,是欧洲提出的宽带CDMA技术,它与日本提出的宽带CDMA技术基本相同,目前正在进一步融合。
CDMA2000是由窄带CDMA(CDMA IS95)技术发展而来的宽带CDMA技术,由美国主推。CDMA2000 1x被称为2.5代移动通信技术。CDMA2000 3x与CDMA2000 1x的主要区别在于应用了多路载波技术,通过采用三载波使带宽提高。目前中国联通正在采用这一方案向3G过渡,已建成了CDMA2000 1x网络。
在核心网部分,GPRS核心网络与3G分组域核心网络可以实现平滑升级与演进。3G分组核心网络的整体构架与GPRS的核心网络保持一致,仅在无线网络接口、网络协议等方面进行了更新,并能够保持向下兼容。CDMA的核心网络部分电路域和分组域的基本构架都保持不变,仅需进行简单的更新。在核心网络部分二者基本都可以保持平滑过渡。 以上只是功能部分,如果由于用户业务能力的提高或者用户的数量的增长,除了升级之外,必要的扩容和增加设备也是必不可少的,具体依赖于目前网络的设备能力


china mobile - 收藏于 2007-09-22

移动与联通的区别

从采用技术方面来讲,联通CDMA最先进,其次是中国移动,再次是联通130,最次是小灵通。
从费用方面来讲,中国移动比联通130稍贵,其次是联通CDMA,小灵通最贱,但月租没有低于18元的,加来电每月是23元,而移动和联通都有无月租的卡。
从公司资质方面来讲,中国移动最牛,因为2000年移动没上市之前是国企,那时候移动上设备根本不考虑投资回报的事,什么都上世界名牌,上最好的,全是爱立信和西门子的设备,属先天营养好。联通开始时就采用股份制,要讲究投资收益率,设备不是很好,本来资金就不是太足,还要运营互相矛盾的两个网络,说CDMA好吧,可自己还有GSM,很尴尬,设备维护费用也照移动差很多。小灵通就更是别提了,用的都是别国不用的设备。
从信号辐射方面来讲,用中国移动和联通130辐射都一样,CDMA辐射稍小,但差别不大,从电池待机时间上就能看出来,能量守恒嘛。小灵通辐射最小,因为辐射小,所以信号差,总断断续续的。
从服务方面来讲,是移动第一,我觉得是因为有钱的原因,联通第二,小灵通最后。
从漫游方面来讲,目前世界上80%的国家用GSM,只有几个国家用CDMA,小灵通暂时还不能开漫游。


remeber - 收藏于 2007-09-17

修改mac地址

网上邻居——属性——本地连接——属性——配置——local administer adress

修改IP地址

网上邻居——属性——本地连接——属性——internet 协议(Tcp/Ip)

ip地址 219.218.122.236

子网掩码255.255.255.0

默认网关219.218.20. 254

首选DNS服务器 202.194.15.13

备用DNS服务器 202.194.15.12


物理地址 - 收藏于 2007-09-17

       今天去申请账号,三楼网络中心的那老师真好,一个慈祥的老大爷。在这里谢谢他带给我一个下午的好心情。

           我们知道网络适配器(即网卡)使用的地址主要有两类:一类是IP地址,它是Internet协议地址,通常用0~255之间的十进制数的形式表示,如“192.168.0.1”;另一类就是MAC地址,即网卡的物理地址。它是Ethernet协议使用的地址,主要用于局域网中,一般由十六进制数组成,中间用“-”隔开表示,如“52-54-AB-45-42-23”。
   
     关于MAC

      Media Access Control
      Mac地址就是在媒体接入层上使用的地址,通俗点说就是网卡的物理地址,现在的Mac地址一般都采用6字节48bit(在早期还有2字节16bit的Mac地址)。
对于MAC地址,由于我们不直接和它接触,所以大家不一定很熟悉。在OSI(Open System Interconnection,开放系统互连)7层网络协议(物理层,数据链路层,网络层,传输层,会话层,表示层,应用层)参考模型中,第二层为数据链路层(Data Link)。它包含两个子层,上一层是逻辑链路控制(LLC:Logical Link Control),下一层即是我们前面所提到的MAC(Media Access Control)层,即介质访问控制层。所谓介质(Media),是指传输信号所通过的多种物理环境。常用网络介质包括电缆(如:双绞线,同轴电缆,光纤),还有微波、激光、红外线等,有时也称介质为物理介质。MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。这个地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,它都有相同的MAC地址


      MAC地址是固化在网卡上串行EEPROM中的物理地址,通常有48位长。以太网交换机根据某条信息包头中的MAC源地址和MAC目的地址实现包的交换和传递。要搭建局域网,必须学会绑定IP与MAC地址;换了新网卡,必须学会修改MAC地址以应对不能上网的尴尬。不要让MAC地址成为你网上生活的绊脚石呦!


     获取本机的MAC


对于数量不多的几台机器,我们可以这样获取MAC地址:

    在Windows 98/Me中,依次单击“开始”→“运行” →输入“winipcfg”→回车。

    在Windows 2000/XP中,依次单击“开始”→“运行”→输入“CMD”→回车→输入“ipconfig /all”→回车。对于如何批量获取MAC地址IP与MAC的捆绑


MAC地址是网卡的惟一标识,这种惟一性恰好给网络管理带来了福音,因为通过捆绑IP和MAC地址,就可以轻松防止局域网中IP地址盗用现象,阻止非法入侵者。


对于动态IP,做一个DHCP服务器来绑定用户网卡MAC地址和IP地址,然后再根据不同IP设定权限;对于静态IP,如果用三层交换机的话,你可以在交换机的每个端口上做IP地址的限定,这样如果改变某台客户端的IP地址,这台PC也就不能连通网络了。


以静态IP地址的绑定为例,实现一下上面的高招吧:假设此时的网卡MAC地址为44-45-53-54-00-00。假设我们在Windows 98操作系统中,启动虚拟DOS后,键入“ARP空格-s空格192.168.0.66空格44-45-53-54-00-00”,回车。这样实现了静态IP地址192.168.0.66与网卡地址为44-45-53-54-00-00的计算机的捆绑,接下来我们看看ARP常用参数表。

特别提示:ARP命令仅在局域网中上网的代理服务器端有用,还要是静态IP地址。如果你是一名网络管理员,就必须对MAC地址和IP的绑定运用自如,这样才能杜绝很多隐患。

   


competent - 收藏于 2007-09-10

昨天一个工作的同学请我吃饭,聊了一个会儿,觉得其实每件事情没有想象得那么难,每天给自己一个压力,学习是担心以后的工作,可能真的没有想象得那么困难,工作没有想象得那么神圣和高不可攀。

不用担心那么多,好好学习,以后的事情自然会很好。the prospect is   bright ,believe it !很高兴,和同学聊下,觉得真的没有什么可害怕的,工作的羡慕学习的,学习的有点羡慕工作的。人就是这样,不知道满足和珍惜拥有的东西。

今天在花园看书,看那么多人辛苦的准备考研,自己真的要珍惜才好,珍惜自己拥有的东西,家人,朋友,学习,还有现在的境况,better or worse,都是我的资本,我的阅历,自己要做的就是,在不断的反思和总结中,继续努力。

今天看了一篇文章,“机会不是越多越好”写得很好,一个土木的同学和我说,他不知道要选哪一个导师,因为有两个都想要他,而两个导师是不同的风格,各有利弊。他很难权衡,同学都在给他出主意,看得出他还是很为难,不知道怎么选择,我很理解他,机会多了考虑的很多,就像当时我选择大学,选择导师的研究方向一样。他宿舍人说他太犹豫,没主见,太感性。可能不是他性格的问题,而是一个很客观的规律,“机会不是越多越好”

知道这个规律的存在,他心里可能会踏实的多,不再怀疑自己的个人能力和性格不足了,不管怎样选择了,努力做到perfect!不管走那一条路,用心都会有收获。depends on   urslef!

我不知道昨天晚上在高兴什么,反正觉得心里在高兴,睡觉都很好,那么多的mosquito都没有感觉到


new school term approaches - 收藏于 2007-09-09

as another school term approaches

wish everyone's   days to be as great as possible

悠闲的日子快要结束了,开始新的三年的学习,在这里先提醒一下自己,可能会犯的错误

1 要有好的作息习惯,不要睡懒觉                                                                                                

2 要坚持学习英语,多用,多看   不是因为考试才学,是为了以后的生活,还有自己的兴趣

3不知道开学会是怎样的一个气氛,但自己要有自己的主见和要求,persevere   in studying

4 多和厉害的人学习,接受熏陶和感染,希望能找到学习的知己。that is   important for me

5 don't envy others ,每个人有每个的情况,摆正心态,永远不要排斥别人,取长补短

6多和大学同学联系,多交流,学会主动地联系同学,学会维持同学的人际关系

7学会和各种性格的人交往,don't scare the cold person ,不要害怕丢面子,锻炼自己的自尊承受能力


士兵突击 - 收藏于 2007-09-07

我不是很喜欢这部片子,可宿舍人都在看,我也和大家一起看,和同学一起看电影的感觉真好,

可以互相交流,《士兵突击〉很长的一个电视剧,要不是宿舍人一起,我是不会看的。感觉剧本一般,

演的也一般,但我发现自己不现实地喜欢上了里面的“史今“。

看的时候会遐想自己是他女朋友多好,他身材不是很好,长得也不是很帅,可就是很喜欢

他对待人的那种心意,大学时一直学习,还有和蔡一起从来没有把情感寄托在那个明星身上,“史今”

我也不知道那个演员的名字,但就是喜欢这部影片里的他,完美的人,虽然在这部片子里,显然导演没

有把他当作主角来渲染,但我喜欢他。

如果可能我希望自己是那个傻乎乎的士兵,能遇到一个“史今”,即使他是一个配角,但是我喜欢。

哈,真好,可能现实中没有这么好的人。他为什么对那个傻乎乎的士兵那么好,我都怀疑他是个gay

     片子不够符合逻辑,质量很一般,但我就是喜欢那个“史今”,一个配角。


感慨 - 收藏于 2007-09-05

刚才看了一个帖子,感慨厉害的人真多,每个人都相当的有个性,感觉自己像个井底之蛙,好渺小,好

白痴。虽然也快成为研究生了,可对专业,对社会的适应很无知。

一直觉得做好眼前的以后的自然会好,可这个猪脑子也要有点想法和打算才对啊。看那么多人都很有个

性,我一直觉得老实一点,随和一点为人就好。可能这样的想法永远只能做个平庸的人。不会有所作为

的。

要读研究生了,希望能收获自己想要学的东西。不要浪费这宝贵的青春。可能真的觉得自己够大了,

如果没有特殊原因,我不会再去读博士了,学习很重要,可人要生活,还有更重要的东西也要考虑的

想想这些就很累,努力把自己提到这个高度来想问题,不能老是逃避。

不管怎样,自己不要太有压力,充实地度过研究生三年,缘分的问题,可能真的要看缘分了。


好烦 - 收藏于 2007-08-24

心里好烦,爸妈在吵架,本来谁都离不开谁,还在吵架,真是的,我本来一直心情很糟,听到他们吵架

的声音,心里好上火,只是很无奈的跑过去和他们说别吵了。

原来心情不好,真的很痛苦,承受能力都会下降。


心中的责任 - 收藏于 2007-08-23

同学和我说,不用想太多,在一起开心就好。大一时金葛也这么和我说过,两个人在一起开心就好,

可我的脑子在钻牛角尖,毕竟我们不是小孩子了,想问题总是要多些,两个人在一起要现实,要协调。

不然投入了那么多的感情,到最后却要分开,好痛苦,像我和蔡当时就是感觉在一起开心就好,因为那

时不够成熟。现在不一样,心里沉甸甸的,如果按我现在的想法,蔡说和谁都不会合适。

可能是我经历了感情害怕了,担心了,不敢再做什么了。我最害怕别人和我急,别人急了我就以为自己

做错了什么,让人不舒服,失望了。其实我确实做了事情让人失望,做错事情了,心里才会这么发虚,

想逃避可又被人纠住质问,一定要为自己做过的事情负责任吗?同学说没什么大不了,可我心里的不安

和犯罪感却不能释怀,长这么大第一次感觉到生活这么难熬,是我在钻牛角尖,不够豁达,还是真的

要为自己做过的事情承担责任。

被人伤害会很痛苦,伤害别人心里更是痛苦,这么大第一次感觉到人生的不顺。


一个人 - 收藏于 2007-08-17

一个人感觉很轻松,因为不用考虑更多的问题。一个人感觉很无助,因为遇到问题时没有人陪你。

同学和我说,谈恋爱也难受,不谈恋爱也难受。原来是这样的感觉。

身边的人都走了,过程很痛苦,可从中也学到了很多。努力憧憬未来,可感觉有点力量不够。

人生之路,无坦途。可能生活就是这样的。自己在家感觉轻松又无助。同学叫我出去玩,可我一点欲望

都没有。不知道以后回首往事,会不会因为自己的退缩而后悔。


失去=成长 - 收藏于 2007-07-06

好久没写东西了,这久感觉自己成长了不少,其实没有什么是不能接受的,当理解了别人,就不会不理解。接受每个人都会自私的这个事实,这是人的本性,自然的东西。怎么能说爱你,就对你不自私了呢?
我们要接受失去的一切,懂得如何放手。这个其实并不是容易做到的,可在人生的每个阶段我们都会承受失去——也因而成长起来。

走出象牙塔的人,依依不舍;留下的学子,又翘首眺望。想想自己,做好自己应该做的,以后的事情自然就明了了,为什么要去担心那些自己无能为力的事情呢?即使曾经有再好的憧憬又能怎么样呢?都知道了是“曾经的”了,现在好好的,可他过得不好,心里还是经不住想去安慰他,可这样是不成熟的表现,不符合我的性格。

金玉,千万不要忘了自己的追求,自己曾经的梦想,自己曾经追求的东西,不要因为感情挫折,放弃自己的梦想啊,要做个优秀的自己,把自己提到一定的高度,才有资本想拥有什么。

这混乱的时间里,我意识到,我要做的更多,以前以为学习好就可以看到希望,现在我意识到,还有好多学习之外,也很重要的东西是必须要有的,还要学的是生活能力。其实没什么难得,只要有意识的去做,形成习惯,能力自然就有了。

当dirlt说不会像蔡那样对我时,我开始不能接受,可现在想想这样也好,我能有更大的空间提高自己的能力。尽量少些依赖,以免给对方带来负担。


高兴自己现在的状态 - 收藏于 2007-06-03

其实伤感是自己强加给自己的,不去想,自然就不会伤感

tomorrow is another day!


他又想利用我 - 收藏于 2007-05-30

他又想利用我,可他不知道我已不是大一时那个傻呼呼的女生;他又想利用我,可他不知道我早就不是对他痴迷的那个女生;他又想利用我,为他做事,可他不知道我已经开始讨厌他了;我曾经帮你,也不是因为我喜欢你,只是我不好意思拒绝朋友的请求;我对你笑不是因为我喜欢你,是表示友好。不要拿那么大的心理优势来找我,让人反感。将心比心,你不把我当朋友,就不要指望我是你朋友。

我有我爱的人,也有爱我的人,早就没有你的位置,收起你那自以为的心理优势。不要说我不够朋友,你也没怎么够的上朋友。

go to   the hell!     


没心情 - 收藏于 2007-05-29

从昨天开始就没什么心情, 权应该签约了, 高兴大于不高兴,他走了这么几天,我过的还是习惯.

也没什么高兴的事,还有点受打击的感觉,还好我不在意这些人了,我还有更重要的事情要做.


早上起来 - 收藏于 2007-05-26

早上起来的很晚,八点多才收拾差不多,开手机权的信息" 今天济南天气很热,最高气温有35度"

今天是他在遵义面试的日子,他还有心情惦记着济南,不知道他现在面试情况怎么样

god bless him ,i pray!!!


就想放在这,nothing - 收藏于 2007-05-22

we are all in the same boat ,it will be tough on all of us.

we are all in the same plight,we will have to rough it

owned today by a Toronto-based real estate investment trust firm, the former home of one of the world's biggest retail chains has become one of chicago's most prestigious buildings and haven for some of the city's biggest companies.it is also a must-see for the scores of tourists who flock to it every year to marvel at its formidable elegance and massive spires.(风城巨烛-西尔斯)


下雨了 - 收藏于 2007-05-20

突然下雨了,就在我发现下雨那一刻,我拿出手机看了看,权一如既往地第一时间发信息过来问候我,以前我把这些关心问候,看作是理所当然,看作是作为女朋友的特权。现在感觉到这些问候的难能可贵。现在记下来,记下这份感激。

权说了他的计划 - 收藏于 2007-05-18

今天权打电话说他下个月中旬就会走,回家。不知道是没有心里准备还是没有意识到,权要走了。

我还是很自恋地认为,在这个世界上目前为止,只有我能理解,体谅到他的无奈和麻木。回家去找工作并不意味着顺利,应该是和在这一样的不顺利,他没有靠山,没有把握,只能是摸索。他比喻说是摸着石头过河,摸得到石头就幸运过去了,摸不到石头就被水冲走了。

一年以来我一直在担心找不到工作他怎么办,他的压力我能真实地感觉到,还好他很坚强,能承受这诸多的不顺,他看成是上天的考验。

他说这一年不过来陪我,因为他不想过来,不想给我丢人,他怕别人知道我的男朋友没有找到工作。其实我从没有这么想过,这些年的相处,他给足了我面子。我知道他不是找不到工作,而是他想找到自己喜欢的行业中去,他想搞建筑施工。

和权认识快四年了,他陪我走过了大学的全部生活,他要是真的走了,我会怎么样?我会舍不得,我会不习惯。前面又会有多少困难需要他克服呢?他自己能承受地了吗?我有一种为亲人担心的感觉。

今晚实验室好安静,我很喜欢这种安静。god bless him .i pray


普京三原则 - 收藏于 2007-05-16

结果之上,不轻言战 ,打则必胜

他说:“对我来说,重要的是结果”


谢谢ella24给我的介绍的东西 - 收藏于 2007-05-14

blog 上的一个网友推荐给我一篇文章,很喜欢,相信她也是一个喜欢《读者》的perpson,我把它摘抄下来,留给自己看。

普京的自我鉴定——20句话活一生

1 我习惯于学会分出必要的时间,做点自己愿意的事。

2 从事柔道是我一生中自觉自愿的事,它不仅是一项运动,而且似乎是一门哲学,它教会我对待对手也要心怀敬意。

3 学习英语——对我来说有点儿像智力体育节目。

4 电影,我也很喜欢看。

5 书——当然很重要,但在你生活的周围,还有更重要的东西——家庭和朋友。

6 至于信仰,我倾向于任何时候都不要把这个问题拿到公众场合去讨论。

7 全部生活都是由矛盾构成的,哪里没有矛盾了,哪里就将是一片荒芜。

8 从某种意义上说,人需要鲜明地体现出一种品质——这就是宽容,依我看,宽容常常是具有决定意义的东西。

9 人应当是自由的……

10 我喜欢做的事,我就欣然而为。

11 我觉得,没有弱点的人是没有的,每一代新人都将是更优秀的。

12 做事越多,人就越会得出这样的结论:还有许多事没有做。

13 我有一些很要好的朋友。

14 我现在的朋友,基本上还是中学时代的,或者是在大学学习期间的。

15 我从来不装样子。

16 我希望公民把我看作雇来打工的人。

17 求求你啦,最好别给我写小册子别塑半身像。

18 我虽然经常注意,但也不能总是露出一副令人愉快的笑脸。

19 偶尔也有颓废之感。

20 人首先应当遵从的,不是别人的意见,而是自己的良心。

有点感触的,提到读者,就会想起高三的时光,那时每天和《读者》,《青年文摘》,还有王安的信生活,它们曾经是我的支柱,我的整个心灵世界。but i hurt   him ,i am afraid i will do the same thing to others. maybe i am not mature at that time.now i must be serious,make the decision .

有时候还想可能是自己太自我了,说不定我没有伤害到他们呢,只是他们在我面前表现的很受伤,让我内疚。这样说话有点混蛋了。哈


感觉到自己的一天 - 收藏于 2007-05-12

这几天,第一次这么平静的坐在实验室里享受自己的时间,感觉很好,以前也感觉一直在忙,可忙的没有收获,心里很不踏实也

没有成就感,今天坐在这,感觉有了自己呼吸的空气,多了些许的踏实。
    自己写点东西,一是整理自己的思路,二是让自己的生活有条理,充实些,这样感觉好些,independent and free!也是我一直向

往的生活,希望这样的感觉能继续。
     好了,安排一下我的欲望
     1)study english,单词回顾,看几篇文章,看电影,浏览一下英语网站(寄托,旺旺),多了解一些,开阔自己的思路
     2)完成专业的学习,目前是毕业论文的改进,还有几个程序要弄明白。以后还要多了解一些基础的,同学推荐给我
        矩阵分析,小波变换,ICA独立分量分析,老师给的电子书也还没看完。多看一些外文的专业书应该很好。
     3)老师说要我们学会做学问,有的学长是每天看一篇文献,我想要求自己一星期看一篇就ok了,看得时候还要记下笔记和心得  

         听一个做得很好的师姐这样说的,我也应该学习。习惯决定成败,很有道理!
     4)还有放松的时间,浏览一下网页,看看新闻,听听音乐,人还是要会生活得才快乐。
     在这期间还会有许多意外事件发生,比如被人叫去做事情,帮忙我不拒绝,只要用心从无聊的事里也能找到收获。
     一直想写些东西来warning自己,可一直没来感觉让我有欲望写,今天难得有感觉了,great! i like this feeling.
目前希望的是我能坚持,并能根据实际情况完善我的plane.


my heart wants to be quiet - 收藏于 2007-05-11

      this is my first paper,also the first time i have recgonized that i was cheated by the people around me.like i am a fool. but i can understand .i believe i am a good person,whereas i have cheated others.

     now i must be quiet ,don't trust others ,don't be serious.i should do the things i should do .don't care others,don't worry others.myself is ture.