博文

[转]大学成为编程高手的二十二条军规!- -(2005-09-13 16:52:00)

摘要:学习计算机编程怎么学?怎么学好?看看。。。(全文)
     1.大学生活丰富多彩,会令你一生都难忘,但难忘有很多种,你可以学了很多东西而难忘,也会因为什么都没学到而难忘!

  2.计算机专业是一个很枯燥的专业,但即来之、则安之,只要你努力学,也会发现其中的乐趣的。

  3.记住:万丈高楼平地起!基础很重要,尤其是专业基础课,只有打好基础才能学得更深。

  4.C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。

  5.C语言与C++语言是两回事。就像大熊猫和小熊猫一样,只是名字很像。

  6.请先学习专业课《数据结构》、《计算机组成原理》,不要刚开始就拿着一本VC在看,你连面向对象都搞不清楚,看VC没有任何用处。

  7.对编程有一定的认识后,就可以学习C++了。(是C++而不是VC,这两个也是两码事。C++是一门语言,而VC教程则是讲解如何使用MFC类库,学习VC应建立在充分了解C++的基础之上。看VC的书,是学不了C++语言的。)

  8.学习编程的秘诀是:编程,编程,再编程;

  9.认真学习每一门专业课,那是你今后的饭碗。

  10.在学校的实验室就算你做错一万次程序都不会有人骂你,如果在公司你试试看!所以多去实验室上机,现在错得多了,毕业后就错得少了。

  11.从现在开始,在写程序时就要养成良好的习惯。

  12.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路。

  13.你会买好多参考书,那么请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码。

  14.VC、C#、.NET这些东西都会过时,不会过时的是数据结构和优秀的算法!

  15.记住:书到用时方恨少。不要让这种事发生在你身上,在学校你有充足的时间和条件读书,多读书,如果有条件多读原版书,你要知道,当一个翻译者翻译一本书时,他会不知不觉把他的理念写进书中,那本书就会变得像鸡肋!

  16.我还是强调认真听专业课,因为有些课像《数据结构》、《编译原理》、《操作系统》等等,这种课老师讲一分钟能让你明白......

阅读全文(2537) | 评论:0

C语言运算符优先级顺口溜!- (2005-09-13 16:43:00)

摘要: [转] C优先级顺口溜   http://bbs.zol.com.cn/new/static_book2/139/852/139_7852.shtml  

醋坛酸味灌
味落跳福豆

共44个运算符

醋-初等,4个: ( ) [ ] -> 指向结构体成员 . 结构体成员
坛-单目,9个: ! ~ ++ -- -负号 (类型) *指针 &取地址 sizeof长度
酸-算术,5个: * / % + -减
味-位移,2个: << >>
灌-关系,6个: < <= > >= == 等于 != 不等于
味-位逻,3个: & 按位与 ^ 按位异或 | 按位或
落-逻辑,2个: && 逻辑与 || 逻辑或
跳-条件,1个,三目: ? :
福-赋值,11个: = += -= *= /= %= >>= <<= &= ^= |=
豆-逗号,1个: ,

结合方向自右向左的只有三类:赋值、单目和三目
同一优先级的运算顺序由结合方向决定
......

阅读全文(5007) | 评论:0

微软副总裁李开复谈大学四年生活-&nbsp;(2005-09-13 16:42:00)

摘要:  今天,我回复了“开复学生网”开通以来的第1000个问题。关掉电脑后,始终有一封学生来信萦绕在我的脑海里,挥之不去:

      开复老师:
         就要毕业了。
         回头看自己所谓的大学生活,
         我想哭,不是因为离别,而是因为什么都没学到。
         我不知,简历该怎么写,若是以往我会让它空白。
         最大的收获也许是……对什么都没有的忍耐和适应……


     这封来信道出了不少大三、大四学生的心声。大学期间,有许多学生放任自己、虚度光阴,还有许多学生始终也找不到正确的学习方向。当他们被第一次补考通知唤醒时,当他们收到第一封来自应聘企业的婉拒信时,这些学生才惊讶地发现,自己的前途是那么渺茫,一切努力似乎都为时已晚……
这“第四封信”是写给那些希望早些从懵懂中清醒过来的大学生,那些从未贪睡并希望把握自己的前途和命运的大学生以及那些即将迈进大学门槛的未来大学生们的。在这封信中,我想对所有同学说: 

     大学是人一生中最为关键的阶段。从入学的第一天起,你就应当对大学四年有一个正确的认识和规划。为了在学习中享受到最大的快乐,为了在毕业时找到自己最喜爱的工作,每一个刚进入大学校园的人都应当掌握七项学习:学习自修之道、基础知识、实践贯通、兴趣培养、积极主动、掌控时间、为人处事。只要做好了这七点,大学生临到毕业时的最大收获就绝不会是“对什么都没有的忍耐和适应”,而应当是“对什么都可以有的自信和渴望”。只要做好了这七点,你就能成为一个有潜力、有思想、有价值、有前途的快乐的毕业生。
......

阅读全文(2615) | 评论:0

同学们来看看,该程序是否正确?若不对,请改正。- -(2005-09-13 16:38:00)

摘要:对于函数y=f(x)  ,  x>0时,y=1;x=0时,y=0;x<0时,y=-1; 有人写出下面的程序,请指出该程序是否正确?若不对,请改正。(看全文)
void main() {                 float x;                 int   y=-1;                 printf("\nInput x:"); scanf("%f",&x);                if (x!=0)                    if (x>0)  y=1;                    else  y=0;                 printf("x=%6.2f,y=%d\n",x,y); }    ......

阅读全文(2847) | 评论:5

C语言学习方法-----北京理工大学李凤霞教授等专家谈- -(2005-09-13 16:37:00)

摘要:学习方法指导   《C程序设计语言》教学目标
  * 掌握C语言的基本语法和规定。
  * 掌握程序设计基本算法和思路,开拓思路,
  * 提高上机操作能力,掌握上机调试程序的方法
  * 培养自学能力,强调自主学习。
  * 养成良好的程序设计习惯。   通过总结多年的教学经验,总结学生在学习过程中具有规律性的特点,可以发现,在本课程学习过程中学生经常出现下面这些问题:
  * 注重理论学习,忽视上机编程实践,造成"只能用笔在纸上编程"的奇怪现象。特别是一些女同学,一到机器前面就手忙脚乱,如果程序再出现错误,就更不知道该如何查找错误,如何排除错误了。
  *入门时自以为难度大,产生畏难情绪,总是怕,最后因为怕学不好而导致没有学好。
  *前期没有抓紧,希望通过突击完成课程学习。本课程要靠平时的积累,几乎不能靠临时突击,由于前面基础补扎实,到了后面已经无法弥补。
  *太注重学习语句的语法规定,忽视了对编程的思路和方法的训练。有些同学再学习结束的感觉就是:对每一个语句的语法和每一条规定都明白,就是面对实际问题的时候不知道该如何思考,该如何编程。
  *急于求成,总想编写综合性的程序,忽视基本概念,忽视基本功的训练和练习。在编写程序中发现问题,一追根源,全是概念或基础问题。   
为了学好本课程,没有什么窍门,建议大家采用如下的"笨"方法:
  *认真听讲,积极思考,提高上课效率。教师上课讲述的都是课程的重点和难点,听好课程可以达到"事半功倍"的目的。
  *主动上机,多多实践,提高动手能力。通过上机实践来验证所学的理论,通过在机器上查找错误来巩固概念,通过提高上机能力来促进理论学习,开阔编程思路,提高反映速度,提高分析问题解决问题的能力,锻炼心理素质,提高心理承受能力。
  *学习初期重点掌握语言的语法和规定。这是基础。
  *后期重点掌握编程的思路和基本算法。这是重点。
  *学会自学,加强交流,及时答疑解惑。可以采用多种形式进行交流,可以是传统的面面进行答疑,也可以是利用网络通过邮件、BBS进行网上交流。不要将疑问积累到最后。
  *开阔眼界,打开思路,多看几本书。C语言的书非常多,各有自己的特色,要找到适合自己的参考数目......

阅读全文(3619) | 评论:0

猜猜看,下面的程序将会输出什么结果?-&nbsp;(2005-09-13 16:35:00)

摘要:main() {      char b[3]="xyz";        char c='H';        char  a[10]="abcd\0123";       printf("b=%s\n",b);       printf("a=%s\n",a); }
刚才的程序是字符串的输出,那下面的程序是有关字符串输入的,你们看看结果又是怎么样的呢? main() {                   char   a[10],b[7]="abcde";                      scanf("%s",a);                      printf("%s",a);                     printf("%s",&b[1]); }......

阅读全文(3085) | 评论:0

怎么学好C语言之我见- -(2005-09-13 16:34:00)

摘要:学了几周课了,大家感觉怎么样?有同学说:现在我看C语言题目然后看答案,能看懂,但是让我自个儿动手做起来,那难度比起做数学题还难!大家是不是会说"me too!"?呵呵      其实学东西是有个过程的。关键是习惯和兴趣。首先兴趣不必多说,兴趣是学习最好的老师!没兴趣即使别人再怎么讲得天花乱坠也没用。其次就是习惯。同学都是大一,刚来还有些不适应大学的学习氛围,没有养成良好的习惯。学编程,为什么能看懂,自己却作不出来呢?主要是因为你对程序语言的具体语法规则都认识了,并且明白了,所以能看懂答案。但是真正轮到自己来做,却不知如何下笔。这主要是因为编程习惯的问题。       看到一个题目首先不能拿起笔就开始写语句,。应该首先把这个题目看懂看明白,分析一下该题目需要完成些什么任务。然后,根据任务来画出详细的流程图。这个过程就是算法的设计。最后根据流程图的各大模块,用语句和基本程序结构去实现算法。   这样的话,就不容易造成最后的程序都是拼凑出来的语句块的现象,问题考虑的也可能不全面,语句随意度大。平常布置的作业量要能满足你编程,提高编程能力的效果是不可能的,尽量合理分配一下时间,多做做题目吧!只要你有心,没法上机的问题肯定能解决。你们说呢? 相信一句话:C语言不是看会,听会的,而是做会的!......

阅读全文(3284) | 评论:1

C语言中“/”运算符是取整运算符吗?-&nbsp;(2005-09-13 16:33:00)

摘要:C语言如何取整? 除法运算符"/"双目运算具有左结合性。参与运算量均为整型时, 结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。

void main(){
printf("%d,%d\n",10/3,-10/3);
printf("%f,%f\n",10.0/3,-10.0/3);
}

  双目运算具有左结合性。参与运算量均为整型时, 结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。 printf("%d,%d\n",10/3,-10/3);

printf("%f,%f\n",10.0/3,-10.0/3);

  本例中,10/3,-10/3的结果均为整型,小数全部舍去。而10.0/3和-10.0/3由于有实数参与运算,因此结果也为实型。 你还知道哪些C语言的取整方法呢?看看全文

C语言有以下几种取整方法:
    1、直接赋值给整数变量。如:
    int i = 2.5; 或 i = (int) 2.5;
    这种方法采用的是舍去小数部分,可以用于你的问题。
    2、C/C++中的整数除法运算符"/"本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,但是整数除法对负数的取整结果和使用的C编译器有关。
    3、使用floor函数。floor(x)返回的是x的整数部分。如:
    floor(2.5) = 2
    floor(-2.5) = -3
    4、使用ceil函数。ceil(x)返回的是不大于x的最小整数。如:
    ceil(2.5) = 2
    ......

阅读全文(13771) | 评论:0

字符数据的输入与输出-&nbsp;(2005-09-13 16:30:00)

摘要:从键盘上输入若干字符,"#"为输入字符的结束标志。试把其中的小写字母转换成大写字母,其它字符不变,最后把处理结果输出到屏幕上。看看你想用什么办法解决呢?
算法一 用getchar输入字符,然后用循环结构判断输入字符是不是"#",如果不是,判断当前字符是否属于小写字母,是的话把他转换为大写字母,不是则的话原样输出 这是算法之一,你能把它编程实现吗?把你的程序或其他实现方法写在"评论"里,我们一起来讨论哦!过两天我来公布答案!:)......

阅读全文(3159) | 评论:2

彻底搞定C指针-——第五篇:函数参数的传递(2005-09-13 16:26:00)

摘要:
一. 三道考题
开讲之前,我先请你做三道题目。(嘿嘿,得先把你的头脑搞昏才行……唉呀,谁扔我鸡蛋?)

1. 考题一:程序代码如下:
void Exchg1(int x, int y)  
{
  int tmp;
  tmp=x;
  x=y;
  y=tmp;
  printf(“x=%d,y=%d\n”,x,y)
}
void main()
{
  int a=4,b=6;
  Exchg1 (a,b) ;
  printf(“a=%d,b=%d\n”,a,b)
}
输出的结果:
x=____, y=____
a=____, b=____
问下划线的部分应是什么,请完成。

2. 考题二:代码如下。
Exchg2(int *px, int *py)
{
  int tmp=*px;
  *px=*py;
   *py=tmp;
  print(“*px=%d,*py=%d\n”,*px,*py);
}
main()
{
  int a=4;
  int b=6;
      Exchg2(&a,&b);
      Print(“a=%d,b=%d\n”, a, b);
}
输出的结果为:
*px=____, *py=____
a=____, b=____
问下划线的部分应是什么,请完成。

3. 考题三:
Exchg2(int &x, int &y)
{
   int tmp=x;
&nbs......

阅读全文(2275) | 评论:0