{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

我学了怎么久C语言,为什么我连到简单题目都要想一整天?明明代码量很少的题目,我的代码要比别人多得多?

dongfangyiyudongfangyiyu 回答0 收藏2
收藏问题

1条回答

mzlogin

mzlogin

回答于2022-06-28 15:34

这说明你要么C语言还未熟练掌握,要么数学基础要稍差。如果这两者都学明白了,编的程序不仅简单,而且可读性好。

C语言没学明白,未考虑程序设计的架构。别人用一条语句就解决了问题,而你会用很多语句才能凑合实现。

比如:要做一个程序,统计一下学校各个班级学生的年龄、性别、家庭、关系、各科学习成绩等情况,用C语来做。

一般有经验的人直接做一个结构struct,包括学校、年级、班级、年龄、性别、家庭、关系、各科学习成绩然后做一个结构指针,申请一个数组大小,那么,最后只用fread/fwrite一条语句即可实现所有结构的读写。

fread(p,sizeof(struct sp),1,N);

如果你不熟练,不考虑程序结构,把年级、班级放在结构之外,不仅程序复杂,而且条理不清。这样,每个班、年级都要用fread多余写N行。

数学基础差,基本算法模糊,导致做程序时要不断地补习基础知识,使得编程很慢。

做AI软件,需要做轨迹计算方面的处理。平面、空间两条直线相交、平行的位置关系,两条直线L1,L2的夹角α,直线L与园弧A、园弧A与园弧A的位置关系,相交时的交点P1,P2取舍判断,估计分分钟让你觉得数学基础还差的远,特别是做成程序来检验你的数学水平。

数学水平一般,逻辑性差,即使给你一个月时间,基本框图都整不清楚,更何况做一个好用的应用程序。

总结:做软件很慢,说明对软件编程语法、函数库还很陌生,只是看明白了程序中的英文单词,未能彻底领会其真正含义。再一个就是数学一塌糊涂,似是而非。

一步一个脚印,多练习,多分析,多交流,相信软件感觉很快就会好的。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<