C语言:深度学习知识储备

简介: C语言:深度学习知识储备



数据类型

char          // 字符数据类型

short         // 短整型

int             // 整形

long          // 长整型

long long   // 更长的整形

float          // 单精度浮点数

double      // 双精度浮点数

每种类型的大小是多少呢?

注意:存在这么多的类型,其实是为了更加丰富的表达生活中的各种值。

变量

变量的命名:

 只能由字母(包括大写和小写)、数字和下划线( _ )组成。

 不能以数字开头。

长度不能超过63个字符。

变量名中区分大小写的。

变量名不能使用关键字。

变量的分类:

 分为:局部变量全局变量。

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

总结:

上面的局部变量global变量的定义其实没有什么问题的!

当局部变量和全局变量同名的时候,局部变量优先使用。

变量的作用域和生命周期

作用域:

        作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。

1. 局部变量的作用域是变量所在的局部范围。

2. 全局变量的作用域是整个工程。

生命周期:

       变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。

1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

2. 全局变量的生命周期是:整个程序的生命周期。

常量

C 语言中的常量和变量的定义的形式有所差异。

C 语言中的常量分为以下以下几种:

1、字面常量

2、const 修饰的常变量

3、#define 定义的标识符常量

4、枚举常量

#include <stdio.h>
//举例
enum Sex
{
MALE,
FEMALE,
SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
   //字面常量演示
   3.14;//字面常量
   1000;//字面常量
   
   //const 修饰的常变量
   const float pai = 3.14f;   //这里的pai是const修饰的常变量
   pai = 5.14;//是不能直接修改的!
   
   //#define的标识符常量 演示
#define MAX 100
   printf("max = %d\n", MAX);
   
   //枚举常量演示
   printf("%d\n", MALE);    //0
   printf("%d\n", FEMALE);  //1
   printf("%d\n", SECRET);  //2
   //注:枚举常量的默认是从0开始,依次向下递增1的
   return 0;
}

字符串+转义字符+注释

字符串:

这种由双引号( Double Quote )引起来的一串字符称为字符串字面值( String Literal ),或者简称字符串。

注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。

#include <stdio.h>

// 下面代码,打印结果是什么?为什么?(突出 '\0' 的重要性)

int main ()

{

   char arr1 [] = "hello" ;

   char arr2 [] = { 'h' , 'e' , 'l' , 'l' , 'o' };// 没有结束标志‘\0’发生数组越界

   char arr3 [] = { 'h' , 'e' , 'l' , 'l' , 'o' , '\0' };

   printf ( "%s\n" , arr1 );

   printf ( "%s\n" , arr2 );

   printf ( "%s\n" , arr3 );

   return 0 ;

}

转义字符:

转义字符

释义

\?

在书写连续多个问号时使用,防止他们被解析成三字母词。

\'

用于表示字符常量 '。

\“

用于表示一个字符串内部的双引号。

\\

用于表示一个反斜杠,防止它被解释为一个转义序列符。

\a

警告字符,蜂鸣

\b

退格符

\f

进纸符(换页)

\n

换行

\r

回车

\t

水平制表符

\v

垂直制表符

\ddd

ddd表示1~3个八进制的数字。 如: \130 表示字符X

\xdd

dd表示2个十六进制数字。 如: \x30 表示字符0

操作符:

算术操作符

+   -   *   /   %

移位操作符(二进制)

>>(右移)     <<(左移)

位操作符(二进制)

&(按位与)     ^(按位异或)     |(按位或)

按位与:二进制同时为‘ 1 ’,否则都是‘ 0 ’;

按位异或:二进制相同为‘ 0 ’,不相同为‘ 1 ’;

按位或:二进制有‘ 1 ’为‘ 1 ’。

赋值操作符

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

单目操作符

!           逻辑反操作

-           负值

+           正值

&           取地址

sizeof       操作数的类型长度(以字节为单位)

~           对一个数的二进制按位取反

--           前置、后置 --

++           前置、后置 ++

*           间接访问操作符 ( 解引用操作符 )

( 类型 )       强制类型转换

关系操作符

>

>=

<

<=

!=         用于测试 不相等

==       用于测试 相等

逻辑操作符

&&        逻辑与

||           逻辑或

