[ C语言 ] | 从0到1?

目录

认识计算机语言

C语言

工欲善其事必先利其器

第一个C语言代码


这一些列 [ C语言 ] ,就来分享一下 C语言 相关的知识点~

认识计算机语言

我们说到计算机语言,语言,就是用来沟通的工具,计算机语言呢?就是我们用来和计算机沟通的工具。就像我们生活中的汉语,英语,等等这样的语言。汉语,英语...各个国家有各个国家的语言,并且同一个国家能可能也有不同的方言。C语言,C++语言,Rust语言,Golang语言,等等就像是不同国家的语言一样,但是最终的目的都是为了与计算机沟通

那我们学习计算机语言,就跟我们学说话一样,一定要多练习,多犯错误。只有这样我们才能不多的提升自己,只有这样我们才能在未来工作中或者未来写代码的时候,少犯错误,写错更加优雅的代码。

C语言

在1972年,贝尔实验室,由丹尼斯·里奇开发,之后还重写了Unix操作系统。很一个很牛逼的大佬,现在已经离世了。(哀悼1分钟,感谢祖师爷赏饭吃)。

工欲善其事必先利其器

我们学习C语言使用什么工具呢?通常来说有这么几个:Visual Studio 20xx,Visual Studio Code + C/C++插件,Vim配置 + gcc/g++、Clion、Dev C++ 这么几种。

在这里,我推荐大家使用Visual Studio 2019或者Visual Studio 2022。最推荐Visual Studio 2019。有一部分大学里面,用那个VC++6.0,这个就有点太夸张了。这个工具已经属于是“清朝工具”了,无论是错误提醒,自动补全在现在看来都是非常糟糕的。

Visual Studio Code + C/C++插件,Vim配置 + gcc/g++ 这两个工具呢?在我们学习的前期是不推荐的,但是在学习一段时间后还是很推荐Visual Studio Code + C/C++插件。前期的话,我们希望是尽快的把代码写起来。而不是在工具上花费更多是时间。

Clion工具呢?是收费的,但是功能还是很强大的。对我们刚刚学习来说,其实是没有必要的,同样的是后期也推荐使用。

Dev C++这个工具,是国内比赛比如说蓝桥杯比赛中使用的工具,这个工具虽然和Visual Studio Code一样是比较轻量的工具,但是调试功能我个人认为非常糟糕,不好用。

这里工具的话,就仁者见仁智者见智了,对于初学者还是建议使用Visual Studio 2019,这个工具比较大,可能需要8~10个G的磁盘空间。

第一个C语言代码

我们电脑中,有各种各样格式的文件,比如说有.txt的文件,.mp3,,mp4的文件等等,但是我们写C语言代码的文件是 .c 为后缀的文件,我们将 .c 这样的文件成为源文件,.h 这样的文件成为头文件

我们打开工具:

点击 “创建新项目” --> “空项目”

设置“项目名称”,项目的位置,解决方案的名称可以默认。 

这里建议搭建都创建一个专门的文件夹来存放代码文件,并且以一些统一的命名来命名我们的项目。

 右键源文件 -- 添加 -- 新建项,选择 C++文件,修改文件名称

这个工具,我们既可以用它来写C语言,写可以用它来写C++项目,我们以不同的文件后缀名来区分他们。C语言源文件,后缀名为 .c  C++语言源文件后缀名为 .cpp 或者 .cc 。C++的事情,我们以后再说。

现在我们就可以在中间的框框中写我们的第一个C语言程序啦~。

#include <stdio.h>int main()
{printf("Hello World!\n");return 0;
}

一个C语言程序,有且只能有一个main()函数,main()函数,是程序默认的入口函数。

printf() 函数呢?是一个在显示器上输出()括号内内容的函数,是一个库函数。

#include <stdio.h> 是一个宏,作用是将 stdio.h 文件中的所有内容,拷贝到当前的源文件中。

我们使用ctrl + f5,来执行程序,如果不行的话,可以试试 Fn + ctrl + f5。

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

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

