当前位置:首页 > 技能培训 > 正文

自学c语言,如何自学C语言?

技能培训 · Sep 08, 2023

本文目录一览:

C语言如何自学?

1、首先需要一本讲解c语言基础知识的书本,按照上面的知识讲解一点点的学习c语言。
2、需要在电脑上面安装c语言编译软件,可以选择vc6.0++或者MicrosoftVisualStudio等软件。
3、自己编写一些小程序,熟悉编译c语言程序的过程,并且检验自己学习的成果。
4、试着写一些稍大型的c语言程序,达到进阶目的,比如俄罗斯方块,贪吃蛇等。
所以我给你的忠告是:
1.学点简单的布尔代数,掌握数据存储的原则,注意C语言的指针。
2.给你个逻辑题练练脑“有12个坏球(不知道是轻还是重),用无砝码天平称量3次后把坏球找出来”。尽可能的自己做别上网找答案。
3.多上机练习(推荐用win-tc这个软件来编译,比较简单支持复制粘贴,看到网上的例子马上就可以复制来自己编译一下,中文界面方面使用,还带有简单的C教程,安装时不能有中文路径名)
4.入门以后要学会在网上找一些库函数的使用方法。
用以上方法本人学C语言用了2个星期,熟悉C语言也就是2个星期。

如何自学C语言?

(一)先从视频课程入手如果是0基础的小白,不建议上来就啃书,可以先从视频课程入手。
这里推荐中国大学好慕课上翁恺老师的两门C语言课程
也可以看B站鹏哥的视频,鹏哥讲课接地气,适合新手小白。
(二)C语言书籍推荐1.《啊哈!C语言》
这本书简单易懂,很适合0基础的小伙伴入门。
2.《C Primer Plus》(必看)
这本书内容循序渐进,适合拿来当字典,查漏补缺用
3.《C程序设计语言》
这本书属于进阶水平 ,不太适合小白。
作者是C语言之父,这本书很经典, 经典到书中几乎每一个例子每一个习题都是经典,从最开始的“Hello ,World”,后面的内容不断深入达到了一个非常高的高度,比如希尔排序,编译器的词法分析,二叉树,内存管理,UNIX系统等等。
“Hello,world”程序就是由本书首次引入。
(三)C语言常用网站

c语言如何学习

1.可以先看一些关于C语言的书籍,对C语言有一些了解,可以为自己以后的学习有帮助,知道C语言编程的基本知识,学习C语言主要考验的是逻辑思维和坚持学习的恒心,学习编程特别是语言类的知识,需要多看书多思考多练习。
2.下载和安装一些C语言的编译器,自己进行动手编程,C语言需要通过编译器解释为计算机可以理解的机器码,往往有很多编译器是收费的,接下来小编为大家介绍几款自认为好用的C语言编译器,对于windows系统来说,visual studio是一款不错的编译器;对于Mac系统,XCode适合大部分使用。
3.查看一些基本的代码,自己进行理解编译,想要学好一门编程语言,需要及时的动手练习,如果是没有编程经验的小白可以选择记住一些简单的基本的代码,自己进行练习理解,动手练习是帮助自己快速入门的主要方法。
学习c语言要一步一步的走:
1、首先当然是要看书,这里向大家推荐谭浩强编写的《C程序设计》,目前是第四版。这本书写的很细致,适合零基础学习的新手
2、看完了书当然是要动手练习,刚开始你可以写最简单的hallo world,当你成功的写完一个小程序时,心中会有很大的成就感。
3、如果你发现自己有什么不懂的,你可以去贴吧询问,或者到知乎上询问,相信有很多人会为你热心的解答的。
4、如果你觉得你自己看书学习效率太低,你可以上网观看教学视频,向大家推荐“中国大学”这个网站,在这里你可以向名师学习,并且提出疑问,而且在学习完课程并完成作业后可以获得该大学的证书。
5、学习编程最快的方法之一就是看别人的源代码,学习别人是怎样编程的,对同一个问题别人的思路是什么?和你的思路有什么差别?如果你想要进一步提升自己编程的水平,推荐大家去做做ACM的题。想要学好c语言,就要编程,编程,再编程!
相对于其他编程语言,C语言还是比较难的。初学者需要注意一下几点:
一是学习顺序
  先从熟悉简单的C语言语法开始入门,然后再循序渐进,学习C++语法,WIN32、MFC、QT、网络编程,数据库、数据结构、算法、COM、STL等。构建一个完整的C语言知识体系。这需要一个比较漫长的学习积累的过程。语法入门部分大概2-3个月,其他部分需要学习和工作中慢慢理解和消化了。
c11.jpg
二是学习方法
  人的知识80%是通过眼睛获取的,但是学习编程有所不同,除了看书、看视频之外,关键是要勤动手,勤动脑。通过做大量的练习、项目实战不断积累代码量。只有代码量足够多了,项目做的多了,才能算是真正学会了。项目能否完成,就是衡量是否学会的唯一标准。后期就是代码的质量和优化问题了,这个只能在项目工作中慢慢积累经验了。
c12.jpg
  最后强调一点
  很多人学不会编程是因为掉坑里了。就是教程或者书上的知识点之间跨越太大,作为一个初学者很难自己摸索出来,前面的知识点没有掌握,接着学习后面的知识,肯定是学不会了。目前绝大多数编程书籍和教程或多或少都有这样的弊端。自学能力比较强的人可以通过各种方法,参考各种网上的资料自己解决。但是大多数自学能力不是很强的人,只能依赖老师、同学、同事或者朋友帮忙指导,或者报名培训机构,老师指导完成了。
  学习编程通常需要一些好的学习资料,包括纸质的书籍,视频教程,课件,项目练习,代码。零基础入门的书籍推荐《明解C语言》、《C Primer Plus》,还有一本非常特别的汇编和C语言正向逆向结合的书编程达人内部教材《汇编、C语言基础教程》也非常不错,讲解汇编和C语言的本质非常透彻,非常细致。视频资料也是特别多了,各种视频网站、论坛、自媒体都有,比如网易课堂、腾讯课堂、慕客网这些。还有一些论坛,比如CSDN、编程中国等。最重要的一点就是答疑服务,推荐爱达人的网站也很不错,从零基础入门到应用课程,配套的视频、课件、代码、项目、答疑服务都有,还可以兼职接单,学以致用。

能自学c语言吗?

c语言和py是两个不同的语言 c是活到老学到老 自己学真心不好弄 如果条件允许还是报个老师 有人带和自己学完全是两个天地
可以自学C语言,你也有了一定的语言基础了,各个语言 之间就是语法有些不同,注意一下就可以了,主要是不同的地方。C语言跟python不同就是Python是解释型语言,C是编译型的,也就是全部编译后二进制文件再执行,效率高。最最重要的就是注意语言间的不同就好了,另外C是比较面向过程的,Python面向对象,学了Python再学C可能会觉得C好麻烦,学了C再学Python则感觉反过来了,所以坚持学习,不怕困难,多动动手敲代码,就能自学好。

我想先自学c语言 应该怎样来学习呢

