讨论子女教育,兼顾为人父母可能遇到的任何其它问题。
版主: noles
-
Jack12345
- 论坛支柱

2023年度优秀版主
- 帖子互动: 640
- 帖子: 9161
- 注册时间: 2022年 7月 22日 11:46
帖子
由 Jack12345 »
stm32 写了: 2022年 8月 29日 16:11
他倒是从Youtube上学会C语言了
不过用C语言写竞赛题,debug会搞死人,对小孩太难了。出个内存崩溃,或者不明原因的程序崩溃,完全不知道怎么办
debug 这是 码工的基本功。小孩子 有可能没接触过,比较麻烦。找个好一点的 IDE 开发平台吧,比如 微软的 Visual studio(C++)Community 版本,用用就熟了 怎么debug。
网上应该也有 怎么用 Visual C++ community debug 的教程吧,youtube 上找找看
-
stm32
- 著名点评

- 帖子互动: 96
- 帖子: 4018
- 注册时间: 2022年 7月 26日 12:34
帖子
由 stm32 »
Jack12345 写了: 2022年 8月 29日 16:22
debug 这是 码工的基本功。小孩子 有可能没接触过,比较麻烦。找个好一点的 IDE 开发平台吧,比如 微软的 Visual studio(C++)Community 版本,用用就熟了 怎么debug。
网上应该也有 怎么用 Visual C++ community debug 的教程吧,youtube 上找找看
一般的debug他也会,就是用IDE看运行变量值
就是遇到程序崩溃就抓瞎了,涉及指针,堆栈崩溃什么,都不知道去哪里找原因
-
Jack12345
- 论坛支柱

2023年度优秀版主
- 帖子互动: 640
- 帖子: 9161
- 注册时间: 2022年 7月 22日 11:46
帖子
由 Jack12345 »
stm32 写了: 2022年 8月 29日 16:26
一般的debug他也会,就是用IDE看运行变量值
就是遇到程序崩溃就抓瞎了,涉及指针,堆栈崩溃什么,都不知道去哪里找原因
关于 堆栈崩溃,新手 犯得一个主要错误是 把数组都在 函数里定义,函数的所有变量都放在 堆栈里的,但 堆栈容量有限。所以如果有一个很大的 数组 或链表之类的,
必须放在 函数外面定义,做为 全局变量。这样就不会导致 堆栈崩溃了。
指针 就是一个 内存变量的地址,必须赋值后 才能使用。youtube 上 应该有 专门指导 指针使用 注意事项的 教程。
指针 要彻底理解,还是 要学点 计算机体系结构,学一点 汇编语言,才会彻底明白。
-
stm32
- 著名点评

- 帖子互动: 96
- 帖子: 4018
- 注册时间: 2022年 7月 26日 12:34
帖子
由 stm32 »
Jack12345 写了: 2022年 8月 29日 16:35
关于 堆栈崩溃,新手 犯得一个主要错误是 把数组都在 函数里定义,函数的所有变量都放在 堆栈里的,但 堆栈容量有限。所以如果有一个很大的 数组 或链表之类的,
必须放在 函数外面定义,做为 全局变量。这样就不会导致 堆栈崩溃了。
指针 就是一个 内存变量的地址,必须赋值后 才能使用。youtube 上 应该有 专门指导 指针使用 注意事项的 教程。
指针 要彻底理解,还是 要学点 计算机体系结构,学一点 汇编语言,才会彻底明白。
你这样的最适合推自己娃搞编程竞赛
我这样的二把刀,为了推娃学的C语言,看见程序崩溃就头大了,尤其函数堆栈,超过2M的变量就崩了,还没任何错误信息
-
Jack12345
- 论坛支柱

2023年度优秀版主
- 帖子互动: 640
- 帖子: 9161
- 注册时间: 2022年 7月 22日 11:46
帖子
由 Jack12345 »
stm32 写了: 2022年 8月 29日 16:45
你这样的最适合推自己娃搞编程竞赛
我这样的二把刀,为了推娃学的C语言,看见程序崩溃就头大了,尤其函数堆栈,超过2M的变量就崩了,还没任何错误信息
以后数组大的,超过1000的,就在函数外定义。你这样 2M 肯定不行了,太大了,不能放在 函数里 定义。例如这样。应该 不会崩溃了
unsigned int buffer[1000][1000];
sort() {
int index1=0, index2 = 10;
buffer[index1][index2] = 100;
}
-
stm32
- 著名点评

- 帖子互动: 96
- 帖子: 4018
- 注册时间: 2022年 7月 26日 12:34
帖子
由 stm32 »
Jack12345 写了: 2022年 8月 29日 16:56
以后数组大的,超过1000的,就在函数外定义。你这样 2M 肯定不行了,太大了,不能放在 函数里 定义。例如这样。应该 不会崩溃了
unsigned int buffer[1000][1000];
sort() {
int index1=0, index2 = 10;
buffer[index1][index2] = 100;
}
好像有时候也崩溃,GCC的编译器我也搞不懂
我推娃一年,USACO网上训练题才做到第三章,C里面的坑太多了,我这样就以前上高中兴趣班的编程经验,现学的二把刀,真是很难搞定
-
Jack12345
- 论坛支柱

