回 帖 发 新 帖 刷新版面

主题:愤怒,老师都是哪里毕业的啊??

那天上编程课
老师出了这样的题
a=(i++)+(i++)+(i++)
假设i=0
我说是0
老师竟然说是错的
竟然说这题等于3
...
基本上每次上课
老师都会出这种被外国高手说是神经病的题
...
而且每次考试
基本都是问!(I&&J)||(K&&J)什么之类的
居然没有让我们自己编程的题
就算有
就是些写出什么求偶数之类的
居然没有让我们自己写程序
...
而在国外那些一流学校
无论是考的
还是学的
都是注重编程思维
而我们的学校只会教我们死记什么函数
而且那些考试死都不离数学
难道他们不知道科技和文学是相反的吗
不能用文学的方式学科学
...


[em55][em55][em55][em55]

回复列表 (共22个回复)

沙发

出这样的问题确实让人郁闷...
如果你可以换个老师就换个吧..

如果不行.那就只能靠你自己努力了..(我想自学编程的人也有很多吧..)
还有学习也不是一个定式.你可以让自己试着换种方法来学.国外国内老师之类的教学方法.也都是前人的学习方法.或许并不适合我们.

其实适合的才是最好的.只要能让你在最短的时间内学到最多的知识.这就是最好的方法了.

板凳

大家猜猜qb 里面
if 1>2 then if 1>2 then print "f" else print "h"
会输出什么..
i++
++i
这类的我始终搞不懂

3 楼

_____________________________________________________
  |大家猜猜qb 里面                                     |
  |if 1>2 then if 1>2 then print "f" else print "h"    |
  |会输出什么..                                        |
   -----------------------------------------------------

这个什么都不会输出
把他规划就是这样
if i>2 then 
   if i>2 then
       print "f"
   else
       print "h"
   end if
end if

4 楼

2楼:
在QB里出现嵌套行IF并且只有一个ELSE的话,也就是这样:
IF 条件1 THEN IF 条件2 THEN ... ELSE ...
则ELSE属于后面的IF。
若是这样:
IF 条件1 THEN ... ELSE IF 条件2 THEN ... ELSE ...
则前面的ELSE属于前面的IF,后面的ELSE属于后面的IF。

QB里ELSE的配套规则是:每一个ELSE都与在它前面并且没有和其它ELSE配对的IF中最近的那个配对。

5 楼

现在的教学以解题偏多,多以一些奇巧(其实也算不上奇巧,最多是趣味)的数学题或语法题为主,而教人“实作”的很少,即使基础达到了,也是这样。好象他们的目的不是培养程序员,而是再培养一个人民教师。还好现在有网络,有开源,有很多很好的文章,一个东西具体怎么做的,怎么实现的,只要愿意去了解将不再成为问题

6 楼

[quote]
那天上编程课
老师出了这样的题
a=(i++)+(i++)+(i++)
假设i=0
我说是0
老师竟然说是错的
竟然说这题等于3
[/quote]

真的,老师在这题上没有说错。
我测试如下代码:

#include<stdio.h>

int main(){

    int i=0;
    printf("%d",(i++)+(i++)+(i++));

    getch();
    return 0;

}

输出真的是 3 。

再想想我就明白了。

(i++)+(i++)+(i++)

分三步:

第一步:
算(i++),因为 i 为 0。所以这个式子值为 0。

第二步:
算(i++)+(i++),前一个(i++)己经算过了,是 0 ,但是算过后,i 马上就 ++ 了。
所以 (i++)+(i++) 相当于是 0 + 1

所以,(i++)+(i++)+(i++) 相当于是 0 + 1 + 2 = 3 了。

7 楼

楼上你的说法不对,你放到QB就知道了,而楼上你用的不是QB吧!而且你对源程序有改动!

8 楼

6楼的
你的这种说法在qb语言中是行不通的·

9 楼

六楼的好像是在用C语言。

10 楼

我来回复

您尚未登录,请登录后再回复。点此登录或注册