相关文章

【通道注意力机制】【SENet】Squeeze-and-Excitation Networks

0.论文摘要 卷积神经网络建立在卷积操作的基础上&#xff0c;通过融合局部感受野内的空间和通道信息来提取有意义的特征。为了增强网络的表示能力&#xff0c;最近的一些方法展示了增强空间编码的好处。在本研究中&#xff0c;我们专注于通道关系&#xff0c;并提出了一种新颖…

kubernetes Calico(CNI) NetworkPolicy 流量管理 设置networkpolicy 策略 下集

1、kubernetes 网络策略&#xff08;网络隔离策略&#xff09; Network Policy 是 Kubernetes 中用于控制 Pod 之间网络通信的一种机制。它通过定义规则&#xff0c;限制哪些 Pod 或外部实体可以与目标 Pod 通信&#xff08;基于标签、命名空间、端口等&#xff09;。Network …

sqlmap基础命令总结

​注意事项:仅用于授权测试&#xff0c;避免非法使用。 目录 ​一、基础命令 ​二、数据库信息获取 ​三、绕过 WAF/IDS ​四、文件系统与系统命令 ​五、高级功能与优化 ​六、实战示例 ​一、基础命令 ​检测注入点 sqlmap -u "http://target.com/index.php?id1&…

Unity光线传播体积(LPV)技术实现详解

一、LPV技术概述 光线传播体积(Light Propagation Volumes)是一种实时全局光照技术&#xff0c;通过将场景中的间接光信息存储在3D网格中&#xff0c;实现动态物体的间接光照效果。 核心优势&#xff1a; 实时性能&#xff1a;相比传统光照贴图&#xff0c;支持动态场景 硬件…

SpringBoot (一) 自动配置原理

目录 一 自动配置 1:数据源的手动配置 1:SpringBoot的自动配置 二 自动配置的完整流程&#xff1a;&#xff08;底层&#xff09; 1. 场景化依赖与Starter机制 2. 主程序入口与注解驱动 3. 自动配置类的加载与筛选 4. 自动配置类的实现逻辑 5. 自动配置的触发与执行流…

OJ题:移动零

