C语言全面学习基础阶段01—C生万物

news2024/11/17 19:33:22
如何学好 C 语言
1. 鼓励你,为你叫好。
C 生万物 编程之本 长远 IT 职业发展的首选 C 语言是母体语言,是人机交互接近底层的桥梁 学会 C/C++ ,相当于掌握技术核心 知识点一竿子打通。 IT 行业,一般每 10 年就有一次变革 40 年间,在 TIOBE 排行榜中, C/C++ 位置长期霸占前三名,没有丝毫撼动,可谓经典永不过时!
2. 学习不能叫苦叫累,抱怨没时间
欲戴王冠,必承其重。
如果你总是和别人走一样的路怎么才能保证超越别人,那就得付出不一样的努力。
时间就像乳沟,只要你肯挤,就一定会有
3. 拒绝做伸手党
遇到问题,先尝试自己解决
4. 学好编程,不仅仅是学好 C 语言
必须要学好:
语言、算法和数据结构、系统调用(操作系统)和计算机网络。
学习语言:
选择一门好的语言,深入学习,完成所有的课后作业。
学习算法、数据结构:
课堂上一定注意听讲,下课注重实践。
什么是 C 语言?
C 语言是一门通用 计算机编程语言 ,广泛应用于底层开发。 C 语言的设计目标是提供一种能以简易
的方式 编译 、处理低级 存储器 、产生少量的 机器码 以及不需要任何运行环境支持便能运行的编程
语言。
尽管 C 语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的
C 语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式 处理器 (单片机或称 MCU )以及
超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的 C 语言语法产生差异,由 美国国家标准局 C 语言制
定了一套完整的美国国家标准语法,称为 ANSI C ,作为 C 语言最初的标准。 [1] 目前 2011 12 8
日,国际标准化组织( ISO )和国际电工委员会( IEC )发布的 C11 标准 C 语言的第三个官方标
准,也是 C 语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉
字编程。
C 语言是一门面向过程的计算机编程语言,与 C++ Java 等面向对象的编程语言有所不同。
其编译器主要有 Clang GCC WIN-TC SUBLIME MSVC Turbo C 等。
第一个 C 语言程序
#include <stdio.h>
int main ()
{
    printf ( "hello bit\n" );
    printf ( "he he\n" );
    return 0 ;
}
// 解释:
//main 函数是程序的入口
// 一个工程中 main 函数有且仅有一个
数据类型
char         // 字符数据类型
short       // 短整型
int         // 整形
long         // 长整型
long long   // 更长的整形
float       // 单精度浮点数
double       // 双精度浮点数
//C 语言有没有字符串类型?
为什么出现这么的类型?
每种类型的大小是多少?
#include <stdio.h>
int main ()
{
    printf ( "%d\n" , sizeof ( char ));
    printf ( "%d\n" , sizeof ( short ));
    printf ( "%d\n" , sizeof ( int ));
    printf ( "%d\n" , sizeof ( long ));
    printf ( "%d\n" , sizeof ( long long ));
    printf ( "%d\n" , sizeof ( float ));
    printf ( "%d\n" , sizeof ( double ));
    printf ( "%d\n" , sizeof ( long double ));
    return 0 ;
}

运行结果:

 

注意:存在这么多的类型,其实是为了更加丰富的表达生活中的各种值。
类型的使用:
char ch = 'w' ;
int weight = 120 ;
int salary = 20000 ;
变量、常量
生活中的有些值是不变的(比如:圆周率,性别(?),身份证号码,血型等等)
有些值是可变的(比如:年龄,体重,薪资)。
不变的值, C 语言中用 常量 的概念来表示,变得值 C 语言中用 变量 来表示。
定义变量的方法
int age = 150 ;
float weight = 45.5f ;
char ch = 'w' ;

变量的分类

局部变量
全局变量
#include <stdio.h>
int global = 2019 ; // 全局变量
int main ()
{
    int local = 2018 ; // 局部变量
    // 下面定义的 global 会不会有问题?
    int global = 2020 ; // 局部变量
    printf ( "global = %d\n" , global );
    return 0 ;
}

