看板Programming
标 题Re: [闲聊] 又一个活生生的例子
发信站政大狂狷年少 (Mon May 7 04:46:50 2007)
转信站ptt!ctu-reader!ctu-peer!news.nctu!news.cis.nctu!news.cs.nthu!WHSHS
※ 引述《[email protected] (杰乔)》之铭言:
> 请问一下....
> ++a,a++不一定等於a+1....
> 是不是因为要看使用时机还是是要看环境....
关键字:side effect, sequence point
用这个去课本或网路上查一查应该就会知道了。
> 又还是2者都有关西??....
> 如果拿来PRINT ++a是先加在读值,对吗?....
> 而a++是先读值再加,对吗?....
对,但是跟本主题关联不大。
> : 执行结果:
> : .. 考虑: i的初值为3,
> : 表达式(i++*++i+i--*--i)=?
> 运算为3*5+5*3=30....
> 结果为30对吗?....
> 可是为啥我编译完答案是25....
没有一个数字会是正确结果,
标准没有指定同一个编译器这样写会有什麽固定的行为,
也没定义所有编译器都应该要有怎样的行为。
> 可是那要怎麽测试学生是否有观念呢?....
> 要不必出这麽刁的题目还是说有更好的办法?....
这是教育者的工作 (你是初学者更不用烦恼它),
其实我们可以不去管它怎样设计比较好,
但是乱七八糟恶搞的题目还是可以批,
当然最好是在已经确定出题者自己也搞不清楚的前提下。
> 对不起小的初学C,请问解决问题的时候会需要用到什麽阿?....
实务上用到一些「概念工具」,
就是大家常说的「资料结构」和「演算法」里的东西。
不过更基础的还是「逻辑性思考」,
一般来说基础程式设计的课程应该顺便训练这个;
最基础则是「积木」,
也就是语言本身的各种 facilities,
就像拿积木给小孩子堆,
给点小示范 (甚至是根本不示范) 就让他们自由发挥一样,
学习上最好也是这样,
不能光是靠模仿;
在知道怎样做比较好之前,
先要学习如何只靠自己的想法来达成目的。
> 请问一下什麽是胃定义的写法阿@@?我的问题真多@@...
标准规格书上明确记载着行为或结果未定义的事情,
简称为「未定义」,
绝对不是「标准规格书没写」的意思,
有些人会搞不清楚,
所以这部分特别跟你讲一下。
> 最後一问在回到最前面的问题....
> 要怎麽才知到老师出的题目是不是鸟题目?....
> 好题目的样子应该市长什麽样的阿?....
题目的「好」或许不容易判别,
而且会因每人想法背景不同而有不同评价,
但是「超烂的题目」对於熟悉该语言的人而言,
其实非常容易识别出来,
而且不会有什麽争议,
这类题目通常是「出题者想刁学生反而显露出自己的无知」等等的形式,
因为你是初学者,
所以我没办法用很技术面的说法来回答,
上面那个引号括起来的部分是我所能想到最白话的回答了,
针对现在这个讨论串的内容而言。
--
Name: Tseng, Ling-hua E-mail Address:
[email protected]
School: National Tsing Hua University Department: Computer Science
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Software pipelining for VLIW architectures
Homepage:
https://it.muds.net/~uranus
--
╔═══╗ ┼────────────────────────╮
║狂狷 ║ │
* Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮
║ 年少║ ┼╮
< IP:140.119.164.252 > ╰─╮
╚╦═╦╝ ╰
* From:61-230-220-92.dynamic.hinet.net
─╨─╨─ KGBBS ─ ◎ 遨翔"BBS"的狂狷不驯;属於年少的轻狂色彩 ◎