C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言。

真不难

C语言难不难?这个问题是相对的,对于找到合适方法学习C语言的同学想必是觉得很简单;但对于一部分同学来说,没有众观全局就会误以为刚入门就需要学习庞大的知识,学着学着开始看不懂,由于心理作怪,感觉内容巨多,之后就真的一直看不懂了。

但C语言的基础内容真的多吗?回答是:不多。请看下图,C语言可以分为9个块,或者说9个主要知识点;才9个?对的,就是9个。主要是printf输出、变量、scanf输入、数组、逻辑判断、循环、自定义函数、指针以及结构体。

接下来我将讲解各个知识点的简要概括,助各位学习者一同进步。

在这里插入图片描述以下将会在讲解知识点的时候有对应知识点的教程链接,点进去就可以看到文章教程,全部免费,无套路~

先来个教程完整目录

目录

第一篇:(一)脱离学习误区
第二篇:(二)C语言没那么难简单开发带你了解流程
第三篇:(三)轻轻松松理解第一个C语言程序
第四篇:(四)语言的基本数据类型及变量
第五篇:(五)C语言的变量、常量及运算
第六篇:(六)轻轻松松了解C语言的逻辑运算
第七篇:(七)C语言的循环分分钟上手
第八篇:(八)了解基本数组还不是那么简单
第九篇:(九)C语言二维数组与循环嵌套
第十篇:(十)C语言的指针原来是这样
第十一篇:(十一)C语言自定义函数真的很简单
第十二篇:(十二)原来结构体是这么回事
第十三篇:(十三)socket服务端编写

C语言新手的100个报错解法

推荐

欢迎大家关注公众号,公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍2份哟~
在这里插入图片描述

学习目标

1.知道C语言真不难

一、printf

在学习C语言时,第一个程序一般是HelloWorld;HelloWorld主要是编写一个程序,在程序运行时显示HelloWorld文字;使用的代码就是printf。这是程序的第一步,并没有过多的内容,主要是了解软件的使用,以及尝试第一个程序的编写。

printf教程参考:(三)轻轻松松理解第一个C语言程序

二、变量

在这里插入图片描述

变量这一块的知识点主要是介绍如何使用变量,并且告诉你变量有很多类型,其实变量就是指可以存储值的容器。这个非常好理解,例如你在生活中使用的杯子,杯子用来装水,或者是一些液体;装水可以当做容器的值是水,容器是杯子。那我也可以用抽屉装书本,书本就是值,抽屉就是容器。

在编程中也一样,不同的容器对应的是不同掉值;在C语言中,存在几个类型,这些类型规定使用指定的容器去存储;当然也可以不按照常规存储,就像你用一个纸杯装了一个红彤彤的碳一样,高温会把纸杯给融化;除非你是故意要这个效果。

所以变量就是很简单的一个内容。在变量这一节的内容中,还将会学习变量的输出。这个输出值的是,我们在程序运行时将该容器内装的东西显示出来;就像你用一个桶装了你钓鱼钓到的货,你把这个货给大家一起看了。

变量还有一个关键的概念,就是可变。什么是可变?可变就是值你容器内的东西倒出来后还可以装新的东西进去;我装水的杯子我喝完了还可以装别的水进去。但是常量就不一样,常量存储了值后,就不可以改变了,就已经外包装封死了;你只能看见里面装什么,给大家看,但是你还想把里面的东西拿出来装别的东西进去是不可能的。

变量教程参考:
(四)语言的基本数据类型及变量
(五)C语言的变量、常量及运算

三、scanf

在这里插入图片描述

scanf的作用主要是接收用户的输入。什么是接收用户的输入呢?接收用户的输入就是值我们运行程序后,例如需要输入一个密码才可以启动程序;这时就需要我输入一个值,程序将等待我进行值的输入;输入完毕后程序接收到这个值,判断是否正确。要完成这个操作,在C语言程序中就需要使用scanf。

scanf主要有几个知识点,最为主要的知识点则是知道变量的地址。一般情况下,我们输入一个值将需要一个变量进行接收;这句话我们可以理解成,输入一个值,我们需要一个变量对这个值进行存储。但是要完成这个操作需要知道这个变量的地址,得到地址后我们就会将这个值存到这个变量中。每个变量在内存中会有一个地址对应,就像你住的地方一样,有一个标记,给予这个标记给scanf后就可以将值存储到那个变量中。