打印结果是什么呢?

运行结果:

 为什么??

总结:
上面的局部变量 global 变量的定义其实没有什么问题的!
当局部变量和全局变量同名的时候,局部变量优先使用

变量的使用

#include <stdio.h>
int main ()
{
    int num1 = 0 ;
  int num2 = 0 ;
    int sum = 0 ;
    printf ( " 输入两个操作数 :>" );
    scanf ( "%d %d" , & a , & b );
    sum = num1 + num2 ;
    printf ( "sum = %d\n" , sum );
    return 0 ;
}
// 这里介绍一下输入,输出语句
//scanf
//printf
变量的作用域和生命周期
作用域 作用域(scope ),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效 / 可用的。而限定这个名字的可用性的代码范围就是这个名字的作用域。
1. 局部变量的作用域是变量所在的局部范围。
2. 全局变量的作用域是整个工程。
生命周期 变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。
常量
C 语言中的常量和变量的定义的形式有所差异。 C语言中的常量分为以下以下几种:
字面常量(普通的常量)
const 修饰的常变量
#defifine 定义的标识符常量
枚举常量
#include <stdio.h>
// 举例
enum Sex
{
MALE ,
FEMALE ,
SECRET
};
// 括号中的 MALE,FEMALE,SECRET 是枚举常量
int main ()
{
    3.14 ; // 字面常量
    1000 ; // 字面常量
    const float pai = 3.14f ;   //const 修饰的常量
    pai = 5.14 ; //ok?,编译出错
#define MAX 100             //#define 的标识符常量    
    return 0 ;
}

 这里补充一下枚举常量的用法:

#include <stdio.h>
//举例
enum Sex
{
    MALE,
    FEMALE,
    SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
    printf("%d\n", MALE);
    printf("%d\n", FEMALE);
    printf("%d\n", SECRET);
    return 0;
}

运行结果:

发现枚举常量本身就是一个自然数递增的序列。 

枚举常量的定义是以逗号为分隔符,最后一个成员是没有标点符号的。使用时,直接打印成员变量名即可。和后面学的结构体要区别

 字符串+转义字符+注释

 字符串

"hello bir.\n"

这种由双引号( Double Quote )引起来的一串字符称为字符串字面值( String Literal ),或者简称字符串。
注:字符串的结束标志是一个 '\0'  的转义字符。在计算字符串长度的时候 '\0'  是结束标志,不算作字符串内容。 '\0'不计入字符串长度,但是要占据一个字节的空间!!
#include <stdio.h>
// 下面代码,打印结果是什么?为什么?(突出 '\0' 的重要性)
int main ()
{
    char arr1 [] = "bit" ;
    char arr2 [] = { 'b' , 'i' , 't' };
    char arr3 [] = { 'b' , 'i',   't' '\0' };
    printf ( "%s\n" , arr1 );
    printf ( "%s\n" , arr2 );
    printf ( "%s\n" , arr3 );
    return 0 ;
}

 运行结果:

分析,打印字符串是遇到结束符'\0'才结束,而字符数组arr2长度为3,但是没有结束符,所以为一直打印,知道遇到'\0'才结束。 

转义字符
加入我们要在屏幕上打印一个目录: c:\code\test.c
我们该如何写代码?
#include <stdio.h>
int main ()
{
printf ( "c:\code\test.c\n" );
    return 0 ;
}

运行结果:

 为什么??这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思。

下面看一些转义字符:

 因此在打印字符‘\’时,得写‘\\’,前一个'\'将后面的'\'转义。

因此正确做法:

#include<stdio.h>

int main() {
    printf("c:\\code\\test.c\n");
}

运行结果:

 

#include <stdio.h>
int main ()
{
    // 问题 1 :在屏幕上打印一个单引号 ' ,怎么做?
    // 问题 2 :在屏幕上打印一个字符串,字符串的内容是一个双引号 ,怎么做?
    printf("%c\n",'\'');
    printf("%c\n",'\"');
    return 0 ;
}

