【C快学-C语言程序设计(基础篇)】从VSCode中使用C编写我的第一个Hello world

news2025/4/6 17:35:56

在这里插入图片描述

简介:本专栏是一个C语言基础入门知识学习的一个专栏
面向:广大C友
工具:VSCODE
博主:一个友好且宠粉的博主,送书活动小专栏,不定期抽奖送图书给粉丝
社区:🦈山鱼社区

1.如何配置C语言环境(VSCode版本)

我这里是使用超级强大的vscode来进行C语言的学习的,因为vscode有着许多好用且方便的插件,能够提高我们编码的效率和速度,那么下面我们就来迈出学习C语言的第一步吧!

第一步我们要找到C语言环境的下载地址

嗖~的一下就飞到了地址处
在这里插入图片描述

1.MinGW/MinGW-w64是啥

MinGW 的全称是:Minimalist GNU on Windows ,是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 不具备的,Linux平台下的开发工具。MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成32位可执行程序,而 MinGW-w64 则可以编译生成 64位 或 32位 可执行程序。正因为如此,MinGW 现已被 MinGW-w64 所取代,且 MinGW 也早已停止了更新,内置的 GCC 停滞在了 4.8.1 版本,而 MinGW-w64 内置的 GCC 则更新到了 8.1.0 版本。

2.解压配置环境

①找到这样一个压缩包,解压之后打开已经解压的mingw64文件我们会看到一个带有bin文件夹的文件
在这里插入图片描述

在这里插入图片描述

②右击此电脑,打开高级设置
在这里插入图片描述

③点击环境变量并添加环境变量
在这里插入图片描述
在这里插入图片描述

点击新建将刚才的解压mingw64路径复制到这里
在这里插入图片描述
在这里插入图片描述

配置好之后就是这样的了
在这里插入图片描述

④再打开cmd输入 gcc -v
在这里插入图片描述

出现这个就说明环境Ok啦
在这里插入图片描述

⑤接下来就是打开VSCode,安装插件,安装这三个C插件,我们就可以开始我们的C语言编程之旅了!
在这里插入图片描述

3.第一个C语言文件—>hello.C

#include <stdio.h>

int main()
{

 /* 这是我的第一个C代码 */printf("Hello, World! \n");
return 0;
}

我们可以先来了解一下,各行代码是什么东西

1.stdio.h 是一个头文件 (标准输入输出头文件) , #include 是一个预处理命令,用来引入头文件。 当编译器遇到 printf() 函数时,如果没有找到 stdio.h 头文件,会发生编译错误。

2.所有的 C 语言程序都需要包含 main() 函数。 代码从 main() 函数开始执行,所以我们编写C代码时,首先要做的事情就是将前两行写上

3./**/用于多行注释说明,//为单行注释。

4.printf() 用于格式化输出到屏幕。printf() 函数在 “stdio.h” 头文件中声明。

5.return 0; 语句用于表示退出程序。

我们安装了插件之后会有这样一个小三角,它可以帮助我们编译运行我们所写的C文件

在这里插入图片描述

打开终端我们可以看到,这个程序成功的把‘Hello world’输出出来了

在这里插入图片描述

这样我们的第一个C代码文件就成功的创建出来了。

2.C的基本语法

1.C的令牌

首先我们来看几行代码,它分别是由大括号,printf函数,和return组成的,我们可以把他们每一个都称为令牌,C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号

printf("Hello world\n");

上面就有这么5个令牌组成的,每一个字符,关键字,标识符等都是一个令牌,我们拆分开来看就是这样子
在这里插入图片描述

在C语言的程序中,当一个语句结束了,我们就要把分号添加在结束语句的末尾,当一个程序结束了我们就要把return 添加到末尾,用来表示一个程序已经结束。

2.C的标识符

标识符在C中也是不可或缺的,我们定义变量,函数,或者其他的自定义属性,项目等,都会用到标识符,那么标识符有哪些限制呢?

①一个标识符以字母 A-Za-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。

②C标识符内不允许出现标点字符,比如 @$%。在C中是区分大小写的编程语言。因此,在 C 中,Appleapple 是两个不同的标识符。

3.C的关键字