由于融入到了其它知识点这一个知识点不在这列出:(一)脱离学习误区

四、数组

在这里插入图片描述

数组主要是理解数组结构是如何存储的。数组是用来存储一堆数值的容器,跟单个的变量所存储的内容不一样,数组可以存储多个。例如我们需要存储同一类数据的多个值就可以使用数组。数组的存储结构跟一个抽屉一样,每个抽屉都装了一个值,例如第1排第1个,第1排第二个,理解了就及其简单。

二维数组呢其实跟一般的数组一致,就是有了第2排,有了第3排等。所以你既然能够理解抽屉,那么数组一定可以理解。

其中索引指的就是第几个,第几排的这个几,这个数字指的是一个量词对位置的标记;数组的存取就是指对这些抽屉进行查看,和重新放一些东西进去,就那么简单。

数组教程参考:
(八)了解基本数组还不是那么简单
(九)C语言二维数组与循环嵌套

五、逻辑判断

在这里插入图片描述

逻辑判断其实就是对一些数值进行判断,例如刚刚说的,这个程序每次打开需要输入一个值,判断这个值是否是打开的密码,如果输入错误就退出程序。

那么进行判断就需要使用if或者switch。if和switch都是同样的作用,懂其一则都懂,只是使用格式的不同而已。例如我们打开程序,输入了1234,密码是123456;输入的值存到了一个容器中,这个容器我们给它一个名字,或者说给了标记,叫做A;那我们只需要判断A是否等于123456就可以了。这就是逻辑判断的作用。

逻辑判断也可以进行“套娃”,也就是判断是否正确后再进行判断,也可以同时判断多个条件。例如当前的密码知道能够被2除断,没有余数就正确,但是不能等于2;这个时候就需要使用逻辑判断运算符,只要把想判断的内容放到逻辑判断符的左右两边,就可以完成了。

逻辑判断教程参考:
(六)轻轻松松了解C语言的逻辑运算

六、循环

在这里插入图片描述

循环是为了重复运行一些代码而设计的。主要使用的逻辑为,给予循环你要循环的次数,给予循环的代码,最后给予一个循环的控制变量;循环的控制变量作用顾名思义,用来控制循环次数;我们设置一个容器,里面装了一个数字0,每次循环就加1;例如最开始这个容器的数字是0,循环1次后我们加个1,这是容器装的值就是1了,每次加1则每次递增;那么这个时候我们给予的次数是10,每次循环只要判断这个循环控制变量是否大于10,就可以控制循环的次数了。

for循环、while循环以及do…while循环都是一样的用法,通过循环变量控制循环次数。循环是可以嵌套的,例如循环嵌套指的就是一个循环里面有另外一个循环,每次外面的循环循环1次,里面则循环指定的次数。

当我们需要重复设置我们的数组存储的值,使用循环特别方便。例如你需要在一个大规则的每个抽屉都需要放一个值,使用循环分分钟解决。

循环教程参考:(七)C语言的循环分分钟上手

七、自定义函数

在这里插入图片描述

自定义函数指的是你可以自己创建一个工具包。例如洗衣机是一个有功能的工具,它是用来洗衣服的,每次使用洗衣机把衣服扔进去就可以自动帮你完成任务。自定义函数也一样,实现一个功能后直接拿过来使用就可以了。

洗衣机功能是洗衣服,但是必须要有衣服才可以洗,衣服就是参数;洗衣机洗完衣服后给你的是干净的衣服,那么干净的衣服就是返回值;就是整个功能的结果。

自定义函数参考:(十一)C语言自定义函数真的很简单

八、指针

在这里插入图片描述

指针其实就是一个代理人,你可以通过这个代理人访问一些变量,或者对这些变量进行直接的操作,你就是他们的主人;但是在使用指针的时候你必须知道你要操作的东西的地址,不然从何操作;多重指针呢就是你的全权代理人跟另外一个人搭伙,你可以操作另外一个人的代理。

那为什么说指针危险呢?那是因为你的代理人保留着上一任主人的数据,你直接让他去操作一些东西,他会把上一任主人保留的数据拿去操作,这样你操作了不属于你的东西,这就被警告了。所以要使用指针时记得把上一任主人的数据给丢掉,并且用完这个指针工具人后让它把所有数据都扔掉。

