简介:本专栏是一个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 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类型*

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