rand()
生成随机数,和一个范围的随机数
(有时候结果会不变)
rand()//生成一个随机数
rand()%100 //生成一个0~99的数 范围是0~小于给定的数
srand()
初始化随机数发生器,作为rand()生成随机数的种子。所以在使用的时候要先写一个srand()种下一颗随机数种子,然后在使用rand()这个长大的果树去生成一个随机数,可以说是从rand()这个树上随便摘一个果子。
但通常srand()又是有参数的。我理解这个参数是可以传递int 类型的,但是如果传递1,那么这个种子就是1不变了,那么最后得到的随机数也就可能会出现相同结果,一般的参数是time(0)或者time(NULL),
time(0)表示当前时刻的秒数,那么当我们在不同时刻运行程序的时候就可以得到不同的随机数。
#include<ctime>//time(0)在这个头文件里
srand(time(0));//随机数发生器
for(int i = 0; i < 10; i++)
{
cout << rand() << endl;//打印随机数
}
string
使用string 进行输入输出的时候需要包含他的头文件
使用字符串需要先包含头文件
#include<string>
string a="张三"
cout<<a<<endl;
函数声明:
提前告诉编译器函数的存在,
如果函数的定义写在main函数之前那么不需要函数声明,如果写在main函数之后,那么需要函数声明
声明可以写多次,但定义只能有一次
int max(int a,int b);//函数声明
int main()
{
int aa=1;
int bb=2;
int cc= max(aa,bb);
cout<<cc<<endl;
}
int max(int a,int b)//函数的定义
{
return a>b?a:b;//如果a大于b那么返回a否则返回b
}
函数的分文件编写
作用:让代码结构更清晰
函数份文件编写一般有4个步骤
1.创建后缀为(.h)的头文件
2.创建后缀名为(.cpp)的源文件
3.在头文件中写函数的声明
4.在源文件中写函数的定义
//abc.h 头文件
#include<iostream>
using namespace std;
//函数定义
int sum(int a, int b);
//qwe.cpp 源文件
#include"abc.h";//引用自定义的头文件
int main() {
cout << sum(1,2) << endl;使用定义的函数并打印函数的返回结果
system("pause");
}
//定义在头文件中声明的函数
int sum(int a, int b) {
return a + b;
}
也可以在另一个源文件引用并调用函数
//one.cpp源文件
#include"abc.h";//引用自定义的头文件
int main() {
cout << sum(1,2) << endl;使用定义的函数并打印函数的返回结果
system("pause");
return 0;
}
指针
指针就是一个地址,它可以间接访问指定的内存并修改内存中的数据
指针定义语法:数据类型 * 指针变量名
32 位操作系统下,不管是什么数据类型都只占4个字节空间大小
64位操作系统下,同上8个字节空间
//定义一个int变量
int a=10;
//定义一个int指针
int * p;
//指针指向变量a 的地址
p=&a;
//打印输出a的地址
cout<<p<<endl;
//给指定地址重新赋值100
//使用时候指针前加* 表示解引用,找到指针指向的内存中的数据
*p=100;
空指针和野指针
空指针就是指向一个空的空间的指针
野指针是指向非法的内存空间
这两种指针都是错误的指针,生成可能没问题 但运行会出错
int*p=NULL;//指向空的指针
int * p=(int*)0x1100//指向内存地址编号为0x1100的空间