《四海小记c++学习之路》第一阶段 基础

  • 第一阶段 基础
    • 1 c++初识
      • 1.1 第一个c++程序
        • 1.1.1创建项目
        • 1.1.3 c++书写Helloworld
      • 1.2 注释
      • 1.3 变量
      • 1.4 常量
      • 1.5 关键字
      • 1.6 标识符命名规则
    • 2 数据类型
      • 2.1 整形
      • 2.2 sizeof关键字
      • 2.3 实型(浮点型)
      • 2.4 字符型
      • 2.5 转义字符
      • 2.6 字符串型
      • 2.7 布尔类型 bool
      • 2.8 数据的输入
    • 3 运算符
      • 3.1 算数运算符
      • 3.2 赋值运算符
      • 3.3 比较运算符
      • 3.4 逻辑运算符
    • 4 程序流程结构
      • 4.1 选择结构
        • 4.1.1 if语句
        • 4.1.3 switch语句
      • 4.2 循环结构
        • 4.2.1 while循环语句
        • 4.2.2 do...while循环语句
        • 4.2.3 for循环语句
        • 4.2.4 嵌套循环
      • 4.3 跳转语句
        • 4.3.1 break语句
        • 4.3.2 continue语句
        • 4.3.3 goto 语句
    • 5 数组
      • 5.1 概述
      • 5.2 一维数组
        • 5.2.1 一维数组定义方式
        • 5.2.2 一维数组的数组名
        • 5.2.3 冒泡排序
      • 5.3 二维数组
        • 5.3.1 二维数组的定义方式
    • 6 函数
      • 6.1 概述
      • 6.2 函数的定义
      • 6.3 函数的调用
      • 6.4 值传递
      • 6.5 函数的常见样式
      • 6.6 函数的声明
    • 7 指针
      • 7.1 指针的基本概念
      • 7.2 指针变量定义和使用
      • 7.3 指针所占内存空间
      • 7.4 空指针和野指针*
      • 7.5 const修饰指针
      • 7.6 指针和数组
      • 7.7 指针和函数
      • 7.8 指针、数组、函数
    • 8 结构体
      • 8.1 结构体基本概念
      • 8.2 结构体定义和使用
      • 8.3 结构体数组
      • 8.4 结构体指针
      • 8.5 结构体嵌套结构体
      • 8.6 结构体做函数参数
      • 8.7 结构体中constd使用场景
    • 通讯录管理系统

第一阶段 基础

目的:对c++有初步了解,能够有基础编程能力

案例:通讯录管理系统

1 c++初识

1.1 第一个c++程序

编写一个c++程序总共分为4个步骤

  • 创建项目

  • 创建文件

  • 编写代码

  • 运行程序

1.1.1创建项目

visual Studio是我们用来编写c++程序的主要工具,我们先将它打开

点击创建新项目

然后找到c++的空项目,点击下一步

填写你的项目名称以及你要存放的位置,然后点击创建

在右边栏中找到源文件,右键->添加->新建项

找到c++文件(.cpp)填写你的cpp文件项目名,然后点击添加,这就创建好了你的第一个.cpp文件

1.1.3 c++书写Helloworld
#include<isotream>             //头文件using namespace std;           //命名空间int main(){cout<<"Helloworld"<<endl;    //endl作为换行可加可不加system("pause");           //等待用户按键return 0;}

1.2 注释

作用:在代码中加一些说明和解释,方便自己或其他程序员阅读代码

两种风格

​ 1.单行注释 //描述信息

​ 通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明

2.多行注释/*描述信息*/

​ 通常放在一行代码的上方,对该段代码做整体说明

提示:编译器在编译代码时,会忽略注释的内容

注释规范

/**************************************
Copyright       陈四海
Author:         created by 陈四海
Date:           2020-11-26
Description:    代码注释规范
Version:        1.0
**************************************//**************************************
Fuction:         函数名
Description:     作用描述
Input:           输入
Output:          输出
Return:          返回
Others:          其他
**************************************/

不记得从哪里嫖来的注释规范了,感觉挺好用的

1.3 变量

作用:给一段指定的内存空间起名,方便操作这段内存

语法1:数据类型 变量名=初始值

