长安的花

当学问走过漫漫古道
凿刻入千窟,心也从愚昧中苏醒

0%

Hack cpp introduction

cpp真的是怎么也学不完呐,再次整理一个cpp教程

1. Input and Output

输入和输出

使用std::cin 可以从键盘输入数据

使用std::cout 可以输出数据到屏幕上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;


int main() {
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
int a,b,c;
std::cin>>a>>b>>c;
a= a+b+c;
std::cout<<a<<std::endl;
return 0;
}

2. Basic Data Types

基础数据类型

Int (“%d”): 32 Bit integer

Long (“%ld”): 64 bit integer

Char (“%c”): Character type

Float (“%f”): 32 bit real value

Double (“%lf”): 64 bit real value

读取数据

scanf(“format_specifier“, &val)

比如先定义数据类型,再使用’&’引用操作,保存数据

1
2
3
char ch;
double d;
scanf("%c %lf", &ch, &d);

打印数据

printf(“format_specifier“, val)

先定义需要输出的数据类型,后面跟着输出的变量

char ch = ‘d’;
double d = 234.432;
printf(“%c %lf”, ch, d);//%c %lf 中间可以插入空格与换行\n;

Function 函数

函数的定义与使用,需要在程序头定义,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cstdio>
using namespace std;

int max_of_four(int a, int b, int c, int d);//在int main()前定义,不需要实现{};
int main() {
int a, b, c, d;
scanf("%d %d %d %d", &a, &b, &c, &d);
int ans = max_of_four(a, b, c, d);
printf("%d", ans);

return 0;
}
int max_of_four(int a, int b, int c, int d){
int num=0;
if(a>num)num = a;
if(b>num)num = b;
if(c>num)num = c;
if(d>num)num = d;

return num;
}

Pointer 指针

函数的参数和返回值的传递方式有三种,值传递,指针传递,引用传递;

指针和引用的区别:指针可以为空,引用不能为空。
值传递: 只是把一个变量的值传过去,对着个值得各种操作,不会改变原来的值;

引用:是一个别名,对引用的操作就是对被引用值的操作(在函数里用的多);引用被创建的时候,就必须初始化,一旦引用被初始化,就不能改变;

1
2
int m; 
int &n=m;

指针:指针是一个变量,其值为另一个变量的地址。指针可以为空;

一元运算符*;

1
2
int *p;
int *p=&val;

程序举例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
void update(int *a,int *b);//定义函数
int main() {
int a, b;
int *pa = &a, *pb = &b;//定义指针,指向a,b;

scanf("%d %d", &a, &b);//读取数据,这里使用的是&a,&b;
update(pa, pb);//指针传给update函数
printf("%d\n%d", a, b);

return 0;
}
void update(int *a, int *b){// *a代表读取了值,而不是地址
*a = *a+*b;
*b = *a-2**b;
if(*b<0){
*b = *b*(-1);
}
}
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

欢迎关注我的其它发布渠道