指针教程参考:
(十)C语言的指针原来是这样

九、结构体

在这里插入图片描述

结构体我们可以当做是一种类型的组合。例如你使用变量去存储一个人的名字、年龄,需要新建2个变量;例如你又要存储一个人的名字、年龄就需要再新建2个变量;真太麻烦。这时使用结构体,结构体就像一个大容器,跟数组不一样,结构体可以给自己存的值给个变量存储,数组直接就是个变量,结构体包含着其它的变量。我们新建一个结构体叫做“人”,这个人结构体我们在内部新建2个变量,一个是名字、一个是年龄,这时只需要创建这个结构体,那我们就可以直接拥有2个变量,简单方便。

结构体教程参考:
(十二)原来结构体是这么回事

总结

了解概念后,学习将不会有太大难度,主要是认识使用的语法规则即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【中间件】.net Core中使用HttpReports进行接口统计,分析, 可视化, 监控,追踪等...

HttpReports 基于.Net Core 开发的APM监控系统,使用MIT开源协议,主要功能包括,统计, 分析, 可视化, 监控,追踪等,适合在微服务环境中使用。官方地址:https://www.yuque.com/httpreports/docs/u…

【遥感数字图像处理】实验:遥感影像辐射纠正(大气纠正)完整操作图文教程(Erdas版)

一、实验平台:Erdas 9.1 二、实验数据:dmtm.img 三、实验内容:利用回归分析法校正影像 四、实验原理:大气散射只影响短波波段,长短波进行对比,找出影响短波的程辐射值,将其减去 五、实验目的:掌握回归分析法校正影像的方法及步骤,能熟练地对影像进行校正 六、实…

Acitivty生命周期

为什么80%的码农都做不了架构师?>>> Acitivty 有七个生命周期: onCreate:当第一次调用一个Activity就会执行onCreate方法 onStart:当Activity处于可见状态的时候就会调用onStart方法 onResume:当Activity可…

还不懂你现在学习的编程语言能做什么?还不懂如何进阶?过来看图

前言说七说八 本篇文章的配图标注、内容并不代表仅有;本篇仅以个人经验及当前大学(大专、本科)相关课程作对比,列出比较常规的语言发展走向及相关技术;再次重申,本图及本文所涉及的技术发展走向并不代表着…

【遥感数字图像处理】实验:遥感影像几何纠正完整操作流程(Erdas版)

☆☆☆ 几何纠正预备知识 ☆☆☆ 1、几何变形误差的影响因素 遥感器本身引起的畸变外部因素引起的畸变处理过程中引起的畸变2、需要做精纠正的情况 景与景之间作比较GIS建模之前监督分类时提取样本创建高精度比例尺的影像地图与矢量数据叠加源于不同比例尺的地图之间比较提取精…

openid 钉钉_钉钉开发入门,微应用识别用户身份,获取用户免登授权码code,获取用户userid,获取用户详细信息...

最近有个需求,在钉钉内,点击微应用,获取用户身份,根据获取到的用户身份去企业内部的用户中心做校验,校验通过,相关子系统直接登陆;就是在获取这个用户身份的时候,网上的资料七零八落的,找的人烦躁的很,所以自己记录一下;实现这个要求,有好几种方式,使用ISV方式相对来说比较简单…

趣味二维码生成

1背景介绍 最近在 Github 看到了一个有趣的项目 amazing-qr,它支持生成普通二维码,带图片的艺术二维码,动态二维码。项目是用 python 编写的,以命令行的方式运行生成,不太方便调用,因此,我…

《零基础看得懂的C++入门教程 》——(1)第一个C++程序就让你知其所以然

一、学习目标 了解第一个C程序了解第一个C程序结构了解什么是注释了解什么是命名空间了解C语言的输出(如何在程序运行时显示内容)了解语句结束后需要使用什么符号表示结束 了解程序入口 目录 预备第一篇,使用软件介绍在这一篇,…

1、Locust压力测试环境搭建

环境准备:阿里云服务器一台、python2.7、pip Locust 介绍Locust 是一个开源负载测试工具。使用 Python 代码定义用户行为,也可以仿真百万个用户。 Locust 简单易用,分布式,用户负载测试工具。Locust 主要为网站或者其他系统进行负…

