百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

如何学习C语言?很容易,C语言从入门到入土,从长发飘飘到秃顶

yuyutoo 2024-12-12 15:55 5 浏览 0 评论

学C语言不知道从哪儿下手?学习框架都帮你列好了!

在未来计算机专业讲又要迎来一批新生小鲜肉!C语言入门到入土,从长发飘飘到秃顶的老铁也越来越多,其中,想自学成才的也占了不少数;想笨鸟先飞的也占有不少数。

没有基础的人也可以直接学习,速度会慢一点

C语言上手可能不是很容易,首先你的花费一周时间掌握最基本的内容。(PS:没有基础的人也可以直接学习,速度会慢一点

  • 常用的基本数据类型(int,float,double,char)的使用,必然包含常用的输入和输出函数。
  • 程序的三大结构学习:顺序结构,选择结构,循环结构。
  • 模块化程序设计的函数了解下

你再花2周学习些:

  • 指针
  • 结构体
  • 文件

此时,有些人就在简历中得意的自称"会"C语言了。

但是学到如此程度,在实际编程中会经常遇到挫折,主要源自理解不够深入,仅仅体验了一下C语言语法而已。

随意列举一些新手普遍存在的问题:

  1. 不了解C语言模块化设计,变量名, 指针概念含混。
  2. 更换编译器,程序出现怪异的结果。
  3. 怎样定义和声明C语言全局变量和函数最好?
  4. 在C语言中,一个结构不能包含指向自己的指针吗?
  5. 什么是C语言最好的代码布局风格?
  6. 为什么不能向接受const char **的函数传入char **?
  7. 用缩写“if(p)”检查空指针是否可靠?
  8. char *指针指向一些int变量,如何跳过?
  9. 怎样建立和理解非常复杂的声明?

拥有某项技能的程序员的价值,可以用学习技能所需的成本来衡量。你用2周学习达到的这种程度,对于企业就是没有价值的,因为老板可以让一个公司里任意其他语言的程序员经过2-3周的学习就能达到你现在的程度。

C语言的 简洁紧凑、灵活方便。快速开发对项目有价值,但这不是你的价值,是C语言的价值。所以提高自身价值,也就是不让别人轻易追上你。以极低的成本替代你。

你只能快跑,进一步学习,C语言语言层面还需要学习下面一些内容:

  • 1.C语言运行机制,编译过程。
  • 2.C语言模块化思想。
  • 3.深入理解C语言面向过程的设计思路。
  • 4.C语言编程思维。
  • 5.C语言文件同步操作

上述都是语言层面的,属于内功。实战中当然也需要一些更为具体的外功,训练外功可以从熟悉C语言标准库开始,这些模块能进入标准库说明他们足够好并且在实际项目中足够常用,列举一些极为常用的:

  • 1.正则表达式
  • 2.Socket网络编程
  • 3.读取PE文件操作
  • 4.进程内存查询与修改
  • 5.常用的数据结构与算法

无论练习内功或外功,结合实战都是最好的训练方式和检验手段,可以根据个人情况以及喜好选择,如:

  1. 网络编程借用第三方网站为跳板做实时信息查询.(例如身份证查询)
  2. 使用第三方库开发小游戏案列,例如推箱子,扫雷,连连看,消消乐
  3. 编写小应用,个人词典啊
  4. 使用C语言做算法题,ACM,还有各种地方的什么杯(飞机杯,罩杯)
  5. 使用C语言做数学建模或者数学计算
  6. 使用第三方库做终端模式的播放器
  7. OpenGL做图形处理

个人建议选择小项目进行实训,有些新手上来就想定一个大目标,做的时候很挫折,往往半途而废。把小东西先实现,然后优化。接下来添加新功能,慢慢迭代把小东西做大。这样在做的时候,每实现一个小功能你都会有成就感,激励继续前进。

可能经过比较漫长的一段时间,你成为了一个熟练的C语言小瘪三,还有些高级话题可以继续学习:

  • windows编程
  • Linux编程
  • Qt框架编程

这些高级话题在开发中经常使用, 它们可以帮你更便利实现功能。

通常自称一个月光速学了会C语言的人基本都不是天才,只是浮躁,目标定的比较低而已,认知局限而已。不要太过急功近利,慢慢玩,精进。

当然啦,自学C语言想拔高精进大多都是困难的

  • 没有良师讲解,有些知识点和技术没法消化
  • 自身理解力不够,稍微高深一些的就看不懂了
  • 还有的……
  • 时间不够,自制力也不够

尾言

?如果你基础比较差,不妨关注视频教程专栏教程《C语言51课视频教程合集片》:

通俗易懂,深入浅出,文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

图文并茂,通俗易懂《C语言项目视频集锦》

世上唯一不能复制的是时间,唯一不能重演的是人生。该怎么走,过什么样的生活,全凭自己的选择和努力。

相关推荐

墨尔本一华裔男子与亚裔男子分别失踪数日 警方寻人

中新网5月15日电据澳洲新快网报道,据澳大利亚维州警察局网站消息,22岁的华裔男子邓跃(Yue‘Peter’Deng,音译)失踪已6天,维州警方于当地时间13日发布寻人通告,寻求公众协助寻找邓跃。华...

网络交友须谨慎!美国犹他州一男子因涉嫌杀害女网友被捕

伊森·洪克斯克(图源网络,侵删)据美国广播公司(ABC)25日报道,美国犹他州一名男子于24日因涉嫌谋杀被捕。警方表示,这名男子主动告知警局,称其杀害了一名在网络交友软件上认识的25岁女子。雷顿警...

一课译词:来龙去脉(来龙去脉 的意思解释)

Mountainranges[Photo/SIPA]“来龙去脉”,汉语成语,本指山脉的走势和去向,现比喻一件事的前因后果(causeandeffectofanevent),可以翻译为“i...

高考重要考点:range(range高考用法)

range可以用作动词,也可以用作名词,含义特别多,在阅读理解中出现的频率很高,还经常作为完形填空的选项,而且在作文中使用是非常好的高级词汇。...

C++20 Ranges:现代范围操作(现代c++白皮书)

1.引言:C++20Ranges库简介C++20引入的Ranges库是C++标准库的重要更新,旨在提供更现代化、表达力更强的方式来处理数据序列(范围,range)。Ranges库基于...

学习VBA,报表做到飞 第二章 数组 2.4 Filter函数

第二章数组2.4Filter函数Filter函数功能与autofilter函数类似,它对一个一维数组进行筛选,返回一个从0开始的数组。...

VBA学习笔记:数组:数组相关函数—Split,Join

Split拆分字符串函数,语法Split(expression,字符,Limit,compare),第1参数为必写,后面3个参数都是可选项。Expression为需要拆分的数据,“字符”就是以哪个字...

VBA如何自定义序列,学会这些方法,让你工作更轻松

No.1在Excel中,自定义序列是一种快速填表机制,如何有效地利用这个方法,可以大大增加工作效率。通常在操作工作表的时候,可能会输入一些很有序的序列,如果一一录入就显得十分笨拙。Excel给出了一种...

Excel VBA入门教程1.3 数组基础(vba数组详解)

1.3数组使用数组和对象时,也要声明,这里说下数组的声明:'确定范围的数组,可以存储b-a+1个数,a、b为整数Dim数组名称(aTob)As数据类型Dimarr...

远程网络调试工具百宝箱-MobaXterm

MobaXterm是一个功能强大的远程网络工具百宝箱,它将所有重要的远程网络工具(SSH、Telnet、X11、RDP、VNC、FTP、MOSH、Serial等)和Unix命令(bash、ls、cat...

AREX:携程新一代自动化回归测试工具的设计与实现

一、背景随着携程机票BU业务规模的不断提高,业务系统日趋复杂,各种问题和挑战也随之而来。对于研发测试团队,面临着各种效能困境,包括业务复杂度高、数据构造工作量大、回归测试全量回归、沟通成本高、测试用例...

Windows、Android、IOS、Web自动化工具选择策略

Windows平台中应用UI自动化测试解决方案AutoIT是开源工具,该工具识别windows的标准控件效果不错,但是当它遇到应用中非标准控件定义的UI元素时往往就无能为力了,这个时候选择silkte...

python自动化工具:pywinauto(python快速上手 自动化)

简介Pywinauto是完全由Python构建的一个模块,可以用于自动化Windows上的GUI应用程序。同时,它支持鼠标、键盘操作,在元素控件树较复杂的界面,可以辅助我们完成自动化操作。我在...

时下最火的 Airtest 如何测试手机 APP?

引言Airtest是网易出品的一款基于图像识别的自动化测试工具,主要应用在手机APP和游戏的测试。一旦使用了这个工具进行APP的自动化,你就会发现自动化测试原来是如此简单!!连接手机要进行...

【推荐】7个最强Appium替代工具,移动App自动化测试必备!

在移动应用开发日益火爆的今天,自动化测试成为了确保应用质量和用户体验的关键环节。Appium作为一款广泛应用的移动应用自动化测试工具,为测试人员所熟知。然而,在不同的测试场景和需求下,还有许多其他优...

取消回复欢迎 发表评论: