学习C语言的前提知识(上)

C语言的学习路线 学习C语言是一个循序渐进的过程,从基础知识到进阶应用,需要不断实践与总结。通过阅读书籍、参加在线课程、参与项目实践,以及在技术社区中交流,你将能够系统地掌握C语言的各项技能。随着对C语言理解的深入,你可以慢慢向其他高级编程语言过渡,例如C++、Java或者Python。掌握的C语言不仅有助于提升你的编程能力,更能为你以后学习其他编程语言打下坚实的基础。希望这条学习路线图能对你有所帮助,祝你在学习C语言的旅程中收获满满! 阅读详情


前言

什么是语言?
人和人交流使用的是自然语言,如:汉语、英语、日语等。
那人和计算机就是使用计算机语言进行交流的。目前已知已经有上千种计算机语言,人们是通过计算机语言写的程序,给计算机下达指令,让计算机进行工作。 C语言就是众多计算机语言中的⼀种,例如我们常说的C++/Java/Go/Python都是计算机语言。


一、C语言的发展

C语言发展时间轴

  • 早期起源(1960s-1970)
    C语言的前身可以追溯到一种叫做BCPL的语言,这是一种由Martin Richards在1960年代初设计的简单编程语言。BCPL后来启发了Ken Thompson在1970年左右为第一版UNIX操作系统开发了一种简化版的语言,称为B语言。B语言非常接近于机器语言,但增加了结构化编程的特性。
  • C语言诞生(1972)
    Dennis Ritchie在贝尔实验室工作期间,基于B语言并结合了对UNIX操作系统的需要,设计并实现了C语言。C语言的关键改进包括数据类型增强(如引入了结构体)、内存管理功能和对指针的强大支持,这些都极大地提高了编程的灵活性和效率。1972年左右,第一个可用的C编译器诞生,用于编写UNIX操作系统。
  • 标准化(1985-1989)
    随着C语言的普及,不同厂商和组织开始推出各自的实现,这导致了语言特性的不一致。为了统一标准,ANSI(American National Standards Institute)于1983年开始着手制定C语言的标准,最终在1989年发布了第一个官方标准,称为ANSI C或C89(也称作ISO/IEC 9899:1990)。这个标准定义了C语言的语法、库函数等,使得不同平台上的C程序具有更好的可移植性。
  • C99(1999)
    C语言在1999年进行了重要的更新,发布了新的标准C99。C99引入了许多新特性,比如变量声明的位置更加灵活、新增了复数类型、增强了对行内汇编的支持、以及对标准库的扩展等,进一步提升了语言的功能性和表达能力。
  • C11(2011-至今)
    大约十几年后,C语言再次进行了标准化更新,发布了C11标准。C11主要针对多核处理器环境下的并发编程提供了支持,引入了原子类型和线程支持库(_Thread.h),增强了Unicode支持,并且在类型安全和宏定义方面做了改进。

二、前提知识

1.IDE的选择

C语言是一门编译型的计算机语言,需要依赖编译器将计算机语言转换成机器能够执行的机器指令。
为了方便,我们可以直接下载C语言编译器。
例如msvc、clang、gcc 就是⼀些常见的编译器,而我们使用更多的是集成开发环境(IDE)

集成开发环境(IDE)用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器 、调试器和图形用户界面等工具。 集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。

这里推荐两种:

  • VS2022:集成msvc(安装报包较大,安装简单,无需多余配置)
  • DevC++:集成了gcc(小巧,工具过于简单,一些竞赛使用)

整体考虑,推荐大家安装VS2022社区版学习,免费,使用方便,但是占用空间较大。

2.VS2022的使用

步骤如图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样一来,就可以开始写代码了!
(在步骤演示中不懂的地方,不用慌张,后续都会讲到😊)


3.HelloWoold程序

#include<stdio.h>

int main()
{
	printf("Hello World!");
	return 0;
}

写入以上程序后,按Ctrl + F5之后,运行程序,成功打印

Hello World!

为什么这样写呢?我们来逐行分析
#include<stdio.h>
表示包含了stdio这样的头文件
int main()
表示main函数,每个 C 语言程序不管有多少行代码,都是从 main 函数开始执行的, main 函数是程序的⼊口,
main 函数也被叫做:主函数。 main 前面的 int 表是 main 函数执行结束的时候返回一个整型类型的值。所以在 main 函数的最后写 return 0; 正好前后呼应。
• main函数是程序的入口
• main函数有且仅有一个
• 即使一个项目中有多个.c文件,但是只能有一个main函数(因为程序的入口只能有⼀个)
printf("......");
printf 是一个库函数,它的功能是在标准输出设备(一般指屏幕)上进进信息的打印。上面的代码是使用printf 函数打印字符串。只要把想要打印的⼀串字符放在双引号中并传递给printf函数就可以打印。
什么是库函数?
为了不再重复实现常见的代码,让程序员提升开发效率,C语言标准规定了一组函数,这些函数再由不同的编译器厂商根据标准进行实现,提供给程序员使用。这些函数组成了一个函数库,被称为标准库,这些函数也被称为库函数。一个系列的库函数一般会声明在同一个头文件中,所以库函数的使用,要包含对应的头文件。
int?return?
C语言中有一批保留的名字的符号,比如:int 、if 、return ,这些符号被称为保留字或者关键字,并且每个关键字都具有特殊意义。
C语言常见的关键字:

auto break case char const continue default do double else enum extern
float for goto if int long register return short signed sizeof
struct switch typedef union unsigned void volatile while

三、总结

通过以上内容的学习,我们简单了解了C语言的发展,编译器的选择和项目的创建过程,并且简单介绍了第一个C语言程序,遇到了库函数,头文件,主函数,关键字等名词,相信你现在还是有很多疑惑,但是不要紧,在更新完学习C语言的前提知识(下)之后,我都会详细讲解。
关注我,跟我一起学习C语言!(❤ ω ❤)🎉


完

C语言学习笔记(1) Q的作用等价于int,重命名的目的是提高代码可读性typedef的可移植性强,可以在前面定义别名的使用,只需要改变一次比如int在桌面端占用4个字节,在嵌入式的时候可能就只有两个字节,只需要把重命名的前面的类型改变,比如嵌入式中int占用2字节,long占用4字节,只需要把int改为long就可以恢复桌面端占用4字节int的效果。//把int重命名为QQ a=0;//a是int类型int arr[4];//声明一个数组//变量名为arr//类型为int[4]10.3常数const。 阅读详情

相关推荐

【C语言基础学习笔记】一、初始C语言(总结篇)

说明:我是一个初学c语言的小白,很多地方都不是很理解,所以就会自己动手敲代码进行相应的推理验证,希望可爱的你在看到这些步骤时,不要嫌弃我啰嗦。(近期有很多小可爱给我私发消息,问我怎么学习编程,怎么学好c语言等问题,所以在这里我统一进行解答和回复,希望可以帮到大家。) 本章内容: 1、如何学好编程,编程学习方法分享(小白必看~) 2、编程学习路径分享(C++/Java) 3、初始C语言总结思维导图(复习+提高 专用) 4、初始C语言知识补充(查漏补缺) 5、编程练习题(巩固加深所学知识) 文章目录一、

大家好我叫张同学 7681

C语言入门指南:为大一新生准备

学习C语言的过程中,最重要的是不断实践,写代码。你可以从简单的程序开始,比如实现一个计算器、编写一些简单的算法,如排序算法等。在学习C语言的过程中,遇到问题时一定要多查阅资料,多向老师和同学请教。掌握C语言将为你未来学习其他编程语言打下坚实的基础。祝你编程之路顺利!

m0_52796585的博客 2492

如何学习C语言,C语言的知识框架

如果你不知道如何学习C语言,那么先看一下C语言的知识框架。 C语言是世界上最值得学习的语言 学习C语言之前,首先要明确地告诉自己,C语言是世界上好的语言。 如今决定学习任何一门其他语言之前,都要先考察这个语言有什么成功项目吗?唯独C语言没有必要问,因为世界上所有最最重要的的系统中,都必然有C语言的身影。比如操作系统内核、高级语言底层等等。 为什么C最适合担任系统核心?主要原因可能是C语言具有和汇编语言的对应性,一条C语言代码,对有经验的人来说,可以转换为一条或多条汇编代码,也就是说编译结果具有可预测性。C

C语言C++学习俱乐部:765860056 1058

C语言学习方法

开始用Raptor写程序流程图了,好抽象,努力了一个下午 查百度问同学终于搞定了,真开心,希望越来越顺利,加油????

weixin_62605148的博客 1109

C语言是一种怎样的语言,零基础学习C语言难不难?

C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是如何交互的,程序在内存中是一种怎样的状态,操作系统和用户程序之间有着怎样的“爱恨情仇”,这些底层知识决定了你的发展高度,也决定了你的职业生涯。 如果你希望成为出类拔萃的人才,而不仅仅是码农,这么这些知识就是不可逾越的。也只有学习C语言,才能更好地了解它们。有了足够的基础,以后学习其他语言,...

C语言学习之家 1712

在系统学习C语言之前所需要了解的知识

本文基于VS2022,将介绍一系列的C语言常见概念,让读者对C语言有一个初步的了解,并对后续的学习做下铺垫。在VS上写代码,我们是需要创建项⽬的,直接新建项⽬就可以了。在项⽬中就可以添加源⽂件和头⽂件。C语⾔把 .c 为后缀的⽂件称为源⽂件,把 .h 为后缀的⽂件称为头⽂件。C语⾔中有⼀批保留的名字的符号,⽐如: int 、 if 、 return ,这些符号被称为保留字或者关键字。• 关键字都有特殊的意义,是保留给C语⾔使⽤的• 程序员⾃⼰在创建标识符的时候是不能和关键字重复的。

qq_74013365的博客 2067

如何从零开始学习c语言,你真的造吗

计算机行业发展非常快,大学里的教育基本都跟不上实际的社会需求。如果你所在的学校还在指定大家使用谭浩强的教材,或使用VC6.0来教大家上机实验,那你不妨看看本文,这里有一些建议可以帮助你不会脱离社会太远。在学习上遇到不懂的问题的时候可以加C/C++学习 487790381群在开始之前,我们先来做一个小测试。一、小测试,你准备好学习C语言了吗?你是否听说过二进制数,他们是如何进行运算的?(基本的数的进...

stone15165的博客 2万+

Device Mapper 代码分析

Device Mapper(DM)是Linux 2.6全面引入的块设备新构架,通过DM可以灵活地管理系统中所有的真实或虚拟的块设备。DM以块设备的形式注册到Linux内核中,凡是挂载(或者说“映射”)于DM结构下的块设备,不管他们是如何组织,如何通讯,在Linux看来都是一个完整的DM块设备。因此DM让不同组织形式的块设备或者块设备集群在Linux内核面前有一个完整统一的DM表示。一、DM

SonicLing的专栏 1万+

学习C语言的前提知识(下)

本文简单介绍了C语言学习前的基础知识,欢迎关注我!

code_cen的博客 1118

实战指南:用Python实现ONVIF WS-Discovery设备发现(附完整代码)

本文提供了一份详细的实战指南,介绍如何使用Python实现基于ONVIF标准的WS-Discovery设备发现协议。文章深入解析了协议原理、网络通信模型,并提供了完整的代码实现,帮助开发者快速构建智能安防和物联网应用中的设备自动发现工具,有效提升网络设备集成与管理的效率。

chair的专栏 1113

rv1126平台spi屏调试

st7789v2 i2c调试

zuoanyouzhuan_的博客 2035

每天学习多少个小时的C语言,大概多久能完全掌握?

从事软件行业十几年,中间经历过很多C语言的项目,想要掌握一门编程语言只是拿出多少时间来学习是不够的,主要还是要项目实战,没有参与真正的实战不要轻易说出掌握了什么编程语言,编程属于一种技术积累性的工作,理论很重要,实践更加重要。 任何一种编程语言的学习在具备理论的基础上,然后用项目实战来巩固理论知识,起码做上几个大项目才能真正说掌握一种编程语言。 C语言的学习之前需要把计算机组成原理要弄清楚,知道计算机是如何运转的,内存和cpu是如何运转学习的,进制之间是如何转化的,毕竟C语言属于非常靠近底层的.

HUYA69的博客 6577

37、OpenMP:并行编程的强大工具

本文详细介绍了 OpenMP 的核心功能和使用方法,包括执行环境例程、线程同步与协调机制,如关键区域、屏障、原子操作、归约子句、刷新构造和锁机制。此外,还提供了多个实践练习,涵盖矩阵乘法的并行实现、任务池与流水线模式的应用、读写锁的扩展与移植,以及客户端-服务器模式的实现与优化。通过这些内容,读者可以全面掌握 OpenMP 在并行编程中的实际应用与性能优化技巧。

www00的博客 101

选择大于努力!0基础学好C语言编程,首先要掌握的是什么?

互联网时代更新换代太快,大学的书本,教育根本跟不上,所以如何用更少的时间掌握最前端的技术,方法很重要。 考虑到这是一个过来人感觉很基础,但是对于初学者又觉得困难重重的问题,我想如果这篇文章要想写得不让你觉得专业名词扎堆,内容高深莫测,读完还是不知所云,那最好的办法也许是,我们通过沟通的方式把整个「C语言应该怎么学」的问题由小及大的展开,慢慢来谈。 在开始之前,我们先来做一个小测试。 一、...

CodingPs的博客 705

STM32实战开发(66):STM32图像处理开发教程

随着物联网、人工智能和嵌入式技术的不断发展,图像处理技术在嵌入式系统中的应用越来越广泛。图像处理不仅在视觉识别、安防监控、智能家居等领域中发挥着重要作用,也在工业自动化、医疗成像、无人驾驶等高科技领域中占据重要地位。而STM32凭借其强大的硬件性能和丰富的外设支持,成为了许多图像处理应用的理想平台。

2201_76125393的博客 1444

[QMT量化交易小白入门]-八十九、深度学习训练多维特征进行金融价格行情预测

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 217

c语言需要什么硬件基础知识,学习c语言需要什么 基础c语言需要这些知识

c语言编程是作为一个程序员最基本的一个知识点,可是c语言需要哪些基础知识,又该如何学呢?这些问题也就是今天小编所要说的,所以正在为这些问题烦恼的,你快来看一看具体的学习思路吧。学习c语言需要什么基础——c语言需要这些知识简单学习C语言的基础:识字,可以阅读C语言教材。认识英文字母,标点符合,阿拉伯数字,并可以在电脑上打出来。C语言:是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以...

weixin_42306055的博客 5303

[系统安全] 四十七.恶意软件分析 (3)动态分析经典沙箱Cape的安装和基础用法详解

系统安全将更好地帮助初学者了解病毒逆向分析和系统安全。前文详细介绍恶意代码静态分析经典工具Capa的基础用法,以及批量提取静态特征和ATT&CK技战术,主要是从提取的静态特征Json文件中提取关键特征。这篇文章将详细讲解动态分析沙箱Cape,其是一个开源的自动恶意软件分析系统,通过自动运行和分析恶意软件,全面分析和提取恶意软件的关键特征。本文先介绍Cape沙箱的安装和基础用法,后续随着深入再分享。基础性文章,希望对您有帮助!

杨秀璋的专栏 6731

如何学习C语言

写这篇文章是给刚迈入我们c语言的小萌新的一些建议,因为掌握了好的方法,我们学习起来才能事半功倍! 一.了解C语言 首先学习c语言我们就要了解c语言,而c语言对于我们来说到底是什么呢? C语言是计算机体系结构的基础,通过它我们可以操作硬件,还可以写驱动,写编译器. 通过它我们还可以学习C++,JAVA,python等一些语言,还能学习一些图形用户界面框架,因此, 我们可以通过它们做一些应用.比如你们爱玩的王者荣耀,吃鸡等游戏. 是不是非常炫酷呢! 二.每天看C语言方面的书 只有读懂了c语言

WWT52306的博客 4107

KEPServerEX物联网网关(IoT Gateway)REST客户端代理(非原创)

(中文版)资料来源于【OPC-KEPServerEX学习KEPWare交流】905485143群的【455196383】【零下一度】 一。KEPServerEX物联网网关REST客户端代理演示 在KSE中,首先构建一个带有通道/设备/标签的模拟器系统。 例如,下面是三个随机项目。 直接到IoT网关插件,添加新代理。 从类型列表中选择REST Client。 终结点...

-雲飛兄-博客 5805

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

【C语言】C语言学习教程

 C 语言的应用领域极其广泛。在操作系统开发领域,大名鼎鼎的 Linux 操作系统,其内核大部分代码就是用 C 语言编写的。Windows 操作系统的底层核心部分,同样离不开 C 语言的支持。这是因为 C 语言能够直接操作硬件资源,对内存和 CPU 的控制精准高效,能够充分发挥硬件的性能,为操作系统的稳定运行提供坚实保障。

大雨淅淅的博客 2316

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

一、第1、2章: 容易忽略的前提知识(C语言高级应用篇 )

初学者对代码风格不太重视,这是很不好的习惯,且后果很严重,这里介绍一些编码规则,在大学期间要严格按照此规则编程,毕业之后可根据公司规定做一些修改。C语言从1978年第一个标准到现在,陆续有如下版本:K&RC、C89、C90、C95、C99、C11、C17、C23这几个。常见的C语言编译器有微软的MSVC、keil公司的针对51系列和arm系列的编译器armcc(市面上的CPU多按照架构分,不同架构对应的汇编语言或者机器码不同,这里只介绍常用的CPU架构。对于当前的嵌入式系统中,51和arm-M内核的多用。

神圣的大喵的博客 1102

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C语言知识点总结 -思维导图

C语言知识点总结 学会梳理知识,学会学习,后续会陆续更新数据结构和c++知识点总结。 本人把所有学习C语言的笔记放在了一个专栏,有兴趣的朋友可以随时查阅,有问题欢迎交流。 专栏链接:http://blog.youkuaiyun.com/column/details/20152.html...

龙跃十二 8668

学习C语言的途径

3. Codecademy(https://www.codecademy.com/catalog/language/c):一个非常优秀的在线编程学习平台,提供了多种编程语言的课程,其中就包括一系列交互式的C语言课程,适合初学者掌握C语言的基本概念和语法。2. Learn-C.org(https://www.learn-c.org/):一个免费的C语言学习网站,提供了一系列简单易懂、交互式的C语言教程,涵盖了C语言的基础知识,包括数据类型、变量、运算符、流程控制等内容。除了题库,它在校招方面也相当出色。

jmf050929的博客 3023
下一篇: 学习C语言的前提知识(下)
2023dream
博客等级 码龄3年 160粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2023dream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值