C++

1.定义常量
const int i=10; 则i不能被修改。
volatile int j=20;则j时可以修改的。

2.函数被调用

void Test(); //函数需在mian函数前面定义

int main(){
Test();
}

void Test(){
cout<< i << endl;
}
3.数学运算
double cos(double);余弦。
double log(double);返回参数的自然对数。
double pow(double, double);假设第一个参数为 x,第二个参数为 y,则该函数返回 x 的 y 次方。
double hypot(double, double);该函数返回两个参数的平方总和的平方根,也就是说,参数为一个直角三角形的两个直角边,函数会返回斜边的长度。
double sqrt(double);该函数返回参数的平方根
int abs(int);该函数返回整数的绝对值
double fabs(double);该函数返回任意一个十进制数的绝对值。
double floor(double);该函数返回一个小于或等于传入参数的最大整数。
4.生成随即数
#include<ctime>
int main()
{
int i, j;
srand(time(NULL));
for (i = 0; i < 10;i++) {
j = rand();
cout << j<< endl;
}
system("pause");
}

#define random(x)(rand()%x)
int main()
{
srand((int)time(0));//部署随机种子
for (int i = 0; i < 10; i++) {
cout << random(100) << endl;
//输出0-100的随机数
};
system("pause");
return 0;
}
5.字符串运算(char[]类型)
strcpy(s1,s2);复制字符串s2到字符串s1
strcat(s1,s2);连接字符串 s2 到字符串 s1 的末尾。
strlen(s1);返回字符串 s1 的长度。
strcmp(s1, s2);如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回值小于 0;如果 s1>s2 则返回值大于 0。
strchr(s1, ch);返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
strstr(s1, s2);返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。
6.指针
A: int i = 20;
int *ip; //指针
ip = &i; //指针中存储i的内存地址
cout << *ip << endl; //20
cout << ip << endl; //0015F8B0
B:空指针
int *ip = NULL;
cout << ip << endl; //0
C:指针的算术运算
int arr[3] = { 10,100,1000 };
int *ip;
ip = arr;
/*for (int i = 0; i < 3;i++) {
cout << ip << endl;
cout << *ip << endl;
ip++;
}*/

/*int j = 0;
while (j<3)
{
cout << ip << endl;
cout << *ip << endl;
j++;
ip++;
}*/
D:指针数组
int arr[3] = { 10,100,1000 };
int *ip[3];
for (int i = 0; i < 3;i++) {
ip[i] = &arr[i];
}
for (int i = 0; i < 3;i++) {
cout << *ip[i] << endl;
}
E:指向指针的指针
int i = 10;

int *ip1;
int **ip2;
int ***ip3;

ip1 = &i;
ip2 = &ip1;
ip3 = &ip2;

cout << *ip1 << endl; //10
cout << **ip2 << endl; //10
cout << ***ip3 << endl;//10
F:传递指针给函数
void test(int *ip);
int main()
{
int i = 10;
int *ip;
ip = &i;
test(&i);
}
void test(int *ip) {

cout << *ip << endl; //10
system("pause");
}
7.C++ 引用
定义:引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。
引用和指针的区别:
1.不存在空引用。引用必须连接到一块合法的内存。
2.一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
3.引用必须在创建时被初始化。指针可以在任何时间被初始化。
int i = 10;
int& j = i;
j = 20;
cout << j << endl; //20
8.C++时间和日期
在VS中如果报错:timef': This function or variable may be unsafe. Consider using time_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
解决方案: 在项目->属性->C/C++->预处理器->预处理器定中添加 _CRT_SECURE_NO_WARNINGS 这个预定义。
time_t now = time(0);
cout << "1970 到目前经过秒数:" << now << endl;
tm *ltm = localtime(&now);

cout << 1900 + ltm->tm_year << endl;//年
cout << 1+ltm->tm_mon << endl;//月
cout << ltm->tm_mday << endl;//日
cout << "时间: " << ltm->tm_hour << ":"; //时
cout << ltm->tm_min << ":"; //分
cout << ltm->tm_sec << endl; //秒
9.C++ 基本的输入输出
char name[50];
cout << "请输入您的名称: "; //输出
cin >> name; //输入
cout << "您的名称是: " << name << endl;//输出
标准输出流(cout):cout << "Value of str is : " << str << endl;
标准输入流(cin):cin >> name;
标准错误流(cerr): cerr << "Error message : " << str << endl;
标准日志流(clog):clog << "Error message : " << str << endl;
如果c++需要输出string类型
例:#include<string>
void test(string s) {

cout << s.c_str() << endl;
}

10.C++ 结构体
A:访问结构体参数
struct MyStruct
{
int age;
char name[50];
};
int main()
{

MyStruct ms = { 18,"xiaoMing" };

cout << ms.age << endl;
cout << ms.name << endl;

system("pause");
return 0;
}
B:指向结构的指针
struct MyStruct
{
int age;
char name[50];
};
int main()
{

MyStruct ms = { 18,"xiaoMing" };

struct MyStruct *point;
point = &ms;

cout << point->age << endl;
cout << point->name << endl;

system("pause");
return 0;
}
11.C++文件和流
ofstream 写入信息
ifstream 读取信息
fstream 即可以读取信息又可以写入信息

例: #include<fstream>
char data[100];
//写入信息
ofstream WriteFile;
WriteFile.open("E:\\桌面文件\\wuwenbo\\桌面\\test.txt");
cin.getline(data, 100); //data 中存储要读取或者写入的信息
WriteFile << data;

// 读取信息
ifstream Readfile;
Readfile.open("E:\\桌面文件\\wuwenbo\\桌面\\test.txt");
Readfile >> data;
cout << data << endl;
12.C++动态内存
栈:函数内部声明的所有变量占用栈内存
堆:这是程序中未使用的内存,在程序运行时可用于动态分配内存
new 和 delete 运算符
new 运算符来为任意的数据类型动态分配内存
delete 操作符释放它所占用的内存
例:double* pvalue = NULL; // 初始化为 null 的指针
pvalue = new double; // 为变量请求内存
*pvalue = 29494.99; // 在分配的地址存储值
cout << "Value of pvalue : " << *pvalue << endl;
delete pvalue; // 释放内存

13.C++预处理器
所有的预处理器指令都是以井号(#)开头
#define 预处理,一般称为宏

#define i 3
#define Min(a,b)(a<b?a:b)
int main()
{
//自己定义的宏
cout << i << endl; //3
cout << Min(10, 30) << endl; //输出最小值

//c++内置的宏
cout << __LINE__ << endl; //获取此行代码所在的行数
cout << __FILE__ << endl;//获取这个项目所在文件夹地址
cout << __DATE__ << endl;//获取日期
cout << __TIME__ << endl;//获取时间
system("pause");
}

 

转载于:https://www.cnblogs.com/wuwenbo/p/9050995.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值