LearningC_Lecture1_general_concepts

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

目录

编程工具

工欲善其事,必先利其器。C语言是一门编译型的计算机语言,需要依赖编译器将计算机语言转换成机器能够执行的机器指令。那常见的C语言编译器都有哪些呢?

msvc、clang、gcc 就是一些常见的编译器,当然也有一些集成开发环境如:VS2022、XCode、CodeBlocks、DevC++、Clion 等。

集成开发环境(IDE)是用于提供程序开发环境的应用程序,一般包括代码编辑器、 编译器 、 调试器和图形用户界面等工具,是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套装。简单来说,我们只要在Windows环境下安装好VS2022这一个软件,就具备了C程序开发的所有条件(VS2022集成了msvc编译器)。XCode则是MacOS平台的集成开发环境(集成了clang编译器)。

本笔记中的代码均由Windows环境下的VS2022软件实现。

在这里插入图片描述

优点:

  • VS2022 是一个主流的集成开发环境,企业中使用较为普遍;
  • 包含了:文本编辑器 + 编译器 + 调试器,功能强大;
  • 直接安装即可使用,基本不用额外配置环境,上手容易;
  • 默认中文界面,初学者友好。

缺点:

  • 功能丰富,安装包大,占用空间多。

VS2022安装教程

Windows环境下推荐使用VS2022社区版,因其免费,使用方便,较为常见。
安装教程见B站鹏哥教程,链接: VS2022安装使用教程,Visual Studio 2022详细安装使用调试教程C语言编译器,C++编译器

第一个C程序

安装VS2022,新建项目,并新建源文件(.c文件)后,在源文件中写入以下代码:

#include <stdio.h>

int main()
{
	printf("Hello, X战警。\n");

	return 0;
}

Ctrl + F5 执行命令“开始执行(不调试)”,或点击软件上方工具栏“调试 - 开始执行(不调试)”。

输出结果:

Hello, X战警。

C:\code\gitee\learning-c\LearningC_1_general_concepts\x64\Debug\LearningC_1_general_concepts.exe (进程 43336)已退出,代码为 0。
按任意键关闭此窗口. . .

编译和链接

C语言是一门编译型计算机语言,C语言源代码都是文本文件,文本文件本身无法执行,必须通过编译器的翻译和链接器的链接,生成二进制的可执行文件,可执行文件才能执行

C语言代码是写在以.c 为后缀的文件中的,要得到最终运行的可执行程序,中间要经过编译和链接2个过程。

一个工程一般会由多个源文件组成,每个源文件.c文件)单独经过编译器处理生成对应的目标文件(以.obj为后缀的文件),多个目标文件和库文件经过链接器处理生成对应的可执行文件(.exe文件)。

库函数

printf

转义字符

字符串和 \0

  1. 字符串的末尾隐藏一个 \0,\0 被认为是字符串的结束标志,体现在:
    1. 当打印字符串的时候,打印到 \0 就自动停止。
    2. 当求字符串长度的时候,也是统计到 \0 为止,即统计的是 \0 之前字符的个数。

代码示例:

#include <stdio.h>
#include <string.h> // string 字符串 头文件

int main()
{
	char arr1[] = "abc";
	char arr2[] = { 'a', 'b', 'c'};
	printf("%s\n", arr1);
	printf("%s\n", arr2);
	printf("%zd\n", strlen(arr1));   // %zd
	printf("%zd\n", strlen(arr2));

	return 0;
}

注意,因为使用了求字符串长度的库函数strlen(),所以开头引入了字符串相关库函数的头文件<strling.h>,同时根据warning提示将打印%d修改为打印%zd

warning C4477: “printf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 1 拥有了类型“size_t”
请考虑在格式字符串中使用“%zd”

输出结果:

abc
abc烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫贴->1?
3
42

C:\code\gitee\learning-c\LearningC\x64\Debug\LearningC.exe (进程 43964)已退出,代码为 0。
按任意键关闭此窗口. . .

结果可以看到,字符串arr2因为是由三个单独的字符变量构成,末尾并没有字符串结束符 \n,所以额外打印出了一串随机代码,字符串长度也相应统计成了42。

代码示例:

int main()
{


### 最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/9b7482acc6367be55024833bd1d8f52b.png)

给大家整理的电子书资料:

  

![](https://img-blog.csdnimg.cn/img_convert/cde4fa84ae297cf26c1a76d0b786c903.png)



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

点赞、收藏、转发给朋友,让我有持续创作的动力!**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值