当前位置: 首页 > news >正文

[ 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.dtcms.com/a/98401.html

相关文章:

  • Redis设计与实现-哨兵
  • 分销商城小程序开发六大核心功能详解
  • 用react实现router路由
  • C++ 中名字的作用域、概念、嵌套与实践(十八)
  • Java基础-22-基本语法-实体类
  • 【MySQL篇】事务管理,事务的特性及深入理解隔离级别
  • Unity功能模块一对话系统(5)-完善对话流程及功能
  • Python针对大规模数据使用”sys模块加速I/O操作“:
  • 21天Python计划:函数简单介绍
  • PCBB印刷电路板缺陷检测YOLO数据集分享
  • LeetCode hot 100—两两交换链表中的节点
  • Redis场景问题1:缓存穿透
  • 用python压缩图片大小
  • 算法-广度优先搜索
  • WSL系统找不到指定的文件
  • 接口自动化——初识pytest
  • (头歌作业—python)3.2 个人所得税计算器(project)
  • 智能发光斑马线:点亮城市道路安全之光
  • DDR(Double Data Rate)详解
  • 云边端协同
  • vue 脚手架解决跨域问题
  • 2022年12月青少年软件编程(图形化)等级考试三级编程题
  • 在树莓派5(8G版)上运行Ollama + LLM
  • NG-ZORRO中tree组件的getCheckedNodeList怎么使用
  • 26考研——排序_选择排序_选择排序的基本思想 简单选择排序(8)
  • 每天一篇目标检测文献(六)——Part One
  • 小林coding-12道Spring面试题
  • 自然语言处理(17:(第五章2.)梯度消失和LSTM(详细拆解))
  • WebSocket通信的握手阶段
  • 基于 WebAssembly 的 Game of Life 交互实现