四个阶段
1 语法基础
2 算法基础 原理和代码模板
3 算法提高
4 算法进阶
课程信息
- C++的构成
- C++的变量
课堂内容
C++的构成
先写代码: #include<iostream> using namespace std;//命名空间 int main( ) { cout<<"hello"<<end1;//回车的意思 return 0; }
头文件这里会用到两个:#include<cstdio.h> :这里面有两个函数 pritnf 函数和sacnf函数
#include<iostream>:这里也有两个函数 cout 函数和cin函数
命名空间 这里用了 std 这样一个命名空间,一个大的项目会有很多文件,不同文件之间的变量名可能会有冲突,但在命名空间里这样就不会造成冲突了。不同的命名空间相互之间可以存在冲突 如果没有命名空间,那么 会出现未定义的错误。 但也可以写成下面的一种形式
#include<iostream> int main( ) { std::cout<<"hello"<<end://也可以写成这样 但是一般很少见 return 0;
函数入口 int main( ) return 0;程序要返回0;
变量
变量的定义
c++中的变量一般分为
- 布尔型(1字节) bool 只存储两种类型 真和假(0和1)
- 字符型(1字节) char 存储‘c' 's‘
- 整数型 (4字节) int 范围: -2^31-1 到+2^31-1(-2147483648 到 + 2147483648 )
- 浮点型 (4) float 支持科学计数法如1.235*10^2 要写成 1.235e2 有效位数是6到7位 double(8) 双精度 有效数是15到16 还有longlong(8) 类型 范围:-2^63到+2^63 long doule 更长的类型 范围:18或19
布尔型的定义 bool g = true ,l = false
变量的输入输出
printf和cin的区别是printf可以输出别的,不仅仅是数,cin没有空格
cin 和 cout 一般不输出小数,也不是不可以但是 它的运行效率比scanf 和 printf 低很多,可以用setprecision
cout << setprecision(0) << f << endl; //输出0位小数,3
cout << setprecision(1) << f << endl; //输出1位小数,3.1
cout << setprecision(2) << f << endl; //输出2位小数,3.14
算了,直接上代码吧
#include<iostream> using namespace std; int main() { int a, b; cin >> a >> b; cout << a + b << ' ' << a * b<<endl; return 0; } #include<iostream> #include<cstdio.h> using namespace std; int main() { int a, b; scanf("%d,%d", &a, &b); int c = a + b; printf("a+b=%d", c); return 0; }
变量的强制类型转换
int x;
char y = (char)x; //根据ascll码来整型转换
int * float =float
int 和 long long = long long
char 和int = int
会默认把精度低的类型转化为精度高的类型
杂记
- 网址:www.acwing.com 做题网址
- Byte是字节 bit 是比特 1个字节B等于8比特b
- long long j = 100000000000000000LL(要加LL)来表示是一个很长的整数,不然的话会超出范围
- 还有一个头文件是数学函数的使用 当要开平方的时候 引用#include<cmath> 就可以用sprt 是开平方函数
- 布尔看成是整数类型
- #include<cstring> 有一个memset 函数 memset(数组名,要把数组所有元素初始化成的数,sizeof(数组名)) 这样赋值的时候就不用用一个循环来运行了
- 字符0的ascll码值是48 空格是32 ’a'是65 A是97 A和a之间差32
- 能用double 就不用float