大学生如何学C语言

自动化专业的学生,大一学了C语言基础,大二数据结构没怎么学,现在专业课要编代码突然发现当时学得c语言无法解决现有问题,c语言该怎么学?好像很多问题都是我不知道一些特殊函数... 自动化专业的学生,大一学了C语言基础,大二数据结构没怎么学,现在专业课要编代码突然发现当时学得c语言无法解决现有问题,c语言该怎么学?好像很多问题都是我不知道一些特殊函数,而且大一只学了源程序的编写其他那么多又该怎么学? 展开
 我来答
每官酷628
2019-08-05 · TA获得超过165个赞
知道答主
回答量:209
采纳率:0%
帮助的人:13.8万
展开全部
相对于其他编程语言,C语言还是比较难的。初学者需要注意一下几点:
一是学习顺序
先从熟悉简单的C语言语法开始入门,然后再循序渐进,学习C++语法,WIN32、MFC、QT、网络编程,数据库、数据结构、算法、COM、STL等。构建一个完整的C语言知识体系。这需要一个比较漫长的学习积累的过程。语法入门部分大概2-3个月,其他部分需要学习和工作中慢慢理解和消化了。
二是学习方法
人的知识80%是通过眼睛获取的,但是学习编程有所不同,除了看书、看视频之外,关键是要勤动手,勤动脑。通过做大量的练习、项目实战不断积累代码量。只有代码量足够多了,项目做的多了,才能算是真正学会了。项目能否完成,就是衡量是否学会的唯一标准。后期就是代码的质量和优化问题了,这个只能在项目工作中慢慢积累经验了。
最后强调一点,很多人学不会编程是因为掉坑里了。就是教程或者书上的知识点之间跨越太大,作为一个初学者很难自己摸索出来,前面的知识点没有掌握,接着学习后面的知识,肯定是学不会了。目前绝大多数编程书籍和教程或多或少都有这样的弊端。自学能力比较强的人可以通过各种方法,参考各种网上的资料自己解决。但是大多数自学能力不是很强的人,只能依赖老师、同学、同事或者朋友帮忙指导,或者报名培训机构,老师指导完成了。学习编程通常需要一些好的学习资料,包括纸质的书籍,视频教程,课件,项目练习,代码。零基础入门的书籍推荐《明解C语言》、《C Primer Plus》,还有一本非常特别的汇编和C语言正向逆向结合的书编程达人内部教材《汇编、C语言基础教程》也非常不错,讲解汇编和C语言的本质非常透彻,非常细致。视频资料也是特别多了,各种视频网站、论坛、自媒体都有,比如网易课堂、腾讯课堂、慕客网这些。还有一些论坛,比如CSDN、编程中国等。最重要的一点就是答疑服务,推荐爱达人的网站也很不错,从零基础入门到应用课程,配套的视频、课件、代码、项目、答疑服务都有,还可以兼职接单,学以致用。
刀劈华山
2019-03-28 · TA获得超过2272个赞
知道小有建树答主
回答量:1338
采纳率:72%
帮助的人:375万
展开全部

问题一个个来。

  1. 好像很多问题都是我不知道一些特殊函数

这个问题我觉得可能是你学的不够扎实,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语言应该看什么书,其实大学里学的书就够了,但很多教材版本比较老倒是真的,有很多错地地方,你可以去京东或者淘宝看看那些买书的评论哪些符合你当前的需求,一般买的最多的就是推荐的。
至于大学数据结构教材作为数据结构的学习是否足够,其实我在大学时候学的数据结构一塌糊涂,我觉得真的能吃透教材就够了,当然也有新的教材里面的东西更容易接受更与时俱进,可以在看完一本后再买一本看就当接受不同的思维模式了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nursery颖
2022-03-09
知道答主
回答量:13
采纳率:0%
帮助的人:4367
展开全部

好像很多问题都是我不知道一些特殊函数

    这个问题我觉得可能是你学的不够扎实,C语言中的函数的源头有三种:标准库函数、第三方库函数、自己写的函数。你所说的特殊函数如果是memset()、time()、sqrt()等等这类标准函数那就只能死记硬背或者说熟能生巧更多的应该是学会百度;

    请点击输入图片描述

    如果是第三方函数,那就要看第三方的文档,然后才能知道这些函数是干嘛的,这个第三方可能是某个公司或者某个人反正函数不是你写的你就得问写这个函数的人;至于自己写的函数那当然没啥疑问了。至于怎么区分这三种函数最简单的方法就把函数名百度一下。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花非花99999
2019-03-28 · 超过21用户采纳过TA的回答
知道答主
回答量:433
采纳率:30%
帮助的人:32.8万
展开全部
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
极道良人
2019-03-28 · TA获得超过146个赞
知道答主
回答量:1412
采纳率:13%
帮助的人:57.2万
展开全部
没有什么好办法。只有,多多背诵。多请教同学。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式