2023年度优秀版主
- 帖子互动: 640
- 帖子: 9161
- 注册时间: 2022年 7月 22日 11:46
帖子
由 Jack12345 »
stm32 写了: 2022年 8月 29日 17:00
好像有时候也崩溃,GCC的编译器我也搞不懂
我推娃一年,USACO网上训练题才做到第三章,C里面的坑太多了,我这样就以前上高中兴趣班的编程经验,现学的二把刀,真是很难搞定
那你 当地 找个懂行的朋友 看一下吧。初学者 还是推荐 微软的 IDE visual studio community。它的 检查 报错信息 比较多,便于用户 找到问题。
还有,数组定义了 buffer[1000],用的时候 千万不要 超过这个 定义的 1000 这个界限
-
TheMatrix2
- 论坛点评

- 帖子互动: 30
- 帖子: 2497
- 注册时间: 2022年 8月 20日 22:11
帖子
由 TheMatrix2 »
Mushini 写了: 2022年 8月 29日 14:46
1)孩子social, public speaking很强。 看着不像 Asperger。 据说搞竞赛最牛者当中 非常高比例的 高功能 Asperger 患者, 甚至有人说 80%以上都是。 比如说数学竞赛天花板北大韦神十有八九就是。
2) 好像数学没有我小时候好。 至少心算能力差很多。
我是一直 discouraged 孩子去参加竞赛的。 我是觉得如果数学考SAT能拿满分或者接近满分, 如果竞赛拿不到州里一二名或者更高的话,再推数学无意义。
现在我也不知道当初我的想法是对还是错。
那后来怎么又去了?
-
stm32
- 著名点评

- 帖子互动: 96
- 帖子: 4018
- 注册时间: 2022年 7月 26日 12:34
帖子
由 stm32 »
Jack12345 写了: 2022年 8月 29日 17:08
那你 当地 找个懂行的朋友 看一下吧。初学者 还是推荐 微软的 IDE visual studio community。它的 检查 报错信息 比较多,便于用户 找到问题。
还有,数组定义了 buffer[1000],用的时候 千万不要 超过这个 定义的 1000 这个界限
多谢
-
huangchong(净坛使者)
- 论坛元老

2023-24年度优秀版主
- 帖子互动: 3644
- 帖子: 56908
- 注册时间: 2022年 7月 22日 01:22
帖子
由 huangchong(净坛使者) »
stm32 写了: 2022年 8月 29日 16:26
一般的debug他也会,就是用IDE看运行变量值
就是遇到程序崩溃就抓瞎了,涉及指针,堆栈崩溃什么,都不知道去哪里找原因
要明白程序为什么会栈溢出,得了解一下程序的data段 ,栈(stack),堆(heap) 都是怎么回事,各有什么限制。 堆和栈是两码事。
c系列语言是手工管理内存,要成为一个不怎么写bug的程序员,对内存管理,各种对象的生命期 得有比较清晰的理解。
另外我看usaco推荐至少c++11标准。 孩子应该学新式的编程风格(其实也更好写 难出错一些)。顶上那种直接操作array的风格有很多毛病,不应该再继续用了。
-
Jack12345
- 论坛支柱

2023年度优秀版主
- 帖子互动: 640
- 帖子: 9161
- 注册时间: 2022年 7月 22日 11:46
帖子
由 Jack12345 »
stm32 写了: 2022年 8月 29日 17:00
好像有时候也崩溃,GCC的编译器我也搞不懂
我推娃一年,USACO网上训练题才做到第三章,C里面的坑太多了,我这样就以前上高中兴趣班的编程经验,现学的二把刀,真是很难搞定
你能 发一道 典型的 比较困难的 程序崩溃的 C语言题吗?包括题目 和 你们的解答。我有兴趣看一下。发短信过来 或 邮件过来 都可以
-
MrAnderson
- 论坛精英

- 帖子互动: 217
- 帖子: 7363
- 注册时间: 2022年 7月 23日 11:57
帖子
由 MrAnderson »
这是对的,数学竞赛的问题基本上没有实用价值,所以唯一的价值就是拿名次。试了几次拿不到的,趁早止损。
编程竞赛就不一样,各种编程的技巧将来都会有大用场,会比别人高出一大截。所以,变成竞赛的价值就不仅仅在于拿名次了。当然能拿更好。
stm32 写了: 2022年 8月 29日 15:28
必须功利,因为大学是看数学竞赛成绩的。如果能拿个名次什么,肯定有点帮助。不过高中数学难度上去,很多初中数学好的人,一下就不行了,要试一试行不行。
我们开始晚了,7年纪没准备过AMC,考的很差。8年纪准备了一年,终于考好了。很多人4年纪就开始准备AMC8, 6年纪已经开始AMC10了
男孩喜欢电脑的多,弄个网页,自己学会编程,都不是啥难度。不过竞赛的编程要求太高,我看这里没几个家长行的
逼将有三种:老逼将,小逼将,装逼将
消灭买办是唯一出路
所谓女性解放,就是人类走向灭亡的开端
哈,狗子急了
-
Jack12345
- 论坛支柱