笔试题: 

// 程序输出什么?
#include <stdio.h>
int main ()
{
    printf ( "%d\n" , strlen ( "abcdef" ));
    // \32 被解析成一个转义字符
    printf ( "%d\n" , strlen ( "c:\test\328\test.c" ));
    return 0 ;
}

为什么?因为'\t'是转义字符,当成一个字符计算,其次是'\328',注意, \ddd是转义字符,当且晋档仅当ddd是八进制数,因此d不可能大于8,也就是说只有'\32'是转义字符,而8不是,因此这里它们是两个字符。

拓展:怎么打印字符'%'?(重点)

 但是如果要在格式串里打印%怎么做?

下面这种做法可以吗? 

用转义字符??如下: 

 发现格式中打印%是没有转移字符这种做法的,正确做法如下:

 结论:原来打印格式串中打印%要用%来转义。

注释
1. 代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字
比如:
#include <stdio.h>
int Add ( int x , int y )
{
    return x + y ;
}
/*C 语言风格注释
int Sub(int x, int y)
{
    return x-y;
}
*/
int main ()
{
    //C++ 注释风格
    //int a = 10;
    // 调用 Add 函数,完成加法
    printf ( "%d\n" , Add ( 1 , 2 ));
    return 0 ;
}
注释有两种风格:
C 语言风格的注释 /*xxxxxx*/
    缺陷:不能嵌套注释
C++ 风格的注释 //xxxxxxxx
可以注释一行也可以注释多行
选择语句
如果你好好学习,校招时拿一个好 offffer ,走上人生巅峰。
如果你不学习,毕业等于失业,回家卖红薯。
这就是选择
#include <stdio.h>
int main ()
{
    int coding = 0 ;
    printf ( " 你会去敲代码吗?(选择 1 or 0 :>" );
    scanf ( "%d" , & coding );
    if ( coding == 1 )
  {
      prinf ( " 坚持,你会有好 offer\n" );
  }
    else
  {
      printf ( " 放弃,回家卖红薯 \n" );
  }
    return 0 ;
}
循环语句:
有些事必须一直做,比如我日复一日的讲课,比如大家,日复一日的学习。
还比如:
C 语言中如何实现循环呢?
while 语句 - 讲解
for 语句(后期讲)
do ... while 语句(后期讲)
//while 循环的实例
#include <stdio.h>
int main ()
{
    printf ( " 加入比特 \n" );
    int line = 0 ;
    while ( line <= 20000 )
  {
        line ++ ;
        printf ( " 我要继续努力敲代码 \n" );
  }
    if ( line > 20000 )
        printf ( " 赢取白富美 \n" );
    return 0 ;
}
函数
#include <stdio.h>
int main ()
{
    int num1 = 0 ;
  int num2 = 0 ;
    int sum = 0 ;
    printf ( " 输入两个操作数 :>" );
    scanf ( "%d %d" , & a , & b );
    sum = num1 + num2 ;
    printf ( "sum = %d\n" , sum );
    return 0 ;
}
上述代码,写成函数如下:
#include <stdio.h>
int Add ( int x , int y )
{
  int z = x + y ;
  return z ;
}
int main ()
{
    int num1 = 0 ;
  int num2 = 0 ;
    int sum = 0 ;
    printf ( " 输入两个操作数 :>" );
    scanf ( "%d %d" , & num1 , & num2 );
    sum = Add ( num1 , num2 );
    printf ( "sum = %d\n" , sum );
    return 0 ;
}
函数的特点就是简化代码,代码复用。
数组: 要存储 1-10的数字,怎么存储?C 语言中给了数组的定义:一组相同类型元素的集合
数组定义
int arr [ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }; // 定义一个整形数组,最多放 10 个元素
数组的使用
#include <stdio.h>
int main ()
{
int i = 0 ;
int arr [ 10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 };
for ( i = 0 ; i < 10 ; i ++ )
{
      printf ( "%d " , arr [ i ]);
}
printf ( "\n" );
    return 0 ;
}