语法2:数据类型 变量名=有返回值函数

示例:

#include<iostream>using namespace std;int main(){//变量的定义//语法1:数据类型 变量名=初始值int i=0;//语法2:数据类型 变量名=有返回值函数int src=imread("D:/1.jpg");//opencv中导入图片return 0;}

1.4 常量

作用:用于记录程序中不可更改的数据

c++定义常量两种方式

​ 1.#define 宏常量: #define 常量名 常量值

​ 通常在文件上方定义,表示一个常量

​ 2.const修饰的变量 const 数据类型 常量名 = 常量值

​ 通常在变量定义前加关键字const,修饰该变量为常量,不可修改

示例:

#include<iostream>//宏常量
#define DEBUG //宏常量要全部大写using namepace std;int main(){//const修饰的变量const int a=0;system("pause");return 0;
}

1.5 关键字

作用:关键字是c++中预先保留的单词(标识符)

  • 在定义变量或常量的时候,不要使用关键字

c++关键字如下:

提示:在给变量或常量起名称的时候,不要使用c++关键字,否者会引起歧义

1.6 标识符命名规则

作用:c++规定给标识符(变量、常量)命名时,有一套自己的规则

  • 标识符不能是关键字
  • 标识符只能由字母、数字、下划线组成
  • 第一个字符必须为字母或下划线
  • 标识符在中字母区分大小写

建议:给标识符命名时,争取做到见名知意的效果,方便自己和他人的阅读

2 数据类型

c++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否者无法给变量分配内存

2.1 整形

作用:整形变量表示的是整数类型的数据

c++中能够表示整形的类型有以下几种方式,区别在于所占内存空间不同:

2.2 sizeof关键字

作用:利用sizeof关键字可以统计数据类型所占内存大小

语法:sizeof(数据类型/变量)

**扩展:**在vector<数据类型> 变量名中可以通过.size()的方式获得该变量的大小

sizeof()以及size()大多用于循环某个数组

示例:

int main()
{int a;cout<<"a的大小为:"<<sizeof(a)<<endl;vector<int> b;cout<<"b的大小为:"<<b.size()<<endl;return 0;
}

2.3 实型(浮点型)

作用:用于表示小数

浮点型变量分为两种:

  1. 单精度浮点型 float
  2. 双精度浮点型 double

二者的区别在于表示的有效数字范围不同。

就是int<float<double现在一般不用考虑这个在前期float就基本公用了

2.4 字符型

作用:字符型变量用于显示单个字符

语法:char ch = ‘a’;