一、多看代码
在有一定基础以后一定要多看别人的代码,同时注意代码中的算法和数据结构,因为数据结构和算法是程序的灵魂。提到数据结构,指针是其中重要的一环,绝大多数的数据结构是建立在指针之上的,如链表、队列、树、图等等,所以只有学好指针才能真正学好C。别的方面也要关注一下,诸如变量的命名、库函数的用法等等。有些库函数是经常用到的。对于这些函数的用法就要牢牢记住。
二、要多动手
学习编程像练习搏击一样,是个实战的活,光说不练假把式。刚开始学的时候可以多练习书上的习题。 对于自己不明白的地方,自己编个小程序实验一下是最好的方法,能给自己留下深刻的印象。 自己动手的过程中要不断纠正自己不好的编程习惯和认识错误。有一定的基础以后可以尝试编一点小游戏,照着编写作为练习。基础很扎实的时候,可以编一些关于数据结构方面的东西,诸如最经典的学生管理系统。之后一切都是那么自然了......
三、 注重编程思维的锻炼
一个真正意义上的程序员,一定会在编程思维上下狠功夫,这是我们和普通的搬砖程序员的本质差别。
四、养成良好的编程习惯
基本上每本C教材上都要提到。作为新手这条一定要时时遵守。具体注意以下三个方面:
(1) 在比较复杂的代码后面要有注释。 如果光溜溜一堆代码,别人就不可能看懂你的代码,而且也不利于查找错误。除非你一直编东西给自己看。能在代码里说明白的就一定要在代码里体现。比如变量名、函数名,在命名的时候尽量说明是干什么用的。
(2)注意语句的嵌套不能过长,一般来说,一段代码里Tab要少于8个。简单说就是语句最多8个嵌套。 对于新手来说,这个标准还要下降。有一个好习惯是,把主函数尽量写简短。经常看到别人的代码是主函数只有几行,几个函数调用,而定义全在主函数外部。这样一是减少了主函数内部的嵌套,二是比较精简,容易读懂。
(3)注意语句的选择。并不是分支语句就用if,循环就用while、for。在适当的情况下switch和do while语句也是要用的。在某些时候,switch语句比if语句更加精练明了,而do while比while少一个循环。

怎么自学C语言 入门

第一阶段:C语言基础
在开始学习C语言基础时,要反问自己为什么学C语言,如何学好C语言。同时要知道什么是C语言以及C语言的发展。
当对这些知识有了一个概念之后,就正式开始学习C语言了,其中,可能会学到数据类型、运算符、表达式、数组、/函等,这些是为了对C语言的基础有一个基础认知,扩展,整合;还会学到指针、联合体、结构体、枚举、位运算、预处理、文件等知识点,学这些是为了全面掌握面向过程设计、实练逻辑算法,拓展思维模式等过程。
学完了这些,还可能会讲到VC++、C++、C和TC—认识开发环境和语言的区别。
这里只给大家介绍一个大概,如果有兴趣的话,可以和我私聊哦
第二阶段:上机课程
学完了这些理论知识后,就得将学到的知识点全部运用到实践中去。比如4G梦工场的布置一个项目,运用到其中,然后会规定学员在操作中要实现什么功能等。
很多同学对咱们C语言的课程、学习存在着很多误解,而且很多同学还不知道《C语言也能干大事》后面的课程安排是什么,因此这里一并做一个说明。
有同学问“别人都说开发数据库系统、Web系统还是Java、C#等最流行,咱们用C语言学了开发也不是浪费吗?”、“C语言不是做嵌入式开发、操作系统等底层的东西吗?”、“我们为什么不讲C语言的 嵌入式开发?”、“人家都学Web开发,咱们这学C语言开发C/S的程序不是落伍了吗?”。 确实在实际工作中,由于C语言的门槛比较高,很少有实际项目用C语言进行数据库系统、Web系统等的
开发的。但是我不止一次强调“学习时学东西和工作时学东西是不一样的”。工作以后选用的技术、 语言一定是选择做合适、最方便做所从事方面的,比如开发Web程序肯定首选PHP、Java、.net,开发 底层系统肯定首选C/C++,开发桌面系统肯定首选VB、Delphi,也就是“用合适的语言做合适的事情” ;但是对于在校生来说则是“用最熟悉的语言做所有事情”。初学编程的人最容易在语言的表层陷入 太长时间,如果要学数据库开发了就要去学Delphi、PB,又要学Web开发了就又去学Java、.net,又要学底层开发了就又去学C/C++,可是每门语言都没深入,最后真正要学的数据库开发、Web开发、底层 开发等等没怎么学会,倒是把大量的时间浪费在学这些基础语法上,浪费了宝贵的时间,这也是我痛恨目前很多大学课程安排的一个原因。因此我的倡导就是对于在校生来说则是“用最熟悉的语言做所 有事情”,我甚至建议大学只学一门C语言就够了,然后就教大家用C语言做所有的方面。 不要以为不同语言实现这些不同的目标时是多么的不同。举例来说,Socket网络编程无论是在C中还是 Java中还是.net中都是一个样子(端口、connect、recv、send、listen等等),数据库开发在C、Java、.net、VB、Delphi中也是一个套路(数据库连接、编译的SQL、参数化SQL、结果集、游标等等 ),Web开发在C、Java、.net、PHP中也都是面对的同样的东西(生成HTML、请求参数处理、Session 、Cookie、Http报文等等),总之一句话,万变不离其宗,等到真正需要“用合适的语言做合适的事情”的时候能非常容易的“一通百通”过去的,而且行业经验丰富的面试官也明白这个道理,一个熟悉用VC操作ADO进行数据库访问的人绝对不会再像那些“精通各种语言”的人那样需要再去花几个月学习JDBC,因为概念非常类似,也许半天时间就能熟悉JDBC。如果已经把《C语言也能干大事》的Socket网络编程部分学的差不多的同学可以到网上搜搜Java、.net等语言中网络编程的文章,你看看无论是 讲到的概念,还是编写的代码是不是都是和咱们《C语言也能干大事》中讲的那么相似,这时候你就能明白我的用心良苦了!!!
最后,附《C语言也能干大事》完整版视频教程下载地址:
http://hi.baidu.com/%BC%C6%CB%E3%BB%FA%BF%BC%D6%A4%CA%D3%C6%B5%BD%CC%B3%CC/blog/item/001d02edbd3146d82f2e2191.html
1.选好编程环境,最好用VC++。。如果你熟悉linux的话,可以用gcc。。。2.练习,编些有趣的小程序。。可以从数学和图像入手,从最简单的开始。。比如dos控制台上的计算器,控制一个点的运动,然后将这个程序慢慢修改,慢慢复杂,不知不觉就进步了。。3.保持恒心。。遇到问题多方解决,自细研究,无论结果如何都会有收获的
其实C并不难,关键你得找个适合自己的材料,如果是自学的话,以我自身经历来看,感觉看视频比看书效率高,毕竟理科知识不像是文科的,看书效率太低了。可能一个很简单的知识点,自己看书得半个小时,但是懂的人就讲几句话,就能明白了。所以相比之下,还是视频效率比看书高。选择个适合自己的就能学懂C了。我当初看的是夏老师的,感觉挺适合我这样初学者的。他讲的不繁琐啰嗦,都是重点,而且思维原理讲的最好。能让我理解,我感觉这点很重要。比之前看的什么郝斌曾怡金文的那些繁琐啰嗦听不出重点的好多了。
有一个要诀:多模多练
我想你是一个计算机技术员,计算机基础一定很好的,那就好办了,计算机技术本是一家,C语言的基础比较简单,容易记住。
熟悉基础之后,就对各种例题进行模仿,举一反三,模仿多了,编起程序就顺手了。
之后大量练习各种习题,本人强烈推荐历年的C语言真题,它几乎涵盖了C语言所有知识(不是单指一份试卷),什么时候对哪些习题轻易拿下,我想你已经具备不看书就可以进行一些编程了。
越编越多,越多越熟,越熟越精,越精越广,最后,在C语言这一领域找份工作还是可以的。
不过,所有的前提就是你舍得花时间下去,否则,呵呵...
在开始学习C语言基础时,要反问自己为什么学C语言,如何学好C语言。同时要知道什么是C语言以及C语言的发展。
当对这些知识有了一个概念之后,就正式开始学习C语言了,其中,可能会学到数据类型、运算符、表达式、数组、/函等,这些是为了对C语言的基础有一个基础认知,扩展,整合;还会学到指针、联合体、结构体、枚举、位运算、预处理、文件等知识点,学这些是为了全面掌握面向过程设计、实练逻辑算法,拓展思维模式等过程。
学完了这些,还可能会讲到VS、VC++、C++、C和TC—认识开发环境和语言的区别。
这里只给大家介绍一个大概,如果有兴趣的话,可以和我私聊哦
第二阶段:上机实战训练
学完了这些理论知识后,就得将学到的知识点全部运用到实践中去。这样才能更好学习入门。分享不错裙的有软件视频资料分享
1、C++语言熟练,熟悉C++语法,包括面向对象的概念,模版等
这一阶段需要比较艰辛的过程,需要学习很多书,包括《C++ Programming Language》,《Effective C++》,《More Effective C++》,《Thinking in C++》,《C++对象模型》,《C++ 模版》,如果上述书籍已经很熟悉了,本人认为,在学习阶段,已经很不错了。该过程可以在大学完成,需要一到两年的时间,应为是纯理论的东西,只能算熟悉。在该过程中,需要做一些简单的程序。
2、C++做项目,使用C++做项目,需要比较多的其它库,比如UI库,还需要使用一些网络库等,这个时候,就可以看到C++的博大精深了,此时,光有C++语言知识是不够的,需要补充一些平台开发的知识,看看开源的C++项目。比如:Windows程序设计,C++网络编程,DirectX游戏开发,如果用C++做了两个以上的项目,那以及很不错了。
3、最高境界是精通,自然是量的积累才会有质地变化。