操作符

 简单介绍为主,后面课件重点讲。

算术操作符
+ - * / %

 移位操作符

>>    <<

 位操作符

& ^ |

 赋值操作符

= += -= *= /= &= ^=  |=    >>=   <<=

单目操作符

!          逻辑反操作
-           负值
+           正值
&           取地址
sizeof       操作数的类型长度(以字节为单位)
~           对一个数的二进制按位取反
--           前置、后置 --
++           前置、后置 ++
*           间接访问操作符 ( 解引用操作符 )
( 类型 )       强制类型转换
注意: 逻辑反和按位取反是不同的,逻辑反就是真变假,假变真,而按位取反是对这个数在计算机中存储的的每一位取反(1变0,0变1),整数在计算机中以补码形式存储,因此按位取反是对它的补码取反
关系操作符
>
>=
<
<=
!=   用于测试 不相等
==       用于测试 相等

 逻辑操作符

&&     逻辑与
||           逻辑或

 条件操作符

exp1 ? exp2 : exp3

 逗号表达式(重点,笔试题中很喜欢出)

 exp1, exp2, exp3, …expN

下标引用、函数调用和结构成员 

[ ]   ( )       ->

 常见关键字

auto   break   case   char   const   continue   default   do   double else   enum  
extern float   for   goto   if   int   long   register     return   short   signed
sizeof   static struct   switch   typedef union   unsigned   void   volatile   while

 注:关键字,先介绍下面几个,后期遇到讲解:

关键字 typedef
typedef 顾名思义是类型定义,这里应该理解为类型重命名。
比如:
// unsigned int 重命名为 uint_32, 所以 uint_32 也是一个类型名
typedef unsigned int uint_32 ;
int main ()
{
    // 观察 num1 num2, 这两个变量的类型是一样的
    unsigned int num1 = 0 ;
    uint_32 num2 = 0 ;
    return 0 ;
}
关键字 static
C 语言中:
static 是用来修饰变量和函数的

1. 修饰局部变量 - 静态局部变量
2. 修饰全局变量 - 静态全局变量
3. 修饰函数 - 静态函数

修饰局部变量

// 代码 1
#include <stdio.h>
void test ()
{
    int i = 0 ;
    i ++ ;
    printf ( "%d " , i );
}
int main ()
{
int i = 0 ;
    for ( i = 0 ; i < 10 ; i ++ )
  {
        test ();
  }
    return 0 ;
}
运行结果:

// 代码 2
#include <stdio.h>
void test ()
{
    //static 修饰局部变量
    static int i = 0 ;
    i ++ ;
    printf ( "%d " , i );
}
int main ()
{
int i = 0 ;
    for ( i = 0 ; i < 10 ; i ++ )
  {
        test ();
  }
    return 0 ;
}

 运行结果:

 对比代码1和代码2的效果理解static修饰局部变量的意义。

结论:

static修饰局部变量改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束,在子函数中,static修饰的局部变量不管调用多少次,只赋值一次,即第一次调用赋值的结果,也就是说它只赋值一次,其余次的调用都是保存上一次调用的值。
修饰全局变量
// 代码 1
//add.c
int g_val = 2018 ;
//test.c
int main ()

{

  printf ( "%d\n" , g_val );
    return 0 ;
}
 在vs编译器这里会出错,如下:
这是add.c的内容:

这是test.c的内容:

已经报错了,为什么?是没有引用头文件吗?

改成如下:

 

 编译没警告,但是出现不能运行,这是为什么?这种解决方法不是说它是错的,只是它在VS编译器上不行,VS编译器整个环境是一个工程,这种引用头文件是会出错的,正确做法如下:

得用extern关键字声明,既然都说到这里,那就说一下extern的作用参考:

extern关键字_四川精神小伙的博客-CSDN博客

