【C语言基础学习笔记】一、初始C语言(总结篇)-程序员宅基地

技术标签: c++  c语言  C语言编程学习  编程语言  程序设计  典型编程练习分享  程序人生  

说明:我是一个初学c语言的小白,很多地方都不是很理解,所以就会自己动手敲代码进行相应的推理验证,希望可爱的你在看到这些步骤时,不要嫌弃我啰嗦。(近期有很多小可爱给我私发消息,问我怎么学习编程,怎么学好c语言等问题,所以在这里我统一进行解答和回复,希望可以帮到大家。)


本章内容:
1、如何学好编程,编程学习方法分享(小白必看~)
2、编程学习路径分享(C++/Java)
3、初始C语言总结思维导图(复习+提高 专用)
4、初始C语言知识补充(查漏补缺)
5、编程练习题(巩固加深所学知识)



一、如何学好编程

相信有很多小伙伴都跟我一样,刚接触编程,刚接触C语言,担心自己学不会或者学不好(也有一些同学可能在学校中已经接触过C语言,但是限于自己学习的渠道和方法,导致自己对编程学习的兴趣和自信直线下降,备受打击,陷入深深的自责和懊悔。)。所以近期我收到很多小可爱们给我的私信问:“张同学,你是怎么学编程的?有没有好的编程学习方法?我该怎么做才能学好编程呢?”等等诸如此类的问题。在这里我结合自己的学习经历,以及身边一些自学编程成功同学的经历,统一回复帮助大家解决这些烦恼和问题。
1、调整好自己的心态:在你每次学习编程质疑自己的时候请一定要记住这句话:”每一个人都可以,也有能力学好编程”。编程学习并不是一个需要多高的智力,高超的技巧才能学会的东西。它和我们从小到大经历过的每一种新的知识一样,需要熟能生巧,需要刻意练习!
2、学会一些好的学习方法:①电脑记笔记+知识夹整理:编程学习涉及到的知识内容会比较多,理解的东西也会很多,很多时候需要有相应的图例+代码+额外知识链接(比如网站、博客等),个人建议用电脑或者平板去记笔记,最好能支持同步上传,这样就不用担心自己的笔记丢失。不建议线下手写记笔记的方式,太慢,效率低,不方便复习查看,易丢失。推荐软件:OneNote、有道云笔记、印象笔记等等。
②学会定期总结和复习:总结是对自己所学知识的一个提高和整理,建议学习的过程中要定期去进行总结和复习(比如我自己采用章节总结的方式,每学完一章节进行总结和复习)。建议总结和复习方式:思维导图 推荐软件:xmind
3、养成写博客的习惯:学习的过程是一个输入知识的过程,而写博客则是将自己所学知识输出的一个过程。自己在写博客的过程中会不断的向自己提问,能真正发现学习过程中没搞懂或者有疑惑的地方。此外,写博客代表你是一个敢于分享,乐于分享的人,这样你不但可以在学习过程中体会到快乐,还能在分享学习知识的过程中体会快乐(双重快乐,快乐翻倍!)。每一个厉害的牛人也都是一步一个脚印从菜鸟过来的,所以不要去害怕自己写的不好,不敢去分享。
4、养成每天敲代码,上传代码的习惯:推荐代码上传网站GitHub(国外),Gitee(国内)。GitHub服务器在国外,所以在使用过程中网速受限,Gitee是国内的代码托管平台,界面风格和使用几乎和GitHub一致,但是网络访问速度更快,使用体验更好。


上面说的这些都是学习编程的前期准备环节,接下是编程学习过程中的具体方法
(1)c语言被称为编程之本,是一门非常值得学,也适合去学的编程语言!(c语言也是最好的编程入门学习语言!)
(2)学习不能叫苦叫累,抱怨没时间:与戴皇冠,必承其重,真正牛逼的人都是合理安排时间,把自己有限的时间花在他觉得最重要的事情上面。
(3)拒接做伸手党:学习编程最重要的过程就是“要学会自己尝试去解决遇到的各种问题,因为在尝试解决问题的过程中,你才会去想尽各种各样的方法,从多个角度思考,才能真正的提高自己的编程能力”(不要转牛角尖,这里不是说不管遇到什么问题都不要请教别人,在我们的学习中,生活中,以及今后的人生中,向他人学习是非常重要的。只是要注意在请别人帮忙之前要花心思去想想,去尝试自己解决,不要一有问题就甩给别人,别人解决了,你并不能获得解决问题过程中的提升!)


二、编程系统学习路径

学好C语言不代表学好编程,二者不是等价的!编程的学习包括:编程语言、数据结构和算法、操作系统、计算机网络及网络编程、数据库、脚本语言。 在学习的计算中,一定要自己多去实践!多敲代码!
C++/Java编程系统学习路径分享:
在这里插入图片描述
①编程语言的学习:选一门经典语言深入学习,多敲代码多实践。
②数据结构和算法:建立在掌握编程语言的基础上,听懂 / 看懂 + 实践。
③操作系统、计算机网络和网络编程:上课认真听讲,理解 + 看书(几本好书),实践
④数据库、脚本语言:相对简单


三、初始C语言总结篇

该部分内容是对初始C语言(1)(2)(3)的总结,建议在阅读之前先看一下之前的三篇文章,对照阅读效果更佳!
在这里插入图片描述


四、初始C语言知识补充

(1)C语言是一门通用计算机编程语言,广泛应用于底层开发。那么什么叫做底层开发呢?
在这里插入图片描述
一般我们所购买的电脑都是硬件设备,需要在电脑上安装操作系统,比如windows / Linux / macos等,但是操作系统并不是直接控制电脑硬件,而是通过中间层-- - 驱动(各种驱动软件),来间接操控硬件设备。在操作系统安装完成后,如果我们需要丰富多彩的体验和功能,就需要安装应用软件,比如社交聊天用的QQ、微信、网络资源管理和共享的云盘网盘、娱乐放松的电脑游戏,这些都存在与应用层。通常我们将应用层往下称为底层。
(2)常见文件后缀.c-- - 源文件 (c语言格式source).h-- - 头文件(head).cpp-- - 源文件(c++格式).exe-- - 可执行程序
(3)一个工程中有且仅能有一个main函数(主函数),一个工程中可以有多个.c源文件,多个.h头文件,但是多个.c文件中有且仅能有一个main函数。分析理解:main函数是整个工程程序执行的入口,如果出现了多个main函数,那么程序就不知道该从哪个入口进去,不知道执行哪个main函数,就会出错!
(4)变量的声明和定义、函数的声明和定义可以放到main函数外面,但是执行类的语句不能放到main函数外面
例如:全局变量a的声明和定义可以放到main函数外面,但是打印a的值这条执行语句不能放到main函数外面。
在这里插入图片描述
(5)转义字符中的’(单引号)"(双引号)什么时候使用呢? ‘(单引号)"(双引号)之所以要进行转义,是为了解决’ ’ 和 " " 配对的问题。
例1:如果我们要打印输出单引号’ ,若不加\进行转义,则出现’ ‘异常配对,加上\后进行转义可以解决’ ‘异常配对的问题
在这里插入图片描述
在这里插入图片描述
例2:如果我们要打印输出双引号’ ,若不加\进行转义,则出现" “异常配对,加上\后进行转义可以解决” "异常配对的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/QIYICat/article/details/115603341

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签