大学自学C语言7种超有用的方法


C语言7种提高效率超赞方法
1、位运算替代乘除
位运算是C语言中的最小数据单元,移位运算或位处理基本上是每个MCU或者处理器的指令集中直接支持的,所以C代码编译成汇编以后基本上简单的几条汇编指令即可完成运算。
然而对干乘除法CPU一般无法直接运行,当然现在高端的芯片一般支持FPU等等之类的处理,相对而言速度得到了显著提升:但是大部分还是会比移位运算处理耗时,特别是有些编译器直接把乘除法编译成函数调用来处理。
所以像n/8这样的处理直接使用n>>3即可替代,这样效率会更高。
2、变量的使用
使用全局变量相对局部变量效率更高,函数的局部变量一般处于函数内部,在调用过程中存在入栈与出栈的情况,这样就增加了函数调用的耗时,而全局变量直接访问效率更高。
当然全局变量是程序中要非常小心使用的,滥用全局变量的行为确实会增加系统各模块之间的耦合,所以在程序中要规范全局的统一接口使用。
同时对干变量类型的使用也是大家需要注意的,数据类型不是越大越好,比如uint64_t的处理汇编生成代码就相对比较多,执行效率一般比短数据类型要低,尽量选择芯片相同位数的数据类型处理,当然大部分更小的数据长度也是合适的。
3、指针替代数组
相对数组索引,指针运算效率更快,数组是一片连续的内存空间,那么通过指针移动进行数组数据的索引也是合适的。
比如我们遍历数组array[i],任意一次的循环都需要对其进行下标 “i” 值的标记与计算,而当指针“p”位于array数组位置的时候,循环仅只需要对“p”进行增量的操作,这样指针耗时会比数组访问小很多。
4、算法优化
一些数据的处理明明可以通过更加简洁的算法,可是大部分程序员非要以最傻瓜的方式进行运算,最容易理解的就是高斯求和,1~100累加,还是选择高斯求和算法,当然还有很多算法有多种形式,各有优劣,根据自身需求进行合理选择。特别是一些应用根本没有必要用使用高精度耗时的数据处理算法,选择一些低精度快速的算法更加合适。
5、优化分支语句
我们都知道if-else语句是最常用的分支语句,其特点就是逐一判断,既然是判断就会消耗时间,然而对干一些处理并不是每个分支都是均匀执行的,如果你把频繁执行的相应分支放到后面,势必就需要执行较多前面的逐一判断,从而降低代码执行效率。所以我们要对各个分支的执行频率进行评估,把最有可能执行的放在判断语句前面执行。同样对干分支语句多级嵌套的情况,我们需要把频率性对较高的放到外层,频率低的放内层,这样减少不必要的外层判断。
6、循环语句的优化
在系统的多重循环过程中,需要程序员将最长的循环内容设置在系统的最内层,同时需要将最短的循环内容设置在系统的最外层。这样,能够有效提升CPU的运行效率,减少循环次数。另外,如果在系统的循环过程中需要进行逻辑判断,且循环的次数相对较大,就需要将循环判断从系统内部转移到系统的外部。
7、无敌”宏 "的利用
宏在C语言中是灵活度非常高的语法特性,宏代码片段的使用其代码表现形式上与函数差异并不是很大,大伙有学习C++语言模板的经验,应该会觉得两者有颇多相似之处。
在对函数进行调用的过程中,需要通过栈对其进行储存,而且CPU在函数调用的过程中还要做好对数据的恢复准备,有效进行出栈和进栈的操作。所以占用CPU时间除了代码本身之外,对函数进行调用也需要占据一定的时间。
而宏就能节省参数压栈、返回参数、C语言call调用以及执行return的操作步骤,从而提高程序的运行效率。