// 代码 2
//add.c
static int g_val = 2018 ;
//test.c
int main ()
{
    printf ( "%d\n" , g_val );
    return 0 ;
}

 add.c的内容:

test.c的内容:

 不能运行:但是如果顶部添加#include"add.c"头文件,这个代码就能正常运行,这里大家不用太纠结,因为编译器不同。处理方式也不一样。

代码 1 正常,代码 2 在编译的时候会出现连接性错误。
结论:
一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,
不能在其他源文件内使用。

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

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

相关文章

智慧校园全空间三维电子沙盘系统

一、概述 易图讯科技&#xff08;www.3dgis.top&#xff09;采用大数据、云计算、虚拟现实、物联网、AI等先进技术&#xff0c;自主可控高性能WebGIS可视化引擎&#xff0c;支持多用户客户端通过网络请求访问服务器地图和专题数据&#xff0c;提供地理信息数据、专题数据的并发…

数据迁移怎么测,都有哪些步骤?

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;软件测试面试题分享&#xff1a; 1000道软件测试面试题及答案&#x1f4e2;软件测试实战项目分享&#xff1a; 纯接口项目-完…

【机器学习】卷积神经网络----GoogLeNet网络(pytorch)

代码是一个使用PyTorch实现的GoogLeNet模型&#xff0c;该模型是一个深度卷积神经网络&#xff08;CNN&#xff09;用于图像分类任务。 1. 定义基本卷积模块 BasicConv2d 类是一个基本的卷积块&#xff0c;包含一个卷积层、批归一化层和ReLU激活函数。该类用于构建Inception模块…

亚马逊云科技基于 listmonk 的电子邮件营销解决方案

本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 亚马逊云科技开发者社区, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道。 背景 电子邮件营销&#xff08;EDM&#xff09;在广告、电商、供应链物流等行业应用…

MR实战:网址去重

文章目录 一、实战概述二、提出任务三、完成任务&#xff08;一&#xff09;准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录 &#xff08;二&#xff09;实现步骤1、创建Maven项目2、添加相关依赖3、创建日志属性文件4、创建网址去重映射器类5、创建网址去重归并…

怎么选择一款好用的ERP企业管理软件?看这六点就够了!

在目前高度信息化的环境中&#xff0c;ERP系统已成为生产制造企业管理的心脏。它集财务、人力资源、采购、生产、销售和库存等多个业务功能于一身&#xff0c;为企业提供了一个统一的、高效的、实时的管理平台。然而&#xff0c;市场上的ERP软件繁多&#xff0c;选择一款真正适…

WPF美化ItemsControl1:不同颜色间隔

首先我们有的是一个绑定好数据的ItemsControl <ItemsControl ItemsSource"{Binding Starts}"> </ItemsControl> 运行后呢是朴素的将数据竖着排列 如果想要数据之间有间距&#xff0c;可以使用数据模板&#xff0c;将数据放到TextBlock中显示&#xff0…

【Python可视化实战】钻石数据可视化

一、项目引言 1.背景和目标 钻石作为一种珍贵的宝石&#xff0c;其价格受到多种因素的影响。为了深入了解钻石价格的决定因素&#xff0c;我们收集了大量关于钻石的数据&#xff0c;并希望通过数据可视化来揭示钻石特征与价格之间的关系。 2.内容 收集钻石的各项特征数据&a…

【NR技术】 NR多连接处理流程(Multi-Connectivity operation)

1 概述 本文描述NR多连接处理流程。 2 辅节点添加Secondary Node Addition 2.1 EN-DC en-gNB由gNB-CU和gNB-DU组成&#xff0c;下图给出了EN-DC中SgNB的添加过程。 图1 SgNB addition procedure in EN-DC MN决定请求SN为特定的E-RAB分配资源&#xff0c;表明E-RAB的特征(E…

openGauss + Datakit

openGauss Datakit 1. 简介1.1 openGauss1.2 Datakit 2. 环境准备2.1 支持系统2.2 安装包获取2.3 注意事项2.4 系统环境设置 3. openGauss 安装3.1 创建用户和组3.2 创建工作目录3.3 关闭HISTORY记录/关闭交换内存3.4 解压安装包3.5 安装3.6 启动数据库3.7 连接数据库3.8 添加…

