c语言学习方法学习c语言有哪些好的方法(一个资深C语言工程师说如何学习C语言)

开心常识网 1300 2023-05-30 09:57:11

关于【c语言学习方法】,学习c语言有哪些好的方法,今天犇涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、c语言学习方法:一个资深C语言工程师说如何学习C语言2、c语言学习方法,学习c语言有哪些好的方法1、c语言学习方法:一个资深C语言工程师说如何学习C语言

谈及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是“让我欢喜让我忧。”欢喜的是,C语言功能非常强大、应用广泛,一旦掌握了后,你就可以理直气壮地对他人说“我是电脑高手!”,而且以后若是再自学其他语言就显得轻而易举了。忧虑的是,C语言犹如“少林武功”一般博大精深,太难学了。其实就笔者认为C语言并非是“difficult(困难)”的,只要你能理清思路,掌握它的精髓,那么自学C语言是一件非常容易且又其乐无穷的事。今天本人就与大家一起谈谈如何学习C语言或者说学习C语言应从哪几方面着手。

c语言学习方法,学习c语言有哪些好的方法(一个资深C语言工程师说如何学习C语言)

了解一些基本知识

一.C语言的背景

就个人感触,无论学习哪门语言首先应该了解一下自己所学语言的背景,也可以说它的发展史。

C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。1987年美国标准化协会制定了C语言的国际标准,简称“ANSI C”,从此以后它便成为一种广泛使用的程序语言。C语言的优点很多,主要的有如下四点:

1.兼备高级语言与低级语言的优点,属于一种中间语言。

2.它是一种结构化程序设计语言,非常适合结构化程序设计。

3.有较丰富的数据类型、运算符以及函数供以选用。

4.直接与内存打交道,使修改、编辑其他程序与文档变得轻松,简单。

c语言学习方法,学习c语言有哪些好的方法(一个资深C语言工程师说如何学习C语言)

二.二大语系二种不同的学习方法

笔者学习过很多程序语言,例如:C,C++(C语言的扩展),QBASIC,VB(BASIC的可视化),javascript,JSCRIPT ,VBSCRIPT,JAVA,ASP,FOXPRO,PERL等等,就本人实践所得,其实高级程序语言分为两大语系。一路是以C为主的程序语言,例如:javascript,JAVA等,这类语言在函数的调用,程序语句的书写,循环的控制都极为相似。另一路是以BASIC为首的程序语言,例如:FOXPRO,VBSCRIPT等,此类语言同样具有相似的函数调用,程序语句书写以及循环控制,但与C语系是不同的。因此若是您以前是从QBASIC起家的,那么在学习C语言前最好是先洗洗脑,千万不要把学习BASIC的方法以及思路用在C身上。

讲到这里,我想大家对C语言一定有了感性认识吧!下面让我们再升华一下,全方位亲密接触它。学习C语言必须从以下四点入手,也就是说,只要你能掌握这四点的内容,那么基本上就大功告成了。

1、多看代码 在有一定基础以后一定要多看别人的代码。 注意代码中的算法和数据结构。

毕竟学C之后的关口就是算法和数据结构。提到数据结构,指针是其中重要的一环,绝大多数的数据结构是建立在指针之上的,如链表、队列、树、图等等,所以只有学好指针才能真正学好C。别的方面也要关注一下,诸如变量的命名、库函数的用法等等。有些库函数是经常用到的。对于这些函数的用法就要牢牢记住。

2、要自己动手 编程序是个实干的活,光说不练不行。刚开始学的时候可以多练习书上的习题。 对于自己不明白的地方,自己编个小程序实验一下是最好的方法,能给自己留下深刻的印象。 自己动手的过程中要不断纠正自己不好的编程习惯和认识错误。有一定的基础以后可以尝试编一点小游戏,文曲星之类的电子词典上小游戏很多,照着编作为练习。基础很扎实的时候,可以编一些关于数据结构方面的东西,诸如最经典的学生管理系统。之后.....学汇编、硬件知识。

c语言学习方法,学习c语言有哪些好的方法(一个资深C语言工程师说如何学习C语言)

3、选择一个好的编译器 VS2010以上版本

4、关于养成良好的编程习惯 基本上每本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语言有哪些好的方法(一个资深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语言学习交流群,在群里有很多新手教程和大神交流q群,怎么找到先搜索339在加上105最后还有301,这样你就可以找到组织一起学习,群里人很多都是新手在大神的帮助下,已经成长为高薪工程师,你不来对我们没有任何损失,但是只要你来了基本可以有很多的收获。

2、c语言学习方法,学习c语言有哪些好的方法开发环境

如前面介绍的那样,C 属于一种静态的编译型语言,所以,开发环境配置过程中就需要用到对应的编译器。

C 有很多编译器可以用,GCC或GNU Compiler Collection是最流行的C 编译器之一。

下面是不同操作系统下的编译器安装方式。

c语言学习方法,学习c语言有哪些好的方法(一个资深C语言工程师说如何学习C语言)

Linux

如果你使用的是Linux,可能已经默认安装了GCC。

如果没有,可以通过如下命令安装:

c语言学习方法,学习c语言有哪些好的方法(一个资深C语言工程师说如何学习C语言)

Linux下的IDE可以选择Codeblocks IDE或Eclipse CDT在Linux。

macOS

在Mac上,你可以使用Clang或GCC,两者都是免费的。

虽然GCC支持更广泛的C和C 标准,但Clang在大多数情况下都能正常工作。

可以使用Homebrew安装GCC:

c语言学习方法,学习c语言有哪些好的方法(一个资深C语言工程师说如何学习C语言)

开发工具方面,可以选择Visual Studio Code或者Xcode。

Windows

在Windows上有很多好的编译器。

在Windows上,Visual Studio提供了一个C 编译器,该编译器还可以构建C语言程序。

Visual Studio有自己强大的、功能丰富的IDE,对于任何开始使用C或C 的人或主要针对Windows平台的人来说,它是一个很好的选择。

c语言学习方法,学习c语言有哪些好的方法(一个资深C语言工程师说如何学习C语言)

如果你想要更符合标准的编译器,GCC(MinGW)也可以使用,Codeblocks IDE通过设置就可以满足需求。

IDE方面,Clang是目前比较好用的的工具,除此之外,还有一些跨平台的IDE,如Eclipse CDT、Jetbrains CLion和Netbeans,它们提供了功能齐全的C和C 开发环境。

最近,Visual Studio Code非常火热,在很多编程语言比较受欢迎,它也可用于Linux和Mac环境。

C 入门

语法是一种编程语言的核心,也是用C 开发的基础,就如同我们说汉语、英语一样,语法定义了C 代码的组成和理解方式。

下面看一段示例代码:

c语言学习方法,学习c语言有哪些好的方法(一个资深C语言工程师说如何学习C语言)

#include :这是一个头文件库,将功能导入到程序中。该命令的含义是程序从一个名的文件中导入内容,该文件代表输入和输出流。

using namespace std:指的是来自标准库(std)的对象和变量名称,通常用关键字std和运算符::来缩写。

int main ( ): 指定了一个主函数。函数是C 程序的一个重要部分,因为它们在代码中定义了一个动作,包含在括号{ }中的代码将被执行。

cout(读作see-out):是一个定义输出的对象,也就是代码中的字串,这里会输出Hello World。

return 0:指示程序不返回任何东西,文本字符串将是唯一的输出。

<<:是一个用于命名对象的操作符,而;(分号冒号)则作为一行代码的结束标识。

把这些放在一起,就组成了一段完成的C 代码。

通过这段简短的代码就简单的涵盖了C 中的一些基本语法,如果不首先学会基础语法,看这段代码如同天书一样,不知道它在做什么?它有什么含义?

如果了解基本语法,就能够像看一段汉语一样轻松理解它表示什么。

基本语法只是入门的一个方面,除此之外还要对如下内容有基本的认知:

函数--一个函数是一组语句,它们共同执行一项任务,每个C 程序至少有一个函数

数组--数组是一种数据结构,用于存储固定大小的同类元素的顺序集合

字符串- 字符串是由字符组成的一维数组,以空字符'/0'结束

指针- 指针是变量,其值是其他变量的地址。指针有助于更容易地执行C 任务,有些任务没有它们就无法执行

引用--引用是一个别名,是一个已经存在的变量的另一个名字。如果一个引用被初始化为一个变量,那么这个变量的名字和引用的名字就可以交替使用来指代这个变量

类和对象--类是C 的一个关键特征,通过将数据表示和操作该数据的方法结合到一个包中来指定一个对象的形式

多态--多态意味着有多种形式。在C 中,这指的是调用一个数值函数导致不同的函数被执行,这取决于调用该函数的对象的类型

c语言学习方法,学习c语言有哪些好的方法(一个资深C语言工程师说如何学习C语言)

C 实战

在入门C 并学习了一些C 编程技巧后,接下来需要做的就是把它们好好利用起来了,在实战中打磨并熟练C 。

做到这一点的一个方法是通过做一个项目来了解该语言的各个方面是如何结合起来的。

目前Github上有很多相关的项目,我们可以通过阅读相关的代码,理解它的实现过程,然后自己复现相关的项目来起到实战的作用。

也可以根据自己感兴趣的领域,给你寻找一些相关的需求场景,然后通过C 实现相应的工具或者软件。

例如,开发一款简单的小游戏、实现一个文献翻译工具、开发一个简易的计算器等等。

C 进阶

中级和高级C 编程建立在基础知识之上。

《C Crash Course》一书的作者Lospinoso说,在中级阶段,程序员需要了解引用和指针如何工作。支撑最强大的C 功能的其他核心概念,例如,对象生命周期和多态。

对这些概念如何理解、如何使用,以及如何高效的应用于项目中,则是走上进阶路线上必须学会的。

在进阶之路上,一个C 程序要做的就不再是如何通过基本语法或者面向对象编程去实现一项功能或者一个系统,而是学会并熟练通用编程、泛型编程,也就是说,需要考虑代码的通用性、可扩展性,以便后续可以更好的向后兼容,以及更加容易适应多平台的需求。

如果大家想好好学习C/C 的话,为了帮助大家,轻松,高效学习C语言/C ,给大家分享我收集的资源,从最零基础开始的,帮助大家在学习C语言的道路上披荆斩棘!

编程学习书籍分享:

c语言学习方法,学习c语言有哪些好的方法(一个资深C语言工程师说如何学习C语言)

编程学习视频分享:

c语言学习方法,学习c语言有哪些好的方法(一个资深C语言工程师说如何学习C语言)

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!

噼里啪啦一顿牛皮的内容分享完毕,记住关键词:学c语言的方法,c语言怎样学,c语言该如何学,c语言的教程,c语言怎么学。

上一篇:三明治用的芝士是什么芝士(做三明治的芝士)
下一篇:火葬的真正目的(火葬的意义是什么)
相关文章
返回顶部小火箭