关键字在我们设计程序编写代码时,经常出现并且使用,所以我们并不能把关键字当作变量名称,函数名称来用,下面是C中的关键字,在C99,C11中还新增了一些关键字,可以自行查阅一下

auto声明自动变量
break跳出当前循环
case开关语句分支
char声明字符型变量或函数返回值类型
const定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变
continue结束当前循环,开始下一轮循环
default开关语句中的"其它"分支
do循环语句的循环体
double声明双精度浮点型变量或函数返回值类型
else条件语句否定分支(与 if 连用)
enum声明枚举类型
extern声明变量或函数是在其它文件或本文件的其他位置定义
float声明浮点型变量或函数返回值类型
for一种循环语句
goto无条件跳转语句
if条件语句
int声明整型变量或函数
long声明长整型变量或函数返回值类型
register声明寄存器变量
return子程序返回语句(可以带参数,也可不带参数)
short声明短整型变量或函数
signed声明有符号类型变量或函数
sizeof计算数据类型或变量长度(即所占字节数)
static声明静态变量
struct声明结构体类型
switch用于开关语句
typedef用以给数据类型取别名
unsigned声明无符号类型变量或函数
union声明共用体类型
void声明函数无返回值或无参数,声明无类型指针
volatile说明变量在程序执行中可被隐含地改变
while循环语句的循环条件

3.C 数据类型

1.C的多种数据类型

在大多数语言中我们或多或少都可以找到那么几种数据类型,比如Java中就有int,float,double等类型

在这里插入图片描述

Ts中any,string,object等类型

在这里插入图片描述

所以在C语言中也可以找到数据类型,C中的类型可以分为这几种,分别是,基本数据类型,枚举类型,void 类型,派生类型

数据类型类型描述
基本数据类型它们是算术类型,包括整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。
枚举类型它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。
void 类型类型说明符 void 表示没有值的数据类型,通常用于函数返回值。
派生类型包括数组类型、指针类型和结构体类型。

2.C的类型字节大小

我们在编写C程序的时候可能会用到字符的大小,我们只知道类型却不知道大小该怎么办呢?这个时候我们就可以使用sizeof来得到想要使用的字节大小。
在这里插入图片描述
在这里插入图片描述

在标准整数类型中和浮点类型中,C给出了相对应的存储大小和值得范围

整数类型储存大小&范围值

类型存储大小值范围
char1 字节-128 到 127 或 0 到 255
unsigned char1 字节0 到 255
signed char1 字节-128 到 127
int2 或 4 字节-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int2 或 4 字节0 到 65,535 或 0 到 4,294,967,295
short2 字节-32,768 到 32,767
unsigned short2 字节0 到 65,535
long4 字节-2,147,483,648 到 2,147,483,647
unsigned long4 字节0 到 4,294,967,295

浮点类型范围大小&储存大小&精度

类型存储大小值范围精度
float4 字节1.2E-38 到 3.4E+386 位有效位
double8 字节2.3E-308 到 1.7E+30815 位有效位
long double16 字节3.4E-4932 到 1.1E+493219 位有效位

在这里插入图片描述
在这里插入图片描述

3.C的类型转换

类型转换:类型转换是将一个数据类型的值转换为另一种数据类型的值。

C语言中有两种类型转换分别是

隐式类型转换: 隐式类型转换是在表达式中自动发生的,无需进行任何明确的指令或函数调用。它通常是将一种较小的类型自动转换为较大的类型,例如,将int类型转换为long类型或float类型转换为double类型。隐式类型转换也可能会导致数据精度丢失或数据截断。
显式类型转换: 显式类型转换需要使用强制类型转换运算符(type casting operator),它可以将一个数据类型的值强制转换为另一种数据类型的值。强制类型转换可以使程序员在必要时对数据类型进行更精确的控制,但也可能会导致数据丢失或截断。

//隐式类型转换实例
 int i = 10; float f = 3.14; double d = i + f; 
 // 隐式将int类型转换为double类型* 
 //显式类型转换实例: 
 double d = 3.14159 ; int i = (int)d; 
 // 显式将double类型转换为int类型*

创作不易希望能得到您的支持,您的支持是我创作的动力✌
点赞:您的赞赏是我前进的动力! 👍
收藏:您的支持我是创作的源泉! ⭐
评论:您的建议是我改进的良药! ✍

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

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