c语言入门自学书籍 c语言如何自学

1、常用的C语言入门书籍有《C Primer Plus》和《C语言程序设计》两本。
2、《C Primer Plus》是C语言的经典教材。《C Primer Plus》是2005年2月人民邮电出版社出版的图书,作者Stephen Prata。
3、《C语言程序设计》讲述了C语言的基本概念、各种数据类型的使用技巧、程序流程控制、数组、函数、指针以及有关程序设计的方法等内容。
4、配套的编程软件通常使用微软的VisualStudio。
5、VS2013安装过程如下:将下载的安装文件解压,双击打开“VisualStudio”。勾选同意协议,点击“下一步”,等待安装完成。

如何自学C语言?

学习任何东西都不能好高骛远,否则会学的很烂或者不精。如果你想好好学习的话,必须花好长时间认真看课本,把课本上的程序大都独立认真编写一次。很多程序虽然看起来很容易,但是实际编写起来却会出现很多个各种各样令人头疼的问题,不过只有经历过那些困难你的能力才有可能提升一个水平!
感觉对于初学者谭浩强的《c语言程序设计》比较适合入门,不过切不要以为把那个弄明白就OK了,我们老师跟我们说过编写一万行的代码才算入门,十万行才算弄明白。
加油啊!把c语言学好了,以后学习很多其他的语言都会相对容易一些。
C语言程序设计(第二版)---谭浩强
这本书编的不错,你可以借鉴一下,这是电子版的下载地址
http://www.eshuba.com/soft/7974.htm
我建议你先看书,先看一遍。然后再结合例子来看,不懂得就翻书,别堆着一大堆问题,有问题就要马上解决。到后面你觉得自己不错了··就把书丢一遍去··自己开电脑做一些简单的编程,刚开始不要要求自己太高··毕竟刚开始。
买书,看书,敲代码 。
1、程语语言其实是一个很初级的工具,但是又必须熟练的掌握它,学懂一门编程语言就好像学会了写字,但是会写字的人不见得会写文章,而会写文章又不见的写得好。可是如果不会写字,那就一定写不出文章来。
2、在学习C语言之前,应该学好计算机基础。里面的很多概念对于C程序员都是非常重要的。如果在着手学习C之前,或者已经开始学习C,但是碰到了很多问题,应该再把计算机基础的书拿来好好看看。如果有足够的耐心,十足的毅力,应该再学习C语言之前学学汇编,这会对许多比较细腻的概念有清醒的认识。那么可以在看完一遍C语言的教材后再看,但是一定要看一遍,一定会受益匪浅。不管看什么书,先认真地看懂,不要贪速度,应该力求深入的理解。如果能够比较熟练的解决一本教材上的所有习题,那么就应该转入对算法的学习,尽管此时的C语言还称不上精通,有许多细节问题还不了解,许多问题还没有碰到,但是这些问题会在后面的工作和学习中得到解决的。
3、不需要多少资料,掌握一本《The C Programming Language》就足够了。继续学习就更加容易。建议不要找捷径,通过考试除外,真正的水平提高是建立在编程实践积累基础上的,必须一个一个程序的完成才能提高。

我想自学C语言,求指教!!!

1.一个C语言源程序可以由一个或多个源文件组成。
  2.每个源文件可由一个或多个函数组成。
  3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。
  4.源程序中可以有预处理命令(包括include
命令、if命令、pragma命令),预处理命令通常应放在源文件或源程序的最前面。
  5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。
  6.标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