我学了怎么久C语言,为什么我连到简单题目都要想一整天?明明代码量很少的题目,我的代码要比别人多得多?
这说明你要么C语言还未熟练掌握,要么数学基础要稍差。如果这两者都学明白了,编的程序不仅简单,而且可读性好。
C语言没学明白,未考虑程序设计的架构。别人用一条语句就解决了问题,而你会用很多语句才能凑合实现。比如:要做一个程序,统计一下学校各个班级学生的年龄、性别、家庭、关系、各科学习成绩等情况,用C语来做。
一般有经验的人直接做一个结构struct,包括学校、年级、班级、年龄、性别、家庭、关系、各科学习成绩然后做一个结构指针,申请一个数组大小,那么,最后只用fread/fwrite一条语句即可实现所有结构的读写。
fread(p,sizeof(struct sp),1,N);
如果你不熟练,不考虑程序结构,把年级、班级放在结构之外,不仅程序复杂,而且条理不清。这样,每个班、年级都要用fread多余写N行。
数学基础差,基本算法模糊,导致做程序时要不断地补习基础知识,使得编程很慢。做AI软件,需要做轨迹计算方面的处理。平面、空间两条直线相交、平行的位置关系,两条直线L1,L2的夹角α,直线L与园弧A、园弧A与园弧A的位置关系,相交时的交点P1,P2取舍判断,估计分分钟让你觉得数学基础还差的远,特别是做成程序来检验你的数学水平。
数学水平一般,逻辑性差,即使给你一个月时间,基本框图都整不清楚,更何况做一个好用的应用程序。
总结:做软件很慢,说明对软件编程语法、函数库还很陌生,只是看明白了程序中的英文单词,未能彻底领会其真正含义。再一个就是数学一塌糊涂,似是而非。一步一个脚印,多练习,多分析,多交流,相信软件感觉很快就会好的。