注意1:在显示字符型变量时,用但以后你好将字符括起来,不要用双引号(字符串才用双引号

注意2:单引号内只能有一个字符,不可以是字符串

  • c和c++中字符型变量只占1个字节
  • 字符型变量并不是把字符本身放到内存中储存,而是将对应的ASCII编码放入存储单元

示例:

int main()
{//字符变量定义char ch = 'a';//字符串变量定义char _ch[]="abcd"return 0;
}

2.5 转义字符

作用:用于表示一些不能显示出来的ASCII字符

现阶段我们常用的转义字符有: \n \\ \t

即用即查,不用记、

2.6 字符串型

作用:用于表示一串字符

两种风格

  1. C分格字符串: char 变量名[] = “字符串值”

  2. C++风格字符串:string 变量名 = “字符串值”

    示例:

   int main(){char str1[] = "hello world";cout<<str1<<endl;string str2 = "hello world";cout<<str2<<endl;return 0;}

2.7 布尔类型 bool

作用:布尔数据类型代表真或假的值

​ bool类型只有两个值:

  • true — 真 (本质是1)
  • false — 假 (本质是0)

bool类型占一个字节大小

示例:

int main()
{//bool类型一般用于函数类型bool a();//通过返回值的真假,来判断该函数输出是否正确return 0;
}

2.8 数据的输入

作用:用于从键盘获取数据

关键字:cin

语法cin>>变量

示例

int main()
{int a;cin>>a;cout<<a<<endl;return 0;
}

3 运算符

作用: 用于执行代码的运算

本章主要有以下几类运算符

3.1 算数运算符

作用:用于处理四则运算

算数运算符包括以下符号:

3.2 赋值运算符

作用:用于将表达式的值赋给变量

赋值运算符包括以下几个符号:

3.3 比较运算符

作用:用于表达式的比较,并返回一个真值或假值

比较运算符有以下符号:

3.4 逻辑运算符

作用:用于根据表达式的值返回真值或假值

逻辑运算符有以下符号:

4 程序流程结构

c/c++支持最基本的三种程序运算结构:顺序结构、选择结构、循环结构

  • 顺序结构:程序按顺序执行,不发生跳转
  • 选择结构:依据条件是否满足,有选择的执行相应的功能、
  • 循环结构:依据条件是否满足,循环多次执行某段代码

4.1 选择结构

4.1.1 if语句

作用:执行满足条件的语句

if语句的三种形式

  • 单行格式if语句
  • 多行格式if语句
  • 多条件的if语句

语法if(判断条件){执行语句};//当判断语句为真的时候执行

4.1.3 switch语句

作用:执行多条件分支语句

语法

switch(表达式)
{case 结果1:执行语句;break;case 结果2:执行语句;break;...default:执行语句;break;//default用得比较少
}

4.2 循环结构

4.2.1 while循环语句

作用:满足循环条件,执行循环语句

语法while(循环条件){循环语句}

解释:只要循环条件的结果为真,就执行循环语句

4.2.2 do…while循环语句

作用:满足循环条件,执行循环语句

语法do{循环语句}while(循环条件);

注意:与while的区别在于do…while会先执行一次循环语句,在判断循环条件

4.2.3 for循环语句

作用:满足循环条件,执行循环语句

语法: for(起始表达式;条件表达式;尾句循环体){循环语句;}

示例

int main()
{//基础用法for(int i=0;i<100;i++){cout<<i<<endl;}//其他用法for(int i=0;i<100;cout<<i++<<endl);return 0;
}
4.2.4 嵌套循环

作用:在循环体中在嵌套一层循环,解决一些实际问题

示例

int main()
{for(int i=0;i<100-1;i++)for(int j=i+1;j<100-1;j++)cout<<"*"<<endl;return 0;
}

4.3 跳转语句

4.3.1 break语句

作用:用于跳出选择结构或者循环结构

break使用的时机:

  • 出现在switch条件语句中,作用是中止case并跳出switch
  • 出现在循环语句中,作用是跳出当前循环语句
  • 出现在嵌套循环中,跳出最近的内层循环语句
4.3.2 continue语句

作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环

4.3.3 goto 语句

作用:可以无条件跳转语句

语法goto 标记;

解释:如果标记名称存在执行到goto语句时,会跳转到标记的位置

//goto基本没人用了

5 数组

5.1 概述

所谓数组就是一个集合,里面存放了相同类型的数据元素

特点1:数组中的每个数据元素都是相同的数据结构

特点2:数组是由连续的内存位置组成的

5.2 一维数组

5.2.1 一维数组定义方式

一维数组定义的三种方式:

  1. 数据类型 数组名[数组长度];
  2. 数据类型 数组名[数组长度] = {值1,值2...};
  3. 数据类型 数组名[]={值1,值2...};

示例:

int main()
{//定义方式1int a1[20];//定义方式2int a2[3]={1,2,3};//定义方式3int a3[]={1,2,3};return 0;
}
5.2.2 一维数组的数组名

一维数组名称的用途

  1. 可以统计整个数组在内存中的长度
  2. 可以获得数组在内存中的首地址

示例:

int main()
{//数组名用途//1.可以获得整个数组占用内存空间大小int arr[10]={1,2,3,4,5,6,7,8,9,0};cout<<"整个数组所占内存空间为:"<<sizeof(arr)<<endl;cout<<"每个元素所占内存空间为:"<<sizeof(arr[0])<<endl;cout<<"数组的元素个数为"<<sizeof(arr)/sizeof(arr[0])<<endl;//2.可以通过数组名获取到数组的首地址cout<<"数组的首地址为:"<<(int)arr<<endl;cout<<"数组中第一个元素地址为:"<<(int)&arr[0]<<endl;//arr=100;错误,数组名是常量,因此不可以赋值return 0;
}
5.2.3 冒泡排序

作用:最常用的排序算法,对数组内元素进行排序

  1. 比较每一对相邻的元素,如果第一个比第二个,就交换他们两个。
  2. 对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。
  3. 重复以上步骤,每次比较次数-1,直到不需要比较

示例:将数组{1,4,5,3,7,2}进行升序排序

int main()
{int arr[6]={1,4,5,3,7,2};for(int i=0;i<6-1;i++)for(int j=0;j<6-i-1;j++)if(arr[j]>arr[j+1]){int temp = arr[j];a[j]=a[j+1];a[j+1]=temp;}return 0;
}

5.3 二维数组

二维数组就是在一维数组上,多加一个维度。

5.3.1 二维数组的定义方式

二维数组定义的四种方式:

  1. 数据类型 数组名[行数][列数]
  2. 数据类型 数组名[行数][列数]={{数据1,数据2},{数据3,数据4}};
  3. 数据类型 数组名[行数][列数]={数据1,数据2,数据3,数据4};
  4. 数据类型 数组名[][列数]={数据1,数据2,数据3,数据4};

建议:以上四种定义方式,利用第二种更加直观,提高代码的可读性

示例:

int main()
{//方式1//数组类型 数组名 [行数][列数]int arr[2][3];arr[0][0]=1;arr[0][1]=2;arr[1][0]=3;arr[1][1]=4;//剩下就不写了return 0;
}

6 函数

6.1 概述

作用:将一段经常使用的代码封装起来,减少重复代码

一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。

6.2 函数的定义

函数的定义一般主要有五个步骤:

  1. 返回值类型
  2. 函数名
  3. 参数表列
  4. 函数体语句
  5. return 表达式

语法

返回值类型 函数名 (参数列表)
{函数体语句return表达式
}

6.3 函数的调用

功能:使用定义好的函数

语法函数名(参数)

示例:

//函数定义
int add(int num1,int num2)//定义中的num1,num2称为形式参数,简称形参
{int sum=num1+num2;return sum;
}
int main(){int a = 10;int b = 10;//调用add函数int sum=add(a,b);//调用时的a,b称为实际参数,简称实参cout<<"sum = "<<sum<<endl;a=100;b=100;c= add(a,b);cout<<"c="<<c<<endl;
}

6.4 值传递

  • 所谓值传递,就是参数调用时将实参数值传入给行形参
  • 值传递时,如果形参发生改变,并不会影响实参

示例:

void swap(int num1,int num2)
{cout<<"交换前:"<<endl;cout<<"num1="<<num1<<endl;cout<<"num2="<<num2<<endl;int temp=num1;num1=num2;num2=temp;cout<<"交换后:"<<endl;cout<<"num1 = "<<num1<<endl;cout<<"num2 = "<<num2<<endl;
}
int main()
{int  a=10;int  b=20;cout<<"a="<<a<<endl;cout<<"b="<<b<<endl;//当我们做值传递的时候,函数的形参发生改变,但并不会影响实参sawp(a,b);cout<<"a="<<a<<endl;cout<<"b="<<b<<ednl;return 0;
}

6.5 函数的常见样式

常见的函数样式有4种

  1. 无参返回
  2. 有参返回
  3. 无参有返
  4. 有参有返

示例:

//函数常见样式
//1、无参返回
void test1()
{cout<<"this is test1"<<endl;
}
//2、有参返回
void test2(int a)
{cout<<"this is test2 a="<<a<<endl;
}
//3.无参有返
int test3()
{int a=100;cout<<"this is test3"<<endl;return a;
}
//有参有返
int test4(int a)
{cout<<"this is test4"<<endl;return a;
}

6.6 函数的声明

作用:告诉编译器函数名称及如何调用函数,函数的主体可以单独定义。

  • 函数的声明可以多次,但是函数的定义只能有一次

7 指针

7.1 指针的基本概念

指针的作用:可以通过指针间接访问内存

  • 内存编号是从0开始记录的,一般用十六进制数字表示
  • 可以利用指针保存地址

7.2 指针变量定义和使用

指针变量定义语法:数据类型 * 变量名;

示例:

int main()
{//1.指针的定义int a=10;//定义整形变量//定义指针变量int* p;//让指针记录变量a的地址p=&a;cout<<"a的地址为:"<<&a<<endl;cout<<"指针p的地址为:"<<p<<endl;//2.使用指针//可以通过解引用的方式来找到指针指向的内存//指针前加*代表解引用,找到指针指向的内中的数据*p=1000;cout<<"a="<<a<<endl;cout<<"*p="<<*p<<endl;return 0;
}

7.3 指针所占内存空间

提问 :指针也是种数据类型,那么这种数据类型占用多少内存空间呢?

解答:(x86)下为4个字节/(x64)下为8个字节,因为指针是用来存储地址的,所以不需要太多的内存空间,不会因为数据类型的改变而改变

示例:

int main(){int a = 10;int * p;p = &a;//指针指向数据a的地址cout<<*p<<endl;//解引用cout<<sizeof(p)<<endl;cout<<sizeof(char *)<<endl;cout<<sizeof(float *)<<endl;cout<<sizeof(double *)<<endl;return 0;
}

7.4 空指针和野指针*

这个问题我经常犯,要注意!

空指针:指针变量指向内存中编号为0的空间

用途:初始化指针变量

注意:空指针指向的内存是不可以访问的

示例1:空指针

int main(){//指针变量p指向内存地址编号为0的空间int * p = NULL;//访问空指针报错//内存编号0~255为系统占用内存,不允许用户访问cout<<*p<<endl;return 0;
}

野指针:指针变量指向非法的内存空间

示例野指针

int main(){//指针变量p指向内存地址编号为0x11000的空间 int * p = (int *)0x11000//访问野指针报错cout<<*p<<endl;return 0;
}

空指针和野指针都不是我们申请的空间,因此不要访问。

7.5 const修饰指针

const修饰指针有三种情况:

  1. const修饰指针 —常量指针
  2. const修饰指针 —指针常量
  3. const既修饰指针,又修饰常量

示例:

int main(){int a = 10;int b = 10;//const修饰的是指针,指针指向可以改,指针指向的值不可以更改const int * p1 = &a;p1 = &b;//正确//*p1 = 100;报错//const修饰的是常量,指针指向不可以更改,指针指向的值可以更改int * const p2 = &a;//p2 = &b;报错*P2 = 100;return 0;
}

7.6 指针和数组

作用:利用指针访问数组中元素

示例:

 int main(){int arr[] = {1,2,3,4,5,6,7,8,9,0};int * p = arr;//指向数组的指针cout<<"第一个元素:"<<arr[0]<<endl;cout<<"指针访问第一个元素:"<<*p<<endl;for(int i = 0; i < 10; i++){cout << *p << endl;p++;}return 0;}

7.7 指针和函数

作用:利用指针作为函数参数,可以修改实参的值

示例:

//值传递
void swap1(int a,int b)
{int temp = a;a = b;b = temp;
}
//地址传递
void swap2(int * p1,int * p2)
{int temp = *p1;*p1 = *p2;*p2 = temp;
}int main(){//指针和函数int a = 10;int b = 20;//1、值传递swap1(a,b);cout<<a<<b<<endl;//第一次系统会保留cout<<a<<b<<endl;//第二次不会//2、地址传递int * pa = &a;int * pb = &b;swap2(pa,pb);cout<<a<<b<<endl;//cout<<a<<b<<endl;//return 0;
}

7.8 指针、数组、函数

案例描述:封装一个函数,利用冒泡排序,实现对整型数组的升序排序

例如数组:int arr[10] = {4,3,6,9,1,2,10,8,7,5};

示例:

//冒泡排序函数
void bubbleSort(int * arr, int len)//int * arr 也可以写成 arr[]
{for(int i = 0; i < len - 1; i++){for(int j = 0;j<len - i - 1; j++){if(arr[j]>arr[j+1]){int temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}
}int main(){int arr[10] = {4,3,6,9,1,2,10,8,7,5};bubbleSort(arr,sizeof(arr)/sizeof(arr[0]));for(int i = 0; i < 10; cout << arr[i++]);return 0;
}

8 结构体

8.1 结构体基本概念

结构体属于用户自定义的数据类型,允许用户储存不同的数据类型

8.2 结构体定义和使用

语法struct 结构体名 { 结构体成员列表 };

通过结构体创建变量的方式有三种:

  • struct 结构体名 变量名;
  • struct 结构体名 变量名 = {成员1值,成员2值…};
  • struct 定义结构体时顺便创建变量

示例

//结构体定义
//1、创建学生数据类型:学生包括(姓名,年龄,分数)
//自定义数据类型,一些类型集合的一个类型
//语法 struct 结构体名 变量名 = {成员列表 };
struct student
{//成员列表string name;//名字int age; //年龄int score;  //分数
}s3;//创建结构体时顺便创建结构体变量
int main(){//1.struct 结构体名 变量名;struct student s1;//创建结构体变量的时候struct是可以省略的s1.name = "张三";s1.age = 18;s1.score = 100;cout<<"姓名:"<<s1.name << "年龄;"<< s1.age << "分数:"<< s1.score<<endl;//2.struct 结构体名 变量名 = {成员1值,成员2值...};struct student s2 = {"李四", 19,80};cout<<"姓名:"<<s2name << "年龄;"<< s2age << "分数:"<< s2score<<endl;//3 在定义结构体时顺便创建结构体变量s3.name = "王五”;s3.age = 20;s3.score = 60;cout<<"姓名:"<<s3.name<<"年龄;"<<s3.age<<"分数:"<< s3.score<<endl;return 0;
}

8.3 结构体数组

作用:将自定义的结构体放入到数组中方便维护

语法: struct 结构体名 数组名[元素个数] = {{},{},{}…}

示例

//结构体定义
struct student
{//成员列表string name;//名字int age; //年龄int score;  //分数
};
int main(){//结构体数组struct student arr[3]={{"张三",18,80},{"李四",19,60},{"王五",20,60}}return 0;
}

8.4 结构体指针

作用:通过指针访问结构体中的成员(这个一般用于在函数内对结构体成员进行更改)

  • 利用操作符 ->可以通过结构体指针访问结构体属性

示例

//结构体定义
struct student
{//成员列表string name;//名字int age; //年龄int score;  //分数
};
int main(){//创建学生变量struct student stu = {"张三", 18,100};//通过指针指向结构体变量struct student * p = &stu;//通过指针访问结构体变量中的数据cout<<"姓名:"<< p->name<<"年龄:"<< p->age<<"分数:"<< p->score<<endl; return 0;
}

8.5 结构体嵌套结构体

作用:结构体中的成员可以是另一个结构体

例如:每个老师辅导一个学员,一个老师的结构体中,记录一个学生的结构体

示例:

//结构体定义
struct student
{//成员列表string name;//名字int age; //年龄int score;  //分数
};
//教师结构体定义
struct teacher
{//成员列表int id;//职员编号string name;//教师编号int age;  //教师年龄struct student stu;//子结构体 学生
}

8.6 结构体做函数参数

作用:将结构体作为参数向函数中传递

传递方式两种:

  • 值传递 //用于遍历
  • 地址传递 //用于增删改

示例:

//结构体定义
struct student
{//成员列表string name;//名字int age; //年龄int score;  //分数
};
//值传递、
void printStudent1(student stu)
{stu.age = 28;
}
//地址传递
void printStudent2(struct student * stu)
{}//这个前面讲过就不细写了

8.7 结构体中constd使用场景

作用:用const来防止误操作

示例:

//结构体定义
struct student
{//成员列表string name;//名字int age; //年龄int score;  //分数
};
//值传递、
void printStudent(const student *stu)
{//stu.age = 28;这时就无法对结构体内变量进行操作
}

通讯录管理系统

《四海小记c++学习之路》第一阶段 基础相关推荐

  1. 菜鸟haqima的Java学习之路第一天

    菜鸟haqima的Java学习之路第一天 导读:DOS命令 常用快捷键 Java的简单概述 (第一章 Java开发环境的搭建) 1.常用的DOS命令 1.1.怎么打开DOS命令窗口 win键+r(组合 ...

  2. Cyclone V SoC FPGA学习之路第一章:综述

    Cyclone V SoC FPGA学习之路第一章:总体了解 关键词: adaptive logic modules – ALM 自适应逻辑模块 logic array block --LAB 逻辑阵 ...

  3. 萌新的java学习之路——第一周

    萌新的java学习之路--第一周 第一周的学习 这是我学习Java的第一周,写这个博客更多的时为了总结自己这一周的学习情况,如果有人看到我写的博客,有什么问题的话,可以问我.虽然我也是一个小白,但我会 ...

  4. 学习之路-现代密码学基础-001

    学习之路-现代密码学基础-第一章密码学概论 转载于:https://www.cnblogs.com/vegetables-Adanos/p/5371420.html

  5. java学习之路之javaSE基础1

    <h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解) * A:什么是计算机?计算机在生活中的应 ...

  6. Spark学习之路一——Spark基础及环境搭建

    Spark学习之路一--Spark基础及环境搭建 文章目录 一. Spark 概述 1.1 概述 1.2 优势特性 1.2.1 运行速度快 1.2.2 容易使用 1.2.3 通用性 1.2.4 运行模 ...

  7. 【Python学习笔记】第一章基础知识:格式化输出,转义字符,变量类型转换,算术运算符,运算符优先级和赋值运算符,逻辑运算符,世界杯案例题目,条件判断if语句,猜拳游戏与三目运算符

    Python学习笔记之[第一章]基础知识 前言: 一.格式化输出 1.基本格式: 2.练习代码: 二.转义字符 1.基本格式: 2.练习代码: 3.输出结果: 三.输入 1.基本格式: 2.练习代码: ...

  8. 黑马程序员C++学习笔记<第一阶段_基础篇>

    配套视频网址: 黑马程序员:http://yun.itheima.com/course/520.html?bili B站:https://www.bilibili.com/video/BV1et411 ...

  9. C++入门第一阶段——基础篇

    C++入门 如何创建C++程序 C++相关基础 变量 变量的意义 变量创建的语法 代码示例 常量 常量的意义 常量的定义方式 关键字 关键字的含义 sizeof 标志符的命名 什么是标志符 命名规则 ...

最新文章

  1. keras 的 example 文件 cifar10_cnn.py 解析
  2. Visual C++——Visual C++ 6.0 转 Visual Studio[Visual C++]编译错误[错误 D8016 “/ZI”和“/Gy-”命令行选项不兼容]解决方案
  3. 菜鸟学ASP.NET MVC4入门笔记
  4. 工业级以太网交换机的使用情况分析
  5. 四位数码管秒表 c语言编程,4位共阴极数码管秒表设计仿真与程序
  6. 2015-2020年各类国际会议与期刊基于图像的三维对象重建论文综述(2)——Encoder stage
  7. Canvas实现简单刮刮乐效果
  8. 多任务学习Multi-Task Learning
  9. 网站结构优化的基本方法
  10. easyflash 教程
  11. 天刀帐号角色服务器查询系统,天涯明月刀手游角色交易介绍-角色转移系统
  12. 【四二学堂】基于uni-app开发的跨平台井字游戏(App+H5 web+微信小程序)
  13. 名悦集团:家庭用车买什么国产还是进口好
  14. python span函数_如何使用python selenium单击span元素
  15. python语句print(type(1j))的输出结果_Python 语句print(type(1J))的输出结果是:_学小易找答案...
  16. Django之restframework的路由Routers
  17. Codeforces868F Yet Another MinimizationProblem
  18. 【战网】如果直接使用国服战网客户端登录亚服
  19. 数据仓库之维度表和事实表
  20. 反三角函数定义域的确定

热门文章

  1. 漫画女生怎么画(一步步教你画漫画)
  2. php四六级报名考试源码,又一波省市6月四六级报名时间公布!速看!
  3. linux如何查看python的版本_linux怎么改python默认版本
  4. Altium Designer 19.1.18 - 更改铺铜的透明度
  5. Mojarra JSF ViewState 反序列化漏洞复现
  6. 新闻与传播c刊_新闻专业有什么核心期刊
  7. optfine的jar文件打不开_mclauncherBN
  8. js导出图片添加水印
  9. 欢度国庆!今天,我们为祖国母亲庆生......
  10. element表格重新布局,element表格显示不全,doLayout