相关文章

油电同价、标配8155,奇瑞猛攻10-15万中型SUV市场

8月8日&#xff0c;奇瑞瑞虎8冠军家族在北京国家奥林匹克体育中心正式上市&#xff0c;推出了瑞虎8 PRO冠军版、瑞虎8新能源冠军版两款新车&#xff0c;燃油混动双线同步发力。 其中&#xff0c;瑞虎8 PRO冠军版共推7款车型&#xff0c;官方指导价12.69万元-16.39万元&#xf…

cad中数据输入方法【直角坐标法,极坐标法,动态数据】

在 AutoCAD 中&#xff0c;点的坐标可以用直角坐标、极坐标、球面坐标和柱面坐标表示&#xff0c;每一种坐标又分别具有两种坐标输入方式&#xff1a;绝对坐标和相对坐标。其中直角坐标和极坐标最为 常用。 1.直角坐标法&#xff1a; 用点的 X、Y 坐标值表示的坐标。在命令行…

【Windows系统编程】03.远线程注入ShellCode

shellcode&#xff1a;本质上也是一段普通的代码&#xff0c;只不过特殊的编程手法&#xff0c;可以在任意环境下&#xff0c;不依赖于原有的依赖库执行。 远程线程 #include <iostream> #include <windows.h> #include <TlHelp32.h>int main(){HANDLE hPr…

十、避开客户端控件——通过客户端传送数据

文章目录 一、通过客户端传送数据1.1 隐藏表单字段1.2 HTTP cookie1.3 URL参数1.4 Refere消息头1.5 模糊数据1.6 ASP.NET *ViewState* 由于客户端可提交任意输入&#xff0c;Web应用程序的核心安全因此受到威胁。尽管如此&#xff0c;大部分的Web应用程序仍然依靠在客户端执行各…

数组的详述(1)

1、一维数组的创建和初始化&#xff1a; 数组是一组相同类型元素的集合。 &#xff08;1)创建方式&#xff1a; type_t 是指数组的元素类型 arr_name 数组名 [const_n] 一个常量表达式&#xff0c;用来指定数组的大小 //在c99标准之前&#xff0c;数组的大小必须是常…

vscode | linux | c++ intelliense 被弃用解决方案

每日一句&#xff0c;vscode用的爽是爽&#xff0c;主要是可配置太强了。如果也很会研究&#xff0c;可以直接去咸鱼接单了 废话少说&#xff0c;直接整。 用着用着说是c intelliense被弃用&#xff0c;很多辅助功能无法使用&#xff0c;像查看定义、查看引用、函数跳转、智能提…

解决ubantu驱动掉了的问题

这里写自定义目录标题 解决ubuntu驱动掉了的问题 解决ubuntu驱动掉了的问题 首先确定是否有驱动&#xff1a; ls /usr/src | grep nvidia若有&#xff0c;则大概率是驱动版本与内核版本对应不上&#xff0c;则把内核版本切换为初始版本即可。参照&#xff1a;https://blog.cs…

《封神第一部》票房已破21亿,商朝真有大象,苏妲己可能是周文王的恩人

随着《封神第一部&#xff1a;朝歌风云》的持续大火&#xff0c;我周六也去电影院贡献了一票&#xff0c;重温中国神话经典&#xff0c;感受历史史诗的震撼&#xff0c;改编的非常棒&#xff0c;我很喜欢。 针对影片中的一些故事和疑问&#xff0c;做些总结。 1、影片中有几处镜…

仓储二代拣货标签接口

1.批量拣货更新标签信息接口 http://localhost/smartpick/associate/lightTags 代码形式&#xff1a; { url : http://localhost/smartpick/associate/lightTags, requestMethed : POST, requestParameter : { [ {"mac":"99.99.22.03","devty…

item_review-获得淘宝商品评论

一、接口参数说明&#xff1a; item_review-获得淘宝商品评论&#xff0c;点击更多API调试&#xff0c;请移步注册API账号点击获取测试key和secret 公共参数 请求地址: https://api-gw.onebound.cn/taobao/item_review 名称类型必须描述keyString是调用key&#xff08;点击获…

互联网+AI+智慧工地管理平台源码(Spring Cloud +Vue)