使用Go语言的HTTP客户端库进行API调用

随着微服务架构和RESTful API的普及&#xff0c;API调用成为了日常开发中的常见任务。Go语言提供了多种工具和库来帮助开发者轻松地与API进行交互。本文将介绍如何使用Go语言的HTTP客户端库进行API调用。 在Go语言中&#xff0c;标准库中的net/http包提供了基本的HTTP客户端功…

Nginx(十五) proxy_pass和proxy_redirect指令的组合测试

Nginx反向代理配置文件参数详解请参考 Nginx(十三) 配置文件详解 - 反向代理&#xff08;超详细&#xff09; 测试1&#xff1a;proxy_redirect http://127.0.0.1:8080/three/ http://www.read*******l.cn:8688/four/; http {server {listen 8688;server_name www.read****…

汇编 8259 中断实验

汇编 8259 中断实验 一、实验目的 &#xff08;1&#xff09;掌握微机中断处理系统的基本原理。 &#xff08;2&#xff09;掌握8259中断控制器的工作原理&#xff0c;学会编写中断服务程序。 &#xff08;3&#xff09;掌握8259级联方式的使用方法。 二、实验设备 &#x…

企业级实践为“燃料”,大模型助推Kyligence产品力向上

回顾2023年&#xff0c;最火热的科技话题无疑是生成式AI。 从ChatGPT横空出世&#xff0c;到“千模大战”如火如荼&#xff0c;AIGC正式破圈&#xff0c;成为企业数字化转型的新关键词。 在红杉中国《2023企业数字化年度指南》中&#xff0c;通过调研235家企业可知&#xff0…

Eclipse先关的一些配置

启动配置设置 配置项详细说明&#xff1a; -Xms&#xff1a;初始堆内存大小&#xff0c;设定程序启动时占用内存大小&#xff0c;默认物理内存1/64 -Xms -XX:InitialHeapSiz-Xmx&#xff1a;最大堆内存&#xff0c;设定程序运行期间最大可占用的内存大小。如果程序运行需要…

软件测试|SQL中的null值,该如何理解?

深入理解SQL中的Null值&#xff1a;处理缺失数据的重要概念 简介 Null值在SQL中是用于表示缺失或未知数据的特殊值。本文将深入探讨Null值的概念、处理方法和注意事项&#xff0c;以帮助读者更好地理解和处理SQL中的缺失数据。 在SQL数据库中&#xff0c;Null值是一种特殊的…

BEV+Transformer感知架构共识下,传感器「火药味」再升级

高阶智能驾驶战火愈演愈烈&#xff0c;正带动感知方案卷入新一轮军备竞赛。 根据高工智能汽车研究院最新发布数据显示&#xff0c;2023年1-9月&#xff0c;中国市场&#xff08;不含进出口&#xff09;乘用车前装标配&#xff08;软硬件&#xff09;NOA交付新车37.73万辆&…

Linux下NUMA 内存管理初步理解

LINUX 系统在多核下,以及NUMA架构技术下 如何管理物理内存? 经过初步了解 发现系统对内存有以下工作 1 映射 2 内存碎片 3 内存回收 4 内存池 5 冷热页 6 水位线和保留内存 7 支持内存条热插拔 8 大页管理 这些功能给人感觉,尤其是DBA感觉是重新实现了数据缓存池的功…

机器学习(三) -- 特征工程(1)

系列文章目录 机器学习&#xff08;一&#xff09; -- 概述 机器学习&#xff08;二&#xff09; -- 数据预处理&#xff08;1-3&#xff09; 机器学习&#xff08;三&#xff09; -- 特征工程&#xff08;1-2&#xff09; 未完待续…… 目录 系列文章目录 前言 一、特征…

大数据开发的专业术语

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 系列专栏目录 [Java项…