交互式 .Net

1名词解析 1. 交互式交互式是指输入代码后可直接运行该代码,然后持续输入运行代码。2. 交互式 .Net.Net 是一种编译型语言,不像 python 这类的脚本型语言,可以边输入代码边运行结果。幸运的是,软微推出了 interactive 这个项…

mysql signed 长度_浅谈mysql字段长度设置

mysql 中最常用的数据类型是tinyint,smallint,int,bigint,char,varchar;char(n)和varchar(n)存储固定长度的字符数据,长度最大为254字节。使用 ‘n’字节的存储空间;有符号和无符号区别:有符号可以存储负值,无符号只能存储0和非负值数值;tinyint 占用1字节的存储空间…

R语言-异常数据处理2

在R中进行基于稳健马氏距离的异常检验 前言 我们研究的数据中经常包含着一些不同寻常的样本,这称之为异常值(Outlier)。这些异常值会极大的影响回归或分类的效果。异常值产生的原因有很多,其中可能是人为错误、数据测量误差,或者是实际确实存…

《零基础看得懂的C++入门教程 》——(2)什么是数据类型、变量?一看便会

一、学习目标 了解基本常用的数据类型了解什么是变量 目录 预备第一篇,使用软件介绍在这一篇,C与C使用的软件是一样的,查看这篇即可:《软件介绍》 想了解编译原理和学习方法点这篇,学习方法和一些原理C与C都是相同的…

pycharm 快捷键介绍

CtrlN (Navigate | Class) 打开输入框输入要查找的类名 Ctrl空格 代码自动补全 Ctrl空格(按两次)对于没有导入的类自动完成导入代码并自动补全 AltF7 查找方法变量在工程中的所有应用 CtrlQ (View | Quick Documentation). 快速查看文档 …

db2和mysql语句区别_db2和mysql语法的区别是什么

MySQL默认使用大小写敏感的数据库名、表名和列名(可以通过lower_case_table_names参数控制是否大小写敏感),DB2数据库对大小写不敏感。虽然MySQL与DB2都遵循并符合SQL92标准且大多数SQL相互兼容,但是在一些细节的实现上有一些不同的地方。比如&#xff1…

查缺补漏系统学习 EF Core 6 - 数据查询

这是 EF Core 系列的第四篇文章,上一篇文章讲述了 EF Core 中的实体迁移与数据播种。这篇文章盘点一下 EF Core 的几种数据查询方式,内容较多分上下两篇。点击上方或后方蓝字,阅读 EF Core 系列合集。简单查询在 EF Core 中,每个查…

《零基础看得懂的C++入门教程 》——(3)表达式花样挺多鸭

一、学习目标 了解变量之间的计算了解什么是表达式了解什么是自增、自减 目录 预备第一篇,使用软件介绍在这一篇,C与C使用的软件是一样的,查看这篇即可:《软件介绍》 想了解编译原理和学习方法点这篇,学习方法和一些…

prometheus python client

为什么80%的码农都做不了架构师?>>> 当我刚开始准备使用Python写一个promethues的client的时候,并没有想到过程这么麻烦。github上的大佬们也没兴趣帮我解决这些细节的问题。以下是我在使用prometheus_client遇到的一些问题,仅供…

【遥感数字图像处理】实验:遥感影像分类(监督、非监督分类)完整流程(Erdas版)

一.实验目的: 理解计算机图像分类的基本原理,掌握数字图像非监督分类以及监督分类的具体方法和过程,以及两种分类方法的区别。 二.实验平台:ERDAS IMAGINE 9.1 三.实验要求:掌握非监督分类;非监督分类结果评价;监督分类;监督分类结果评价;分类后处理。 四.实验…

重大跨越!Windows 11 23H2 25115 推送:2023 年更新测试开启,水印回归

面向 Dev 频道的 Windows 预览体验成员,微软现已发布 Windows 11 预览版 Build 25115。主要变化1.微软宣布从 Dev 频道切换到 Beta 频道的选项正式关闭,Beta 频道将继续测试 Windows 11 版本 22H2,而 Dev 频道将开启 2023 年更新 Windows 11 …