自动化专业的学生,大一学了C语言基础,大二数据结构没怎么学,现在专业课要编代码突然发现当时学得c语言无法解决现有问题,c语言该怎么学?好像很多问题都是我不知道一些特殊函数,而且大一只学了源程序的编写其他那么多又该怎么学?
问题一个个来。
好像很多问题都是我不知道一些特殊函数
这个问题我觉得可能是你学的不够扎实,C语言中的函数的源头有三种:标准库函数、第三方库函数、自己写的函数。你所说的特殊函数如果是memset()、time()、sqrt()等等这类标准函数那就只能死记硬背或者说熟能生巧更多的应该是学会百度;如果是第三方函数,那就要看第三方的文档,然后才能知道这些函数是干嘛的,这个第三方可能是某个公司或者某个人反正函数不是你写的你就得问写这个函数的人;至于自己写的函数那当然没啥疑问了。至于怎么区分这三种函数最简单的方法就把函数名百度一下。
2. 大一只学了源程序的编写其他那么多又该怎么学
其他这么多指的是什么?如果仅仅是函数的话参照第一个问题,如果是其他的那么就列出来有哪些。
3. 现在专业课要编代码突然发现当时学得c语言无法解决现有问题
当时学了哪些,无法解决哪些问题?学C语言的最终目的都是为了写程序,那么一个C语言的程序都是由.c文件 .h文件 以及.c文件中定义的程序框架(单/多线程/定时器/等)、变量及类型(int/char/全局/局部/静态/等)、数据结构(结构体/红黑树/链表/等)、函数方法(voi man()/time()/自定义()/等)、算法(排序/等)、内存管理(堆/栈/静态/动态)、指针等来组成一个程序,你是其中哪个模块不清楚呢?
4. c语言该怎么学
很大的一个问题,无外乎几个关键点和难点。关键点参照第3个问题回答,难点只要是算法和数据、指针,这个没办法不懂就问老师或者网上找资料。关键点和难点就是基本功,然后有了基本功就可以根据项目(课后项目入管理系统之类的/等)练手,也可以进公司实习练手,最终成为大佬。
追问感谢,但还想再请教一下。其他是指我还想进一步提升c语言应该看什么书?关于头文件和工程什么的都没讲。我遇到的问题比如说农夫狼羊白菜的自动求解,简易动物识别系统这些。我就总感觉少了点什么编不出来,大学的数据结构教材作为数据结构学习的材料是否足够?
追答你举得例子,如农夫狼羊白菜的问题,其实是一种把抽象的东西用代码表达出来的做法,初期确实会很别扭,因为不知道该怎么抽象,比如把什么当作一个变量,这个变量是否应该是一个数组甚至是二维数组,是该用for循环还是if else,这个只能靠想象或者说勤能补拙,就好比小学第一次从正方形接触立方体的时候,也很难想象三维的东西。所以你觉得少了点什么就是少了这份抽象的思维。
提升C语言应该看什么书,其实大学里学的书就够了,但很多教材版本比较老倒是真的,有很多错地地方,你可以去京东或者淘宝看看那些买书的评论哪些符合你当前的需求,一般买的最多的就是推荐的。
至于大学数据结构教材作为数据结构的学习是否足够,其实我在大学时候学的数据结构一塌糊涂,我觉得真的能吃透教材就够了,当然也有新的教材里面的东西更容易接受更与时俱进,可以在看完一本后再买一本看就当接受不同的思维模式了。
真心感谢
本回答被提问者采纳