条件操作符

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

关键字: static

static是用来修饰变量和函数的

1. 修饰局部变量-称为静态局部变量

2. 修饰全局变量-称为静态全局变量

3. 修饰函数-称为静态函数

特殊情况:

1、一个全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使用。

2、一个函数被static修饰,使得这个函数只能在本源文件内使用,不能在其他源文件内使用。

指针变量的大小

结构体:

结构体使得 C 语言有能力描述复杂类型。

比如描述学生,学生包含: 名字+年龄+性别+学号 这几项信息。

这里只能使用结构体来描述了。

例如:

struct Stu

{

   char name [ 20 ]; // 名字

   int age ;             // 年龄

   char sex [ 5 ];     // 性别

   char id [ 15 ] ;   // 学号

};

需要熟悉掌握的ASCII码表:

以上就是个人学习见解和学习的解析,欢迎各位大佬在评论区探讨!

感谢大佬们的一键三连! 感谢大佬们的一键三连! 感谢大佬们的一键三连!

                                             

目录
相关文章
|
3月前
|
机器学习/深度学习 人工智能 算法
C语言与AI
C语言与AI
202 0
WK
|
3月前
|
人工智能 算法 C语言
为什么C语言不是人工智能领域的首选编程语言?
尽管多种编程语言在人工智能领域均有应用,Python却因其独特优势成为了首选。Python的简洁语法提高了开发效率与易用性;其庞大的生态系统,尤其是丰富的AI库和框架如TensorFlow、PyTorch等,简化了算法实现过程;Python适用于快速原型设计与实验,加速项目迭代;良好的跨平台兼容性减少了配置负担;庞大的社区支持与丰富的文档资源便于学习和技术交流。尽管如此,C语言在性能等方面仍具优势,在特定场景下不可或缺。
WK
201 60
|
1月前
|
机器学习/深度学习 数据采集 人工智能
深度学习的奥秘:从基础到进阶
【10月更文挑战第6天】本文将深入浅出地探讨深度学习的原理和应用,通过实例展示如何构建和训练深度神经网络。我们将从基础概念出发,逐步深入到高级技巧,帮助读者理解深度学习的强大之处,并激发对这一领域的进一步探索。
30 3
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习的奥秘:从基础到实践
本文将深入探讨深度学习的基础概念、关键技术以及实际应用,旨在为初学者和有一定基础的学习者提供一个全面而深入的指南。我们将从神经网络的基本组成开始,逐步深入到卷积神经网络(CNN)和循环神经网络(RNN)等高级模型,并展示如何在真实世界中应用这些技术。无论你是AI领域的新手还是希望深化理解的专业人士,这篇文章都将为你打开深度学习的大门,带你领略其背后的科学与艺术。
|
23天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的奥秘:从基础到应用
本文将深入浅出地探讨深度学习的基本概念、原理和应用,帮助读者理解这一领域的核心内容。我们将从神经网络的基本结构出发,逐步深入到深度学习的关键技术和实际应用。通过本文的学习,读者将对深度学习有一个全面的认识,并能够将其应用于实际问题中。
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的编程实践:从Python到深度学习的探索之旅
【9月更文挑战第6天】 在人工智能的黄金时代,编程不仅仅是一种技术操作,它成为了连接人类思维与机器智能的桥梁。本文将通过一次从Python基础入门到构建深度学习模型的实践之旅,揭示编程在AI领域的魅力和重要性。我们将探索如何通过代码示例简化复杂概念,以及如何利用编程技能解决实际问题。这不仅是一次技术的学习过程,更是对人工智能未来趋势的思考和预见。
|
3月前
|
机器学习/深度学习 存储 并行计算
C语言与机器学习:K-近邻算法实现
C语言与机器学习:K-近邻算法实现
61 0
|
6月前
|
人工智能 C语言
C语言实战项目(AI代码)
C语言实战项目(AI代码)
400 0
|
11月前
|
存储 人工智能 Unix
c语言基础回顾-指针 | AI工程化部署
为什么要在这里回顾下C/C++的基础知识,无疑是因为它的高效性。
71 1
|
11月前
|
人工智能 C语言
C语言自定义类型 | AI工程化部署
C语言自定义类型:结构体和枚举
98 0