目录
1. 非常基础的C++ (面向程序) 框架
2. 一些基础数据类型
3.变量的输入输出
4.ACWing题库-第1题:A+B
5.四则运算(只整理一部分较难的)
6.数据类型转换
寒假自学用,记录Acwing题目。
语言:C++
1. 非常基础的C++ (面向程序) 框架
#include <iostream> //头文件 using namespace std; //使用std命名空间,解决命名冲突 int main() //程序入口(函数入口)
{ cout<<"Hello World!"<<endl; //程序主体return 0; //最后返回0
}
2. 一些基础数据类型
常见类型:
bool 布尔类型: False(0) , True(1,或除了0外的值)
char 字符: 'c', 'a' , '\n' 使用单引号括住
int 整数类型:取值范围是
float 单精度浮点数: 有6-7位有效数字,也可以使用科学计数法表示如:1.489e3 为
double 双精度浮点数: 有15-16位有效数字
不常见类型:
long long : 是int类型的扩展版,表示范围为
long double: 是double类型的扩展版,有18-19位有效数字
#include <iostream> //头文件 using namespace std; //使用std命名空间,解决命名冲突 int main() //程序入口(函数入口)
{ /*int %dfloat %f %.2f(保留两位小数)double %lfchar %clong long %lld*///变量类型定义int a , b = 1 , c = b;float d = 1.2 ,e = 2 , f = 2.567;bool g = true , h = false;long long i = 10000000LL ; //在数值后面添加LL 或者 ll 都表示long long 类型 //long long i = 10000000ll ; long double j = 12345.6;return 0;
}
以下是菜鸟网站中给出的数据类型表格:
3.变量的输入输出
在所有算法比赛中,所有能够用cin cout表示的语句均可以使用scanf printf语句替换,反之则不一定。原因在于cin cout效率较低,容易超时。
cin 输入不会读入空格,而scanf输入会读入空格。
cin 输入后跟大于号'>>'
cout输出后跟小于号'<<'
#include <iostream>using namespace std;int main(){int a,b; //定义2个整型变量 cin >> a >> b; //输入a,b cout << a+b << endl ; //输出 endl起到结尾换行的作用 cout << ' ' << endl ; //输出 空格cout << a*b ; return 0;
}
scanf 输入
printf 输出
#include <iostream>
#include <cstdio> //如果要使用scanf printf输入输出,最好加上此头文件
#include <cmath> //对数进行开方,需要引入cmath库头文件 using namespace std;int main(){int a,b; //定义整型变量 float c,d; //定义单精度浮点变量 scanf("%d,%d",&a,&b); //不要忘记取地址符号&printf("a+b = %d\n",a+b);printf("a*b = %d",a*b);scanf("%f,%f",&c,&d);printf("c+d = %.2f\n",c+d); //%.2f表示单精度浮点数保留小数点后两位printf("c*d = %.3f\n",c*d); printf("c^0.5 = %.2f",sqrt(c));return 0;
}
定义字符型char数据:
#include <iostream>
#include <cstdio> //如果要使用scanf printf输入输出,最好加上此头文件using namespace std;int main(){char a,b; //定义字符型变量 scanf("%c%c",&a,&b); //%c%c会读入空格,但是%d不会读入空格printf("%c+%c",a,b); return 0;
}
4.ACWing题库-第1题:A+B
> 输入两个整数,求这两个整数的和是多少。
输入格式
> 输入两个整数A,B ,用空格隔开
输出格式
> 输出一个整数,表示这两个数的和
数据范围
> 0≤A,B≤10e8
代码:
#include <iostream>
using namespace std;int main(){int a,b;cin>>a>>b;cout<<a+b<<endl;return 0;
}
已通过测试。
5.四则运算(只整理一部分较难的)
>除法运算
#include <iostream>
#include <cstdio>
#include <cmath>using namespace std;int main(){cout << 5 / 3 << endl; //整除,结果为1cout << 5.0 / 3.0 << endl ; //结果为浮点数cout << 5 % 3 << endl; //取余,结果的符号只取决于被除数的符号cout << -5 % 3 << endl; //并且取余操作只能应用于整数类型 且除数不能为0return 0;
}
>自增,自减运算
#include <iostream>
#include <cstdio>using namespace std;int main(){int a = 2;int c = a ++; //a先将原本的值赋给c,再自增1 printf("a = %d,c = %d\n",a,c);int b = 2;int d = ++ b; //b先自增1,再将增加后的值赋给d printf("b = %d,d = %d",b,d);return 0;
}
看看输出结果:
6.数据类型转换
分为隐性转换和显式转换
int 和 float、double可以进行转换,但是浮点类型转换为int类型时需要向下取整。
int 类型和char类型可以通过ASCII码表相互转换
ASCII码转换表链接:ASCII码一览表,ASCII码对照表 (biancheng.net)
#include <iostream>
#include <cstdio>using namespace std;int main(){char c='A' ; cout << (int)c <<endl; //将字符类型转换为整数类型 int a = 66;cout << (char)a << endl; //将整数类型转换为字符类型 char ch = 'C';cout << (char)(ch+30) << endl; //使用字符类型做运算 return 0;
}
结果: