问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何学习C语言

发布网友 发布时间:2022-03-22 09:48

我来回答

15个回答

懂视网 时间:2022-03-22 14:09

热心网友 时间:2022-03-22 11:17

很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言? 我是一个教师,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序这几乎听起来很可笑,不懂C语言,你想写出优秀高效的程序,这简直就是天方夜谭。为什么C语言如此重要呢? 第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。 那么究竟怎样学习C语言呢? 1:工欲善其事,必先利其器这里介绍几个学习C语言必备的东东:一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。一本学习教程,现在C语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我们当初学习,只有读书做题这么老套。我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。 2:葵花宝典学习计算机语言最好的方法是什么?答曰:读程序。没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。 3:登峰造极写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。 那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给大家推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高 手的人研读此书。[编辑:赵晋军] 二,语言学习方法 谈谈偶的学习方法,抛砖引玉! 学习不论讲不讲方法,最终都能学会。但是别人1个月学会了,而你却100年才学会,这不就晚了么?:)所以说,学习还是要讲究方法的。学习方法正确,事半功倍;学习方法不正确,事倍而功半。 什么才是学习C语言的捷径?我的答案是看书。书中所写,是前人数十年经验所写,看十本书,就相当于汲取了前人数十年的功力,那么你的内功也会迅速上升1甲子。:)书当然要看好书,只有好书才营养丰富。假如你花了1天时间看了一本破书,而该书介绍的知识虽然对于你来说是全新的知识,但是由于书中组织不当、或者深度不够,使你获取的营养很少,还不如自己研究一天来的快,这种书就不值当看了。学习C语言要看那些好书?我认为首先要把基础书给看扎实了,比如《C语言之四书五经》中介绍的4本。(虽然这些书很多已经*了,但我相信电子版也是很有益处。况且,如果你真的想看,我相信你一定有办法搞的到。)这些书你会在很短的时间内看完(比如一两个月),这取决于你的基础和悟性。 之后要看那些书呢?我不妨再列几本。Bjarne Stroustrup的《C++程序设计语言》theC++Programming Language)一定要看,这本书里面对于C的一些基础概念的定义,比我见过的其他任何C语言书都要全,都要仔细;Bjarne Stroustrup的《C++语言的设计与演化》(The Design and Evolution of C++)和David R.Hanson 的《C语言接口与实现 创建可重用软件的技术》(C Interfaces and Implaementations Techniques for Creating Reusable Software)一定要看,这两本书讲述了如何用C来实现异常处理、实现类型的封装和扩展等一些大的项目中经常用到的高级技术。其他的书,操作系统的要看,编译原理的要看,算法的要看,模式的也要看。读书破万卷,coding如有神。 总而言之,就如《传》中云:“生而知之者,上也;学而知之者,次也;困而学之又其次也。”我们不能总是因困而学之,而要做到兵马未动,粮草先行。看书是学习的导向,书中能一一介绍清楚概念,但书却不能把应用的细节一一介绍给你,因为应用总是招数繁复,变化多端。因此我们要想熟悉招数,懂得书中所讲怎么使用,还要多读源码。Linus给别人解答问题的时候,常说Read the *ing source code;候捷也在其文中提到“源码之前,了无秘密。”这就是大师的箴言呀。源码就像是动画、就像是幻灯片,把书中的招式一一演练给你看。可以说高手的经验大都是源自代码。源码和书一样,也是要看好的,不要看差的。在此,我推荐看Linux kernel source code 和 Linux tcp/ip source code。这两套代码都是开源的,垂手可得。此外,还可以配合着Andrew S.Tanenbaum的《操作系统的设计与实现》(Operating Systems:Design and Implementation)、毛德操 胡希明的《Linux内核 源代码情景分析》、Jonathan Corbet,Alessandro Rubini,Greg Kroah-Hartman合著的《Linux设备驱动程序》(Linux Device Driver,3e)、W.Richard Stevens《TCP/IP详解(3部)》 (TCP/IP Illustracted )、W.Richard Stevens《UNIX环境高级编程》(Advanced Programming in the UNIX Environment,新版增加了Linux kernel的内容)等书来看,方便的很。当然程序不是看出来的,是写出来的。我高中的时候每天坚持写6个小时程序,《数据结构》和排列组合、图论方面的习题反复做了N遍。到现在虽然已经时隔五六年,很多内容早已淡忘掉,但却培养了我很强的编码能力和调试能力,直到现在还对我的工作有很大的帮助。

热心网友 时间:2022-03-22 12:35

1.C语言是一种面向过程的编程语言,非常靠近底层的编程语言,相对来说来讲语法细节不是很多,但是这种自由组合的力度,灵活性非常强,真要组合起来代码也是比较难看懂的,所以linux内核源码真正内核机制方面的代码基本很难看懂,关键在与灵活运用,所以要想掌握的彻底就需要把基础概念彻底搞明白,C语言难易理解的概念也就是那么几个,指针,指针函数,回调,递归等概念。可以来和大家一起学习交流

2.C语言的学习要选择一本经典的书籍为切入点,很多初学者开始弄上一堆书,无形之中给自己增加了很多压力,配合上网络上视频,编程的学习是一个建立知识体系的过程,知识体系的建立需要一个折腾以及思考的过程,不建议全部以视频为主项的学习,视频会把每个知识点都讲得非常透彻,毕竟这些都是告诉浓缩的经过精细加工的东西,直接给你和你自己靠努力去获取完全两种不同的感觉,做过实际项目的都应该明白,解决一个自己不懂的问题,过程很痛苦但留给自己的印象最深刻,反而对于建立知识体系有好处,在看书的过程中可以让思维不停的跳动,即使是错误的思维方向也是拓展的一种。建议学习C语言以一本书为基准设置一个计划,然后按照这个计划推进,遇到不懂的找对应的视频去解决,解决完了再次回到书本之中,在这推荐一本C语言入门书籍(c primer plus)

3.无论理论学到什么程度,总要找到实践平台去练手,可能这对于初学者而言比较难,如果是在学校里面,途径相对少点,有些学校里面老师本身会接一些项目,正好需要一些基础还不错的人一块帮着去做,这都是不错的机会,前提基础要弄好。当然最直接的是研究开源社区的代码,代码可以直接拿到,先从看懂代码开始,能看懂代码也是一种巨大的进步,毕竟代码都不是孤立的,需要连串着去看,需要从代码里面抽象出中心思想,然后尝试着去修改,虽然看起来距离实际的项目有距离了,但这是做项目之前必经之路,先从修改简单的功能入手,然后再慢慢切入,做任何事情都需要有个过程。

学习编程要保持足够的耐心,起码让自己在大染缸里面,呆上一段时间,不要轻易下结论自己不适合这个行业,没有什么做不成的事情,关键看坚持的力度。

热心网友 时间:2022-03-22 14:10


1、《The C Programming Language》(后面称为 K&R)里面包含了一个简单的语法解析器,包含了malloc如何实现,包含了一个完整的操作系统目录浏览程序,这些程序的实用性极高,可以这样说,如果学习任何一门语言能够自己独立动手实现以上的功能,基本上就可以算是入门了;

2、《C和指针》指针的重要性,学过C语言(或者C++)的朋友都知道,这本书更是把指针拔高到了与C语言平起平坐的地位,其实也是从头开始介绍,作为教学参考书也是可以的;

3、《C标准库》这本书是专门介绍C语言的标准库如何实现的,比如malloc算法,用标准的C语言该如何写?strlen这个函数应该如何实现?尽管书中不少代码与真实的C标准库相差很多(由于标准库需要考虑性能优化,很多函数有一些特定的trick),但是绝对值得参考;

4、动手实验环境搭建


Windows系统下推荐大家使用Code::blocks这个软件。这个软件最大优点是自带了基于mingw的GCC以及GDB,只要下载70M左右软件包,就可以完整支持C++、C语言编程了。各种功能(比如调试功能)也很强大,版本更新也比较快。

5、对于计算机专业的学生朋友,建议大家使用Linux操作系统,或者更详细一点是使用Xubuntu操作系统作为桌面,使用Netbeans和GCC这个组合(当然也可以选择Code::Blocks)。在Xubuntu下可以通过apt-get install build-essential这个命令安装gcc相关程序,已经可以在Terminal下编译C语言程序了,但为了使用方便,大家可以选择Netbeans的C++支持包,在Netbeans网站上就能下载;

6、网络资源


要学好C语言,在网络上找资源肯定是必须的,这些网络资源对学C语言的人就很有帮助,
一些有用的C语言网络资源:
C语言标准化组织ISO JTC1/SC22/WG14的主页,在这里可以找到ISO C的文档
《The Development of the C Language》作者Dennis Ritchie,极为经典的论文。 
Dan Saks在embedded.com上的专栏Programming Pointer,里面文章很有深度,值得一读。

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。

它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

热心网友 时间:2022-03-22 16:01

学习一门编程语言,首先要弄清楚一些基本的概念和认知。

1、什么是编程?

通俗点讲,编程就是跟计算机对话,让计算机按照我们的描述去执行任务。因为计算机不能直接听懂我们人类的语言,所以我们需要一种计算机能听懂的编程语言来跟它交流。编程语言其实跟我们人类的语言有很多相似之处,但是它更强调逻辑性,是我们跟计算机协商好的一组协议。 

例子:比如画一条直线

人---------》人(中国人)

“小明,帮我在这张纸上画一条直线,好吗?”

人---------》人(英国人)

“Xiao Ming, can you draw astraight line on the paper for me?”

人---------》计算机

line(100,100, 500, 500);



以上三个比较,貌似跟计算机打交道比较简洁啊,而且绝对听话,只要你的命令它能办到,绝不会有半句怨言,实在呀。(哈哈,生活需要幽默,编程也同样需要。)

2、为什么要学编程?

先问你另一个问题,为什么要学英语呀? 

可能你会说,学了英语可以跟外国人交流呀,读一些原版书籍,了解西方文化等等好处。

编程也是一样的,它也是一个工具,是我们跟计算机世界交流的工具,计算机有超强的计算能力和记忆力,这正是我们人类的短板。


当我们把人类擅长的想象能力和创新能力,与计算机相结合,互补优势,就可以创造出一些提升我们生活和工作效率的作品。


新东方李笑来老师的《21天突破TOEFL核心词汇》就是通过运用程序统计出来词频,然后整理得来的,如果你有类似的好想法,编程绝对是你提高效率的一个利器

学习编程不但可以让我们创作出高效的工具,同时也是锻炼自己大脑的一次绝佳机会。至少可以提高一下几个能力:


逻辑能力:

工具的使用能力:

自学能力:

耐心:



3、学习C语言编程可以做什么?


a、可以做个小游戏,自己玩自己设计的程序,爽!


b、可以把自己的一些想法通过程序实现了,提高效率,或者干脆只为了好玩。


c、Linux、Windows、Android、iOS等主流的操作系统核心都是由C语言开发的,C语言是底层的语言,执行效率高,跟硬件很近,学完后可以玩下单片机或者其它嵌入式的产品编程。


d、学会了C语言,再学其它语言,就会感觉 so easy! 


再次掌握一些必要的概念:

编程入门,需要掌握的最少必要概念

掌握清晰必要的概念是我们快速入门一个新领域必要的步骤,编程是一项严肃的事情,我们是认真的哈。


1、给大家介绍几个必要的概念


编辑:这个就不多说啦,就是像写world文件一样,把代码写进编辑器就是编辑啦!


编译:就是把我们人类编写的代码,转化成计算机能识别的二进制语言,即0和1组成的机器码,因为计算机最终能识别的就只有二进制语言。


源代码/源程序: 我们人类编辑好的代码,且没有经过编译的,就是源代码或者源程序,我们人类是可以看懂的(当然要学会编程以后了)


调试:有时候我们程序运行的结果偏离了我们的预期,我们需要分步来检查是哪里出了问题,就像一台罢工的机器,需要调试找出毛病,然后修改好。


链接:我们程序有时候会根据功能的不同由几个模块组成,当我们把程序编译好以后,这些二进制的模块,需要链接起来,才会达到我们预期的效果,当然我们可以通过集成开发环境 IDE 来完成,而不必手动去链接各个模块。


IDE:中文叫集成开发环境,就是将代码编辑器、编译器、调试器和图形用户界面等工具整合到一个可视化的软件中,方便我们开发编程使用。


执行:这个也好理解,就是编辑、编译、链接、以后,让程序真正运行起来就叫程序的执行。



内存:望文生义,就是计算机内部的存储空间,程序运行中一些数据都存储在内存中,断电后会消失,但内存拥有非常快的读取和写入的速度。对比“外存”,也就是硬盘,硬盘断电不消失,但存储速度相对较慢。所以内存是用来给CPU使用的,满足CPU快速读取数据。


2、介绍一下一个应用程序生产的流程和组成

一个C程序产生的(粗略)流程:

(1) 构思和设计程序的功能

(2) 设计数据结构

(3) 编写代码,

(4) 编译,

(5) 执行,

(6) 交互+呈现,

(7) 结束


一个C程序的(粗略)组成:

(1) 逻辑处理

包括条件判断、数学计算、流程控制、数据结构、变量、常量等。

(2) 用户交互

包括,键盘控制、鼠标控制

(3) 视觉、听觉呈现

图形和图片的展示,视频、flash的播放,歌曲等声音的播放

(4) 数据部分

数据的查询、新建、修改、删除


掌握了以上必要的概念后,我们就可以大胆的进行下一站的学习喽,学习是一件投资回报率贼高的事情,很高兴我们已经走在学习的路上,大家一起撸起袖子学起来喽!


微信公众号:《肖申克之自由鸟》http://weixin.qq.com/r/h0SEnOvEerYFra--9xGV



热心网友 时间:2022-03-22 18:09

1、首先准备一台PC,学编程一般对PC没有太大的要求,一般主流的配置就好。
2、有了电脑之后,就得考虑安装什么操作系统了,主流使用的操作系统是windows,不过在这里不建议学习C编程使用windows,建议使用Linux。所以学习者最好安装双系统,或者彻底习惯Linux系统。
3、不管学习哪门编程语言,我都建议学习者必须有一本关于此语言的全面知识的书籍,大一般采用的是谭浩强老师的《C语言程序设计》,还有
《C语言C++学习指南》从入门到精通(语法篇)视频课程在线学习等,建议学习者可以去仔细研读。
4、在平时学习看书的时候,一定有学会做笔记的习惯,而且不仅要记录,还要经常看自己所做的笔记,这样才会有较好的学习效率。
5、多逛技术论坛或者技术问答社区,想别人分享自己的代码,有要积极去阅读别人的代码,互相取长补短。
6、在C语言基础学习得差不多之后,可以深入学习数据结构,以及自己尝试做一些简单的项目,比如学生学籍管理系统、图书管理系统,银行管理系统等。
7、语言功能掌握到一定程度之后就是要考虑方向的时候了,建议向嵌入式编程方向发展,这是你就有必要学习一些硬件的东西。嵌入式产品在航空、医疗、家电、消费电子、汽车电子、移动等众多领域都可以看到,应用领域极为广泛,所以现在嵌入式开发相当热门,并且具备非常好的发展前景!

热心网友 时间:2022-03-22 20:34

回想一下,我去年的时候也和你是一样的状态吧,也有类似的疑惑,一年时间的成长,现在身在大二的我虽然谈不上很厉害吧,但是也算是走过了最初的那段迷惘吧,就分享一下自己的感受与经历吧,希望对以有帮助。

一:现在大一上学期应该只学一门专业课,除了数学与英语课之外,还是有很多的业余时间的,抽出一小部分去了解一些计算机的文化吧。举个例子吧,比如计算”机科学之父”,艾伦.图灵的生平啊什么的,了解一下他是如何以一个数学家的身份去首次提出图灵思想的,再比如他是如何创造性的提出“机器可以思考吗”这样子的论文而开创了AI的先河的。

这是说了一个人物的了解吧,再比如你可以去了解一下计算机的发展历史啊,比如第一台计算机是在1946年诞生于美国的宾夕法尼亚大学的;再或是去了解一下你们的C语言的发展史,等等等等,这些东西没有必要刻意的去看,兴趣来了偶尔去百度一下子,会开阔一下见识与思维的,而且还可以增加自己对相关领域的兴趣程度。
这些知识如果要系统的细看的话,可以去看<计算机导论>,或是<计算机科学概论>这两本书讲的是比较系统的,都是简单的提一下计算机科学体系吧,没有深入的讲解部分。

二:计算机科学知识的学习是最注重循序渐进的,注重基础的,万万不可跳跃性的学习,当然你是天才或是个别的话我只能膜拜了,至少我是一步一个脚印学过来的。我们不讨论哪一门语言才适合做大学计算机相关专业的第一门编程课的问题,我们是C语言,也听说很多学校都是以C语言为第一门编程语言对待的,我想大部分都是吧。那我们就把C语言尽自己的最大努力学好吧,有一些学弟学妹会问一些问题,自己不会敲代码怎么办?还有人会说能看懂别人写的代码,但是自己就是敲不出来。

这些问题我曾经也遇到过吧,首先要明确一个观念:C语言不难学,一点都不难学。这门课程不需要那么多的动脑筋的地方,就我感觉还没有数学难呢,当然这仅仅是一孔之见吧。入门一个语言最重要的是要选择一本好书,一本能够以最简单的描述来表达出基本知识的书,我想很多国内的首学C的人会选择谭老的C吧,我当时也不例外,因为毕竟是国人写的书,在问题描述与问题展开与循序讲解的过程中透漏的思考问题的方式都是符合国人思考方式的,所以易于理解吧,当然如果喜欢读外国的名著当然也是可以的,比如C之父的,这当然是传世经典之作了。
还要明确一个观念是:谭老的书仅仅是作为一个最基本语法的讲解书,看完谭老的书后确实会把很多语法细节学到,但是这也仅仅是语法,只能保证你会用这些语法了,你是知其然而不知其所以然。看完谭老的书后最好把这本书看看,而且更要仔细的看,这个时候有了基础后看起来会轻松一些的,会发现有很多原理性的讲解了,而且会有一些谭老书中讲不到的细节。看完了后会有一种小小的豁然开朗吧。
以上说的看书,过程应该是这样子的:看基本语法,看书上的例题,试着自己去敲一遍例题,即使你看懂了例题,但是让你合上书自己敲,我保证还是会出错的,肯定是某些地方理解的不够透彻,再看书,然后再敲,直到无误的敲出为止。慢慢的经过一段时间的坚持练习,会发现自己合上书后敲的时候错误越来越少了。然后是做课后的习题,最开始看懂例题去敲书后习题也是很难下手的,但是要尝试,第二次写习题就不会那么纠结了。编程容不得一点的掺假,必须要动手去敲代码,而且还要准确无误的敲出来。不可手写而不去上机验证。
还有就是培养一个习惯:先思考清楚问题,然后再去敲代码。因为我们敲代码仅仅是为了用程序设计语言把我们人的思维转换成了计算机可理解的方式了而已。有的同学会看完题目不思考就直接敲,发现总是会出一些错误,然后在那苦*的各种改啊调试啊等等,这样子不是一个好的编程习惯。

三:认真的看书,做练习题,敲代码。这样子下来一个学期完全可以把C语言学好的,一般性的题目是没问题的。学习了程序设计语言后会发现我们的思维在慢慢的转变,我们思考问题的方式也在更加的严谨了,这是学习编程的结果。

如果有兴趣的话可以考虑进阶了,去学习,吧,这两本书会介绍很多在课程老师讲不到的,在一般性的书上看不到的。更多的是站在编译器的角度去看待代码,看待基本的语法了。比如编译器如何编译语言并生成可执行二进制文件的?这个编译的过程是怎样的?编译器又是如何奖产生的.exe文件交给CPU执行的?一个基本语法的规则背后肯定是和编译器的某一项工作原理是契合的,举个例子吧:大家都知道的函数中的普通变量是在函数的调用结束后悔自动销毁的,而我们在函数中定义的静态变量,也就是用static修饰的类型变量,他的内存空间在函数调用结束后是不会销毁的,这是为什么呢?这是因为编译器为我们的程序分配的内存进行了一个分类,把不同类型的变量分门别类的存储,这样子便于管理。至于变量内存空间销毁与否的区别就不在这细说了。当然两本进阶的书我是当时没有看,也是后面的学习中翻了翻的。

四:最后不得不说的是,还要把数学学好,这个好并不是要投入很多的精力在上面,但最起码你要能独立写得出习题,考试不要分太低吧。计算机科学还是很依赖数学的,毕竟图灵与冯诺依曼两位大师都是数学家出身呢。数学更多的是培养一个思考问题的方式吧,通过做一些习题是很锻炼自己对问题的认识与整体把握的。

学习更多C语言知识可以点击http://blog.sina.com.cn/cyuyanxuexi

热心网友 时间:2022-03-22 23:15

如果刚开始接触c语言,听不懂也正常,不要有畏惧的心理,有些小伙伴可能看到部分同学什么都会,自己就很气馁,因为这部分同学很可能接触编程比较早,即使小孩学走路也有一个过程,刚开始有走路*->学会站立,腿部有力量->尝试走路,不断练习->学会走路。所以不要慌。

学C语言与走路一样,刚开始一定要有学习的*,然后,再制定计划,不断练习,量变会引起质变,坚持下去就发现原来这么简单。

欢迎关注 公众号:c语言与cpp编程,关注后,回复“加群‘’进微信学习交流群

1、学习资料

书本推荐:《c primer plus》难得的好书。老谭的书可看可不看,但是这本蓝皮的c primer plus是我案头必备的参考书,后面还有完整的c99标准库,所以适合当个参考书。注意区分一下《c++ primer》和《c primer plus》

如果觉得这几本书还是有点难,那就先看《C语言程序设计》

有了经验后要去看看,例子很经典。后来进阶可以看看三剑客《c和指针》《c陷阱与缺陷》《c专家编程》

刚学C语言的话可以结合看下C语言编程经典100例;

编译器:VS,DevC++,VC++,CodeBlocks,C-Free,Turbo C。关于它们的特点网上介绍很多了,就不赘述了。讲真,入门和基础阶段你用哪个无所谓,还是选自己喜欢的,不过对于初学者我们推荐Dev C++。可能现在大学课堂用的还是VC++,刚入门自己习惯就行。

视频推荐:有同学曾经说过,视频这么好,上课就不用听讲了,这个是完全错误的,视频是课堂补充,上课还是一定要好好听讲的,视频可以查缺补漏,系统的学习一下。

 

上面提到的一些资料整理好了,可以下载:

链接:https://pan.baidu.com/s/14VrZ5yCg9EC2YEBA1GKUjw

提取码:1234

学习方法:

1、过:学习一门新的语言,第一步就是把它所涉及的基础知识大体过一点,不求深解,只求了解——第一遍:无需了解太过深入的理论,大体知道这门语言是什么样的,主要面向哪些场合,一些基本的语法格式是什么样的就可以了。

2、抄代码:刚开始写代码,没有多少人一上来就能立刻自己写一个很完善很强大的代码,甚至连基本的语法都会写错,这时候抄代码就很关键了,从书上抄,从例子里抄,边抄边想,边想边回忆语法。

3、模仿改:自己会抄写一些简单的代码,熟悉了一遍此语言的简单语法后,但还不太清楚怎样下手写一个完整的代码模块,所以这一步要仿写了,仿照给出的代码写一个属于自己的代码

4、勤调试:没有人能一下子写出完全正确的代码,自己试着写一些代码,通过不断调试来验证自己的一些想法,继续思考,再次验证,来回折腾。熟悉一些基本的调试工具以及调试方法。

5、看n遍:出错或遇到问题时,将代码从头看到尾,看了一遍又一遍,直到快全部记住时,总能找出问题原因,相信方法总会比问题多

6、练重复2-5步三遍以上,不解释。

7、创新拿出一个完全没有写过的代码,根据要求,一步步的写出来。如果写不出来,或者中间一堆错误,请参考第六步。

8、悟:主动找到写代码的感觉和成就感,并保持下去,世界上最难的语言就掌握了,将成为你软件生涯永远的工具。

热心网友 时间:2022-03-23 02:13

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

热心网友 时间:2022-03-23 05:28

你既然喜欢编程,就应该认认真真的学习一门语言,先从VB开始,VB是比较好的入门语言,可视化的,比较简单,是非常好的入门语言。书籍最少应该准备两本,不可能一本书籍会包含VB的所有内容,在看书的时候,可以交叉的看,一本书籍中没有讲到的内容可以在另一本中看到,这样对学习是很有好处的,也能保证所学知识的完整性。学编程是一个很漫长的过程,不要着急,要理论与实践想结合,例程书籍也是很重要的,看源代码对学习也是很有帮助的,等你学完这门VB语言之后,学习别的语言是非常简单,可以尝试C语言,按照C——C++——VC的顺序学习,有助于知识的连贯性,我也希望你能学好的。
学习C语言,谭浩强的《C程序设计》是一部非常好的C语言书籍,学习程序设计是一个非常漫长的过程,不要着急,一本书多看两遍三遍,学会交叉学习法,在学习C的过程中,可以看看数据结构,编译原理,操作系统等书籍,对编成都是很有帮助的。最开始学习的时候,先不要编一些比较大的程序,多编一些小程序,比如数组运算,字符组合等等,指针是C语言的精华,是比较复杂的部分。如果有一天你能熟练驾驭指针的操作了,我相信你,你一定能学习好C语言的。
我是2001年接触编程的,刚开始只是大概了解一下,并没有进行比较深入的学习,我是从VB开始入门的,学了1年多,然后转入C语言,按照C——C++——VC的顺序学习,C学了两年,现在开始学习C++,C++的学习是很有难度的,类,标准库,多态,继承等等比较抽象难道懂的概念,虽然他秉承了C语言的风格,但是有很多很多是C语言不具备的,要多看书,上机实践也是必不可少的。《C++编程思想》,《C++标准库》,这些书都非常好,内容也很全面,例程书籍也是必不可少的,多看源代码对编程是很有帮助的,也会少走很多弯路。总之,C++的学习是一个比较漫长的过程,大概需要两年的时间,这只是底限,如果想学通,学精,还需要更多的时间咯!

热心网友 时间:2022-03-23 08:59

我们在学习C++的时候,有很多人不知怎样学习它、怎样学好它,也不知应先从那里开始学起,关于C++的入门其实很简单,你只要一步步按照你手中的那本C++教材来学就可以了,也许你把C++学的很烂,这时你千万不要认为我好像很精通C++了。
我个人认为要想学习C++,最好直接学习它,不要先学习C语言,然后在学习C++,虽然C++是从C语言上发展过来的,但如果你对C语言了解的越多,在你写C++程序的时候,你很难摆脱C的风格,既使你是一位很有经验的程序员,如果你对C很了解,在学习C++的时候,尽量使用C++的风格,我这样并不是说C不好,关键我们现在要了解的是C++而不是C。
现在让我们深入学习C++吧!C++的难学,不仅在它那广博的语法、语法背后的语义、语义背后的深层思维、深层思维背后的对像模型;C++的难学,还在与它提供了四种不同的编程思维模型。当我们找来一本C++教材时,当我们翻开第一页时,这时我们已进入了C++的世界,我们现在开始探索,开始在追求新技术的旅程中!
想学好C++,熟练掌握它的语法是不可少的,当你掌握了C++的语法时,那么我要恭喜你,你已正正进入了C++的世界,要想学好C++,你只有努力的学习,经常的思考多多的实践,这时你会问了,我应该还要学习什么呢?
C++的语法我都已掌握了啊!我是不是可以学习Windows编程了呢?不要急,你是已掌握了C++的语法,但你能用它写出高效率的程序吗?你已对C++所有运行机制都了解吗?是的,单单了解C++语法是不够的,接下来你的任务很多,要学习如何高效地使用C++语言。现在我就教你怎样的学好它,怎样的高效使用它。
我们还是先从C++的语法开始说起吧!这里我只做一个简单的概述,当我们学习C++的时候,你先要了解它的编程模式,其中包括面向对像编程、通用编程和传统的过程化编程。当你在学习一个C++语法时,如果你一时感到很难理解,不妨你先跳过这一段,继续向后学习,当你看完你所学习C++的那本教材时,你在回过头来学习C++,你会发现其实它就是那么回事,有很多人在学习C++时,刚学习到了一半,突然感到好像以前学习的语法忘了许多,他们会把书又翻回去,找回那忘掉的语法,如果你在学习C++时也有这样的情况,你大可不必那么担心,你现在的任务是继续你的学习,不要去管那一时不记得的语法,如果你现在去重新学习那一时忘掉的C++,恩,不错,这看起来你好像对那语法已深深的牢记在心,当你的C++在学习到这里时,你能保证前面的语法不在遗忘吗?这时的你在学习新的C++语法时,但心会忘掉前面刚刚找回的C++,你说这时你能学好新的C++语法吗?你会一边学习新的,一边重复旧的,这样一来,那就糟了,这时的你会很容易搞乱新旧C++语法,新的记不住,旧的又被新的语法搞乱了,这时的你不得不从头再来(毕竟你是初学者)。
对于初学者来说,C++的广博语法是件头疼的事,学会了这个却忘了那个,就像我上面提到的那样,这时的你应该继续的学习C++新知识,等看完你手中的那本C++教材时,你在来学习忘掉的语法,这时你会感觉好像C++很简单,没有我们开始说的那么难学啊!你会觉得我开始说C++难学是用来吓唬人的。我说C++难学当然不是用来吓唬人的,这时的你对C++语法已非常熟悉了,这时你千万不要认为对C++已很精通,就像我开头所说的那样,虽然现在你已摆脱了初学着的称呼,但你也不能算是位精通人士啊!你只掌握了C++的大概,接下来的你就要深入学习拉!

我帮你转的答案,呵呵,希望能帮助你!

热心网友 时间:2022-03-23 12:47

1、下载和安装编译器。
C语言需要通过编译器解释为计算机可以理解的机器码。
编译器通常是免费的,
不同的操作系统上一般使用不同的编译器。
对于Windows系统,
可以尝试
Microsoft
Visual
Studio
Express
或者MinGW。
对于Mac系统,
XCode是一款优秀的C语言编译器。
对于Linux,
gcc是一个不错的选择。
2、理解基本概念。
C语言是一门古老的语言,
但却十分强大。它最初是为Unix操作系统设计的,
但后来被移植到了几乎所有的操作系统上,并得到了很多扩展。C语言的现代版本是C++。
C语言本质上是由函数构成的,在函数体中你可以使用变量,条件语句,循环等语句来存储和处理数据。
3、查看一些基本的代码
下面是用C语言写的一段非常基本的代码,
阅读这些代码,尝试理解这种语言的不同部分是如何工作的,
并对程序的运作原理有初步的认识。
"
#include
<stdio.h>
int
main()
{
printf("Hello,
World!\n");
getchar();
return
0;}
"[1]
这里的#include
指令在程序开始之前就出现了,
它的功能是把包含有你需要的函数的库加载进来。
在这个例子中,引入stdio。h
使得我们能够使用
printf()

getchar()
这两个函数。
这里的
main()
指令会告诉编译器,程序需要运行一个叫做“main”的函数,该函数运行完毕后返回一个整数值。所有的C语言都要运行一个“main”函数。
{}
符号表示括号内的所有内容都是函数的一部分。在本例中,他们标记了所有的内容都是“main”函数的一部分。
printf()
函数能够将小括号中的内容显示在用户的屏幕上。双引号保证了这个字符完全按照字面的样子输出,
\n
组合告诉编译器这串字符输出完之后将光标移动到下一行

;
符号表示一行的结束。绝大部分C代码都以分号结束。
getchar()函数告诉编译器这段程序要等待一个按键的输入才能够继续。考虑到大部分编译器在运行完程序之后会立刻关掉程序窗口,这个功能还是很有用的,因为这样可以让程序保持运行直到有键被按下才会结束。
return
0
指令表示程序的结束。请注意”main”函数是一个int类型的函数,也就是说当函数结束时需要返回一个整数。如果返回0则表示程序正确的执行了,其他数字表示程序运行时发生了错误。
4、尝试编译这段程序
把上面的代码输入到你的代码编辑器中,然后保存为”*。c”文件。
用你的编译器编译它,
一般来说点击Build或Run按钮即可。
5、要养成写注释的习惯
注释是代码中的一部分,它不会被编译,
但是却可以告诉你代码做了些什么。这对于提醒你自己你的代码是干什么的以及让其他开发者理解你的代码都很有帮助。
在C语言中添加注释只需要把要注释的部分的前面添加/*,
后面添加
*/。
不要吝啬你的注释,除了特别简单明了的地方都尽量加上注释吧。
注释功能也可以快速的屏蔽一部分代码但不删除它们。只需要给你想要排除的代码用注释标签包起来它们就不会被编译。如果你想要改回来,去掉注释标签即可。

热心网友 时间:2022-03-23 16:52

1、程语语言其实是一个很初级的工具,但是又必须熟练的掌握它,学懂一门编程语言就好像学会了写字,但是会写字的人不见得会写文章,而会写文章又不见的写得好。可是如果不会写字,那就一定写不出文章来。
2、在学习C语言之前,应该学好计算机基础。里面的很多概念对于C程序员都是非常重要的。如果在着手学习C之前,或者已经开始学习C,但是碰到了很多问题,应该再把计算机基础的书拿来好好看看。如果有足够的耐心,十足的毅力,应该再学习C语言之前学学汇编,这会对许多比较细腻的概念有清醒的认识。那么可以在看完一遍C语言的教材后再看,但是一定要看一遍,一定会受益匪浅。不管看什么书,先认真地看懂,不要贪速度,应该力求深入的理解。如果能够比较熟练的解决一本教材上的所有习题,那么就应该转入对算法的学习,尽管此时的C语言还称不上精通,有许多细节问题还不了解,许多问题还没有碰到,但是这些问题会在后面的工作和学习中得到解决的。
3、不需要多少资料,掌握一本《The
C
Programming
Language》就足够了。继续学习就更加容易。建议不要找捷径,通过考试除外,真正的水平提高是建立在编程实践积累基础上的,必须一个一个程序的完成才能提高。

热心网友 时间:2022-03-23 21:13

C语言是非常重要的语言,原因在于C语言是连接了硬件和软件的桥梁。很多人会觉得C语言入门难,不能像其他编程语言一样快速获得成就感。但仍然有很多技术大咖建议大家有必要学一下C语言。那么0基础如何入门C语言,一起来看看学霸们的C语言学法。
▪ 学霸一:
C语言是最基础的编程语言了,其实,对于理工科专业的人来说,C语言并不难,C语言都学不好,怎么学习C++、Java、汇编语言等,这些语言比C语言要难得多。也许是因为刚接触C语言,刚刚接触一门全新的课程,所以感觉比较难。

记得本*学刚开始接触C语言的时候,也是一头雾水,根本不懂C语言是干嘛用的,听课时也是晕乎乎的。感觉很虚的东西,计算机二级考试也是勉强合格。后来,本人报名了一个电子设计竞赛,经常在实验室里编程做项目,才慢慢体会到C语言的真正用处。后来对C语言产生了兴趣,课余时间经常到实验室设计项目。到大三的时候,报名参加了全国电子设计竞赛,估计是运气好吧,拿了一等奖。

▪ 学霸二:
C语言难学,个人认为是被国人误传或误教所致。一直以来,高校理工科都开设了C语言,学生稀里糊涂开始学习。在不清楚学习目的、所需前提知识的情况下,仅学习些基础语法知识,导致大部分学生学习效果不理想,从而造就了C语言难学的传说。

C语言是程序员与计算机进行交流的一种语言,目的是达到对计算机进行控制,实现程序员预期的效果或功能。因此,为了能更加有效地进行交流或控制,除了学习些基础的语法知识外,还要求学习者对交流对象要有较清楚的了解或熟悉(即所需前提知识),和掌握一些必要的交流技巧(思维方式或套路类的东西)。

▪ 学霸三:
在上大学之前,我对这个专业仅仅的认知是学电脑的,对编程来说更是一无所知,而我选择计算机专业完全是因为我从小就喜欢玩电脑,仅此而已。记得小时候还不会拼音和英文的时候,我玩的第一个游戏就是侠盗飞车,靠着记忆按着start和quit game。

这就是我对电脑的启蒙,但是我小时候就对电子产品非常感兴趣,而我的父母并没有向其他家长一样阻止我接触电脑,相反,他们认为让我从网络了解世界是一件正确的事情,只要自己掌握好尺度。所以从小影碟机,电视,电脑,手机没有人教我我就自己琢磨,父母有些问题我都能解决。渐渐的,那时候对大学的专业没有概念,就是想,如果上大学我还想上计算机专业,而我母亲每次在我玩游戏的时候就说:玩游戏不是本事,能做游戏让别人玩才是本事。能够来到自己心目中的大学和喜欢的专业也是一件非常开心的事。

本学期前的假期,我提前学习了c语言,上课之前我很忐忑,对于我这种仅仅停留在玩电脑的小白来说能否学懂编程是个很难的事情。但是后来我发现,编程就是和计算机对话,就像学习外语一样,让人与计算机有联系。让计算机明白人的意图。这其中包还含着数学的知识。我认为c语言就是所有编程语言的基础,举一反三,一门学精了其他的也就弄懂了,而c语言的精髓就是指针,这是其他编程语言没有的。

▪ 学霸四:
C语言的语法是现在语言中比较简单的,要说语法是就只有c++最为复杂了。大家说的c难是因为,用c开的的东西一般与系统api和算法有关。算法这个,没个数学功底真的想不到,其它的语言没有比较高级的算法,其它语言的算法也都是c语言从语言的底层(不是系统的底层)实现的,再封装成语言的算法库。

系统api,这个东西不像语言层级的api那么简单,它是系统直接关系的相当复杂,要了解系统、信号、返回值这东西表现出来的现象多,与你要做一个东西有不同的处理。还有一个点c实现的东西要考虑到性能,这个不简单,不是简单的io性能,要考虑内存拷贝的消耗、堆栈开关的消耗、cpu调度的消耗。

▪ 学霸五:
从没觉得c语言难学,相比后来的大量的面相对象的语言,c语言其实非常好学,学习门槛并不高。

如果说到难,一个是数据结构,这个东西比较枯燥,而且严格说应该是属于数学问题而不是编程问题,第二是函数偏少,经常需要自己动手,不像主流oop们全都给你封装好了直接用,不过,从这点讲,也正是c语言的一大优势,让你知其然亦能知其所以然。

c语言属于中级语言,意味着它具备oop们没有或缺乏的的对计算机底层资源的操控能力,因此操作系统,驱动程序等基本都只能用c语言。

热心网友 时间:2022-03-24 06:46

第一:一些概念。
C语言是一门程序设计语言,有一些标准,比较重要的是ANSI
C(好像是C89)和C99。
数据结构包括逻辑结构和物理结构。逻辑结构是数据元素集合和定义在集合上的关系。物理结构是逻辑结构在计算机中的实现。
LCC、VC、TC、GCC都是C语言编译器,一般包括集成开发环境,编译器和链接器及辅助工具
我们书写的是C源程序,源程序通过编译器编译为中间文件,中间文件经链接器链接生成可执行文件。不同操作系统可执行文件不同。中间文件也有几个标准,微软使用的和Linux下通用的有差异。
第二:学习什么。
个人认为程序设计学习的重点放在数据结构的学习上,但是这种学习要有一个平台,比如C语言。
学习C语言首先要掌握基本语法,常量、变量、类型、及顺序结构、分支结构和循环结构的意义及用法。进一步学习构造类型如指针、结构、函数的意义和用法。
C语言提供一些标准函数以减轻程序设计工作量,这些函数我们自己也可以实现。即使不依靠函数库,只有编译器,理论上就足够了。事实上,提供的标准函数效率都很高,使用很频繁,没有自己实现的必要,所以掌握常用函数是非常必要的,但是要注意函数的适用范围。
继续学习因人而异,应该可以独立选择了。
第三:如何学习。
强调多实践,C语言的学习要经常上机,多写程序才能逐步提高。
推荐书籍:C
Programming
Languge。有中译本
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
入股合作协议书范文 关于入股协议书范文 政府用政府所有房屋进行作价入股,与我公司新成立公司,入股协议改怎么写... 什么时壳资源 催姨妈最快最有效的方法 催月经的简单小方法 怎样让经血顺畅排出 植物的受精是什么? 植物的受精作用是在哪个结构中完成的?( )A.胚珠B.花粉管C.柱头D.花... 鞋子里面湿了怎么办 为什么阴道流黄水有腥臭味 怎么学好C语言 从什么开始学起 如何学好C语言??? c语言怎么学好? 怎样学好C语言? C语言怎么学好 c语言怎样学好 C语言 怎么学好C语言.. C语言应该怎么学啊? 目前网上流传领取口罩要打开是骗局吗? 目前网上流传领取口罩要打开是骗局吗? 如何学好c语言 如何自学C语言编程? 华为手机微信小程序怎么在屏幕上方打开 怎样学好c语言 怎样学好C语言? C语言中“宏”这个定义为什么是把它叫做“宏”呢? C语言的关键字是什么,为什么叫关键字,怎么来的 C语言以前叫什么,是谁弄出来的 为什么计算机有个叫C语言而不叫A B 语言 C语言为是么要叫C语言,为什么不是A,B语言呢?这个C到底是什么意思? c语言如何学习 c语言怎么学? c语言应该怎么学 C语言怎么学啊!? c语言怎么学 C语言怎么学啊? c语言怎么学啊!!!!????? C语言怎么学啊 C语言怎么学? C语言怎么学。 C语言好难学啊!怎么办 c语言编程怎样入门 c语言怎样学? 如何学习C语言? c语言到底是什么 是什么 啊 C语言到底是什么? C语言到底是什么啊?? C语言到底是什么? c语言到底是什么 c语言到底是什么啊?