⭐写在前面的话:本系列文章旨在短时间内回顾C/C++语法中的重点与易错点,巩固算法竞赛与写题过程中常用的语法知识,精准地解决学过但有遗忘的情况,为算法刷题打下坚实的基础。当然仅有理论知识是不够的,还需要刷题实践检验。在众多刷题平台中我比较推荐“牛客”平台,它与其他平台相比有以下优点:
学习网站链接:牛客刷题网
开启你的刷题成长之旅吧!
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World"<<endl;
return 0;
}
#include <cstdio>
C标准的IO:里面有两个函数,printf与scanf。
#include <iostream>
cin>>读入; //想象是从cin中拿到变量中去
cout<<输出; //想象是从变量中输出到cout中去
注意:cout在输出浮点数时会默认保留为科学计数法的形式,要想去处这个形式,需要进行强制类型转化。
#include <cmath>
常见的数学函:sqrt(x)等等
使用常见的命名空间:常见的库函数都在std这个命名空间里
作为一个程序,最后一定是要返回0,如果不返回0,则代表有问题。
类型 | 关键字 | 范围 |
---|---|---|
布尔型 | bool | 0,1 |
字符型 | char | -128~127 |
整形 | int | − 2 31 -2^{31} −231~ 2 31 − 1 2^{31}-1 231−1 |
浮点型 | float | 6~7位有效数字 |
双浮点型 | double | 15-16位有效数字 |
~
浮点型float6~7位有效数字双浮点型double15-16位有效数字
#include <iostream>
using namespace std;
int main()
{
bool false/true 1Byte;
char 'a','c','/n' 1Byte;
//注意,在C++中char型必须用单引号'',单双引号意义不一样
int a = 1 4Bytes;
float b= 1.23, C = 1.23e2, d 4Bytes;
//float支持科学计数法
long long 范围为-2^63 ~2^63-1 8Bytes;
long long l = 100000000000000LL;
//末尾LL表示是LL类型的整数
long double 18~19位有效数字
}
1Byte = 8bits
因此通常说的十兆带宽**(10Mb)实际下载速度约为1MB/s**
浮点数的IO
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
float a, b;
scanf("%f %f", &a, &b);
printf("a + b = %.1f \n a * b = %.2f", a + b, a * b);
//可以预先确定保留几位小数
double c, d;
scanf("%f %f", &c, &d);
printf("c + d = %lf \n c * d = %lf", c + d, c * d);
//double类型的IO
long long m ,n;
scanf("%lld %lld", &m, &n);
printf("m + n = %lld \n m * n = %lld", m + n, m * n);
return 0;
}
char的IO
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
float a, b;
scanf("%c %c", &a, &b);
//注意%c会读入空格的
//但是cin不会读入空格
printf("%c %c\n",a ,b );
return 0;
}
常用类型
int | %d |
---|---|
char | %c |
float | %f |
double | %lf |
long long | %lld |
注意%的取模操作(只能是整数),即取相除之后的余数。这里余数与数学中定义不一样,余数的正负取决于被除数和除数的正负
++a | 先增后取值 |
---|---|
a++ | 先取值后增 |
简写
b = b + a ---->b += a
b = b % a ---->b %= a
取模时的a不能为0
隐形转换:把低精度转换为高精度
强制转换:(类型)变量 就可以
字符 | 十进制数字 |
---|---|
换行 | 10 |
空格 | 32 |
0 | 48 |
A | 65 |
a | 97 |
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int t = 97;
char c = (char)t;
cout<< c <<endl;
return 0;
}
下期预告:格式化输出与条件专题
专题往期合集:C/C++语法奠基
本专题练习题目、学习、面试、内推均在:牛客刷题网