基于微服务JavaSpring Cloud VueUniApp MySql开发的智慧工地管理源码&#xff0c;SaaS模式。 一、智慧工地概念 智慧工地就是互联网建筑工地&#xff0c;是将互联网的理念和技术引入建筑工地&#xff0c;然后以物联网、移动互联网技术为基础&#xff0c;充分应用BIM、大数据、…

银河麒麟桌面版下使用minicom测试串口通信

1硬件和环境&#xff1a;银河麒麟桌面版的笔记本和台式机。 2软件工具&#xff1a;minicom 3硬件工具&#xff1a;串口转接线&#xff0c;使用ft232芯片的usb转rs232公头。杜邦线。这个芯片的转接线是linux免驱的。 4连接&#xff1a;笔记本usb口连接串口转接线&#xff0c;串…

骆驼祥子思维导图怎么绘制?教你这样在线制作

骆驼祥子思维导图怎么绘制&#xff1f;绘制骆驼祥子思维导图可以帮助读者更好地理解小说的主题和结构。通过思维导图的形式&#xff0c;可以清晰地展示小说中各个人物之间的关系、事件的发展以及主题的演变等等。这不仅可以帮助读者更深入地理解小说&#xff0c;还可以帮助他们…

安卓13解决链接问题

作为Android用户&#xff0c;你可能已经注意到了一个问题——Android 13不再支持PPTP协议。但请别担心&#xff0c;作为一家专业的代理供应商&#xff0c;我们将与你分享解决方案&#xff0c;让你轻松解决L2TP问题&#xff0c;享受到高水平的连接体验。本文将为你提供实用的操作…

BC117 小乐乐走台阶(附完整代码)

描述 小乐乐上课需要走n阶台阶&#xff0c;因为他腿比较长&#xff0c;所以每次可以选择走一阶或者走两阶&#xff0c;那么他一共有多少种走法&#xff1f; 输入描述 输入包含一个整数n (1 ≤ n ≤ 30) 输出描述 输出一个整数&#xff0c;即小乐乐可以走的方法数。 思路&a…

如何使VMware虚拟机的屏幕自适应窗口大小

安装VMware tool 首先安装VMware tool&#xff0c;在选项中选取安装 之后在虚拟机中会出现光盘映像&#xff0c;点击打开光盘&#xff0c;点击VmwareTools-xxxx.tar.gz压缩包&#xff0c;将vmware-tools-distribute文件夹解压在任意一个目录下 解压后&#xff0c;右键点击…

搜文本搜位置搜图片,1小时玩转阿里云 Elasticsearch

作者&#xff1a;朱杰、奚悦、黄宇 AI 和搜索的整合已成为下一代搜索引擎的发展趋势&#xff0c;技术革新的浪潮下&#xff0c;你是否想抓住搜索领域的新机会&#xff0c;增强 AI 产品力与技术竞争力&#xff1f; 想学习搜索引擎技术的你&#xff0c;是否面临这样的困惑&…

OBD接口引脚定义

汽车的OBD接口引脚定义分配如下图所示&#xff0c;OBD接口共有16个引脚&#xff08;可参考 ISO 15031-3&#xff09;。 1、引脚1,3,8,9,11,12,13 引脚1,3,8,9,11,12,13由主机厂进行分配。 2、引脚2 如果车辆中使用SAE J1850 10,4 VPW&#xff08;可变脉冲&#xff09;来提供…

【爬虫】P1 对目标网站的背景调研(robot.txt,advanced_search,builtwith,whois)

对目标网站的背景调研 检查 robot.txt估算网站大小识别网站所用技术寻找网站的所有者 检查 robot.txt 目的&#xff1a; 大多数的网站都会包含 robot.txt 文件。该文件用于指出使用爬虫爬取网站时有哪些限制。而我们通过读 robot.txt 文件&#xff0c;亦可以最小化爬虫被封禁的…

职场中常用的项目管理软件盘点:了解这些选择

随着工作的深入&#xff0c;就会发现管理类软件在职场中真的很重要&#xff0c;比如项目管理软件。一个好用的项目管理软件能够让工作达到事半功倍的效果&#xff0c;就比如Zoho Projects项目管理软件&#xff0c;它不仅可以将项目内容进行细化&#xff0c;还有更多有利于团队协…