C语言踩坑笔记搬运(1)
下面是经其他助教们授权发布的 我们总结的一些坑点(版权归航C课程组所有):
第⼀次上机,相信对于⼤家是印象深刻的,从理论应⽤到实践,从⽤眼看到动⼿写,从听⽼师讲到独⽴思考,会发 现很多东⻄不是那么熟悉,容易犯很多错误,⼀学就会,⼀做就废。不过,这种情况很正常,特别是对于新⼿来 说;助教们的建议是,多写,多练,多犯错,多解决错误,每次上机未完成的题⽬可以在课后结合题解去完成,练 习赛有充分的时间,可以去巩固练习。
中⽂括号,中⽂引号,中⽂分号等都是错误的.建议将键盘锁定为英⽂输⼊法(我cbj的搜狗五笔输入法锁定了中文下使用英文标点)

仪光之屑cbj曰:
^ 这个符号是按位异或(XOR) 常用的位运算
运算优先级这个东西,记不住没关系! 括号加起来! 全都给我加括号! 不要怕麻烦或者嫌弃表达式太丑 你自己决定想怎么算就怎么算,想先算谁就先算谁!我们的目的是AC AC AC!

仪光之屑cbj曰:现在没学指针,理解不了没关系,多用用,用多了后面咣咣咣都给他背下来,学会指针就好理解了.


不要验证数据范围,数据范围是帮助你做题的 这种条件判断完全多此一举,而且会出错(不过编译)

来自助教负责人cbd大哥的提示:

仪光之屑cbj补充曰:长度1024以下这样的小数组开到函数里面,长度10000以上的大数组开到函数外面,开成全局的.借用去年航C的著名助教小迷弟wzb大哥的话,main函数里面是你家,main函数外面是马路,你家来十几个亲戚,家里是住的下的.但是如果来几十万个朋友,家里就塞不下了,就无奈只能让他们睡大街了.
关于火仙草那个题,for循环+条件判断又不会出错,这种枚举也不是不可以,但是你不嫌累吗?

虽然⼈类的⼒量是⽆穷的,但是⾮常⾮常不建议这样做,这样还是传统的书本思维⽽⾮计算机思维,花费了⼤量的 ⼒⽓却不讨好,没有享受到计算机带来的便利;
字符画建议使⽤查找替换功能 (后面更新一个仪光之屑cbj自动生成字符画AC代码的代码)
缩进糟糕,导致代码逻辑看起来很混乱,可以参考⼀下书上的缩进
VS2022或者VSCODE可以自动格式与缩进,很舒服
这些问题可能对写对题⽬没有影响,但是绝对不是⼀个好的编程习惯。当代码量增⼤时(如《编译原理》课程代码 动辄万⾏),这种不好的编程习惯对你造成的困扰是⾮常⼤的。
最后,是助教们的一点感受:
对于很多同学,航C(即C语⾔程序设计)这⻔课是上的第⼀⻔编程课——或者你之前接触过⼀点 Python , however——C语⾔的难度并不低。课堂上⽼师强调的多是语法学习,类⽐到⾃然语⾔的的学习,就是教你⼀句话 怎么说单词怎么⽤,⽽编程尤其是航C包含的题,则是要你写⼀篇能发表的作⽂出来。我的看法是:不要着急和最厉害的那些同学⽐,⼀点点来,形成良好的代码习惯,多交流多讨论,积极写题,也不 要过于较劲。参考书倒不是必须的,虽然现在 CSDN ⻛评不太好,不过上⼀上找找别⼈的代码思路还是很不错的。 善⽤搜索引擎!!你的⼤部分问题别⼈都问过了。有余⼒多看看函数原型。(来⾃助教董老师)
附件:cbj的自动生成字符画的参考代码