双指针法 c 语言实现 void moveZeroes(int* nums, int numsSize) {int dest,cur; //创建临时指针和目标指针destcur0;//出初始化while(cur<numsSize)//遍历{if(nums[cur]!0){swap(&nums[cur],&nums[dest]);cur;dest;}else{cur;}}} 思路是建立两个指针&#xff0…

pycharm终端操作远程服务器

pycharm项目已经连接了远程服务器&#xff0c;但是打开终端&#xff0c;却依旧显示的是本地的那个环境&#xff0c;也就是说没有操作远程的那个环境。只能再使用Xshell去操作远程环境&#xff0c;很麻烦&#xff0c;找了下教程。 来源&#xff1a;https://blog.csdn.net/maolim…

(头歌作业—python)3.2 个人所得税计算器(project)

第1关&#xff1a;个人所得税计算器 任务描述 本关任务&#xff1a;编写一个个人所得税计算器的小程序。 相关知识 个人所得税缴纳标准 2018 年 10 月 1 日以前&#xff0c;个税免征额为 3500 元/月&#xff0c;调整后&#xff0c;个税免征额为 5000 元/月&#xff0c; 7 级超…

Redis场景问题1:缓存穿透

Redis 缓存穿透是指在缓存系统&#xff08;如 Redis&#xff09;中&#xff0c;当客户端请求的数据既不在缓存中&#xff0c;也不在数据库中时&#xff0c;每次请求都会直接穿透缓存访问数据库&#xff0c;从而给数据库带来巨大压力&#xff0c;甚至可能导致数据库崩溃。下面为…

CUDA Memory Fence 函数的功能与硬件实现细节

CUDA Memory Fence 函数的功能与硬件实现细节 Memory Fence 的基本功能 CUDA中的memory fence函数用于控制内存操作的可见性顺序&#xff0c;确保在fence之前的内存操作对特定范围内的线程可见。主要功能包括&#xff1a; 排序内存操作&#xff1a;确保fence之前的内存操作在…

实战篇Redis

黑马程序员的Redis的笔记&#xff08;后面补一下图片&#xff09; 【黑马程序员Redis入门到实战教程&#xff0c;深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目】https://www.bilibili.com/video/BV1cr4y1671t?p72&vd_source001f1c33a895eb5ed820b9a4…

Reactive编程:什么是Reactive编程?Reactive编程思想

文章目录 **1. Reactive编程概述****1.1 什么是Reactive编程&#xff1f;****1.1.1 Reactive编程的定义****1.1.2 Reactive编程的历史****1.1.3 Reactive编程的应用场景****1.1.4 Reactive编程的优势** **1.2 Reactive编程的核心思想****1.2.1 响应式&#xff08;Reactive&…

异步转同步,实现一个消息队列

有一个场景&#xff0c;需要实现一个消息队列&#xff0c;要求 1&#xff0c;3&#xff0c;4 秒后&#xff0c;依次打印 1&#xff0c;2&#xff0c;3&#xff0c;如下&#xff1a; 其实考察的是怎么用同步的方式实现异步。 本文总结了四种方式实现&#xff1a;常规嵌套、prom…

【Spring Boot 与 Spring Cloud 深度 Mape 之十】体系整合、部署运维与进阶展望

【Spring Boot 与 Spring Cloud 深度 Mape 之十】体系整合、部署运维与进阶展望 #微服务实战 #Docker #Kubernetes #SpringSecurity #OAuth2 #分布式事务 #Seata #ServiceMesh #总结 #SpringCloud #SpringBoot 系列终章&#xff1a;经过前九篇 [【深度 Mape 系列】] 的系统学习…

求职笔试题

PDD 最长公共子序列 1143-最长公共子序列 class Solution:def longestCommonSubsequence(self, text1: str, text2: str) -> int:"""二维动态规划"""m, n len(text1), len(text2)# dp [[0]* (n1)] * (m1) 这种写法错误&#xff0c;m1行…

【MySQL基础-16】MySQL DELETE语句:深入理解与应用实践

1. DELETE语句基础&#xff1a;数据删除的艺术 在数据库管理中&#xff0c;DELETE语句是维护数据完整性和清理过期信息的关键工具。与日常生活中的"删除"不同&#xff0c;数据库中的删除操作需要更加谨慎和精确&#xff0c;因为数据一旦删除&#xff0c;恢复可能非常…

python学习笔记(3)——元组

Python3 元组全面详解 一、元组的定义与特性 基本概念 元组(Tuple)是Python中的不可变序列,用小括号()表示,元素用逗号分隔。与列表不同,元组一旦创建,元素不能修改、添加或删除(元素本身为可变对象的情况除外)。 不可变性 • 元组的每个元素的引用不可变,但若元素是可…

Android 中实现一个自定义的 AES 算法

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 前言 AES&#xff08;Advanced Encryption Standard&#xff0c;高级加密标准&#xff09; 是一种 对称加密算法&#xff0c;用于加密和解密数据。AES 由 美国…

小河:团队金牌精准计划

【趋势识别与预测】 数据趋势分析在随机序列研究中首要价值在于识别潜在规律并提升预测能力。随机序列常表现为无规则波动&#xff0c;但通过滑动平均、指数平滑、小波变换等方法&#xff0c;可剥离噪声干扰&#xff0c;提取长期趋势或周期性成分。例如&#xff0c;在金融时间序…

S32K144外设实验(七):FTM输出多路互补带死区PWM

文章目录 1. 概述1.1 时钟系统1.2 实验目的2. 代码的配置2.1 时钟配置2.2 FTM模块配置2.3 输出引脚配置2.4 API函数调用1. 概述 互补对的PWM输出是很重要的外设功能,尤其应用再无刷电机的控制。 1.1 时钟系统 笔者再墨迹一遍时钟的设置,因为很重要。 FTM的CPU接口时钟为SY…