2023年度优秀版主
- 帖子互动: 640
- 帖子: 9161
- 注册时间: 2022年 7月 22日 11:46
帖子
由 Jack12345 »
MrAnderson 写了: 2022年 9月 2日 11:26
这是对的,数学竞赛的问题基本上没有实用价值,所以唯一的价值就是拿名次。试了几次拿不到的,趁早止损。
编程竞赛就不一样,各种编程的技巧将来都会有大用场,会比别人高出一大截。所以,变成竞赛的价值就不仅仅在于拿名次了。当然能拿更好。
数学 主要是 培养 你 严密的 逻辑思考能力的,不能说 没有价值。所以 一般 理科生 都比 文科生 严谨,务实。
-
MrAnderson
- 论坛精英

- 帖子互动: 217
- 帖子: 7363
- 注册时间: 2022年 7月 23日 11:57
帖子
由 MrAnderson »
逻辑思考能力是系统地学数学学出来的,竞赛题都是各种奇技淫巧,而且经常是要利用巧合情况,所以对严密逻辑并无帮助。
Jack12345 写了: 2022年 9月 2日 11:46
数学 主要是 培养 你 严密的 逻辑思考能力的,不能说 没有价值。所以 一般 理科生 都比 文科生 严谨,务实。
逼将有三种:老逼将,小逼将,装逼将
消灭买办是唯一出路
所谓女性解放,就是人类走向灭亡的开端
哈,狗子急了
-
verdelite(众傻之傻)
- 论坛元老

- 帖子互动: 922
- 帖子: 22716
- 注册时间: 2022年 7月 21日 23:33
帖子
由 verdelite(众傻之傻) »
MrAnderson 写了: 2022年 9月 2日 11:50
逻辑思考能力是系统地学数学学出来的,竞赛题都是各种奇技淫巧,而且经常是要利用巧合情况,所以对严密逻辑并无帮助。
赞。数学竞赛训练出来就成了废物。
没有光子;也没有量子能级,量子跃迁,量子叠加,量子塌缩和量子纠缠。
-
TheMatrix2
- 论坛点评

- 帖子互动: 30
- 帖子: 2497
- 注册时间: 2022年 8月 20日 22:11
帖子
由 TheMatrix2 »
verdelite 写了: 2022年 9月 2日 11:56
赞。数学竞赛训练出来就成了废物。
物理竞赛呢?:)
-
verdelite(众傻之傻)
- 论坛元老

- 帖子互动: 922
- 帖子: 22716
- 注册时间: 2022年 7月 21日 23:33
帖子
由 verdelite(众傻之傻) »
物理竞赛,训练出来的有这个特征:追求完美。算出来等于0.5,pi,都可以,完美。如果等于0.503121就浑身不舒服,所以不适合再学工科和统计。
如果大学继续学物理,就会感觉标准模型很完美,麦克斯韦方程很完美,薛定谔方程很完美,发现不了它们背后的问题。然后如何学习实验物理就又浑身不舒服了。最好的出路是出家,因为佛教看起来也很好。
没有光子;也没有量子能级,量子跃迁,量子叠加,量子塌缩和量子纠缠。
-
jiujianoufu
- 论坛精英

- 帖子互动: 292
- 帖子: 6915
- 注册时间: 2022年 7月 25日 06:54
帖子
由 jiujianoufu »
精通C后,转Python不要太简单。反之则不然。如果孩子真是那块料,应该先搞C。
-
MrAnderson
- 论坛精英

- 帖子互动: 217
- 帖子: 7363
- 注册时间: 2022年 7月 23日 11:57
帖子
由 MrAnderson »
python其实表达能力很强的,虚函数什么的都有。
jiujianoufu 写了: 2022年 9月 2日 16:44
精通C后,转Python不要太简单。反之则不然。如果孩子真是那块料,应该先搞C。
逼将有三种:老逼将,小逼将,装逼将
消灭买办是唯一出路
所谓女性解放,就是人类走向灭亡的开端
哈,狗子急了
-
stm32
- 著名点评

- 帖子互动: 96
- 帖子: 4018
- 注册时间: 2022年 7月 26日 12:34
帖子
由 stm32 »
Jack12345 写了: 2022年 9月 2日 11:13
你能 发一道 典型的 比较困难的 程序崩溃的 C语言题吗?包括题目 和 你们的解答。我有兴趣看一下。发短信过来 或 邮件过来 都可以
程序崩溃的一下找不到了。短信给你看一个最新的有问题程序,是其他问题。对小孩是挺难的,
程序崩溃很容易出现的,你随便编译个程序,分配一个2M或者更大数组,一运行就出错了,也不说为啥