面向过程与面向对象
举例: a+b
面向过程:直接计算a+b
面向对象:给a+b穿上了一层衣服,不是直接计算a+b
命名空间
C++ 命名空间
C++:命名空间(namespace)及其使用
using namespace std ; //最好不要这样用,可能会有潜在命名空间污染
//替代:
using namespace std::cout;
using namespace std::endl;
输出格式控制符
#include <iostream>
#include<iomanip> //输出格式控制符
using namespace std;
int main()
{
/*输出*/
cout<<"输出格式控制符"<<endl;
//1.设置浮点数精度 setprecision(n) -----n:有效数位
cout<<setprecision(3)<<3.141518<<" "<<2.4342<<endl;
cout<<endl;
//2.设置输出域宽 setw(n) -------n:域宽
//note :只对后一个输出数据有效
// 默认右对齐
cout<<"1234567812345678"<<endl;
cout<<setw(8)<<23.27<<setw(8)<<78<<endl;
cout<<setw(8)<<"ABC"<<78<<endl;
cout<<endl;
//3.设置对齐方式 setiosflags() 、 resetiosflags()
//note: 一直有效,直到reset
cout<<"123456781234567812345678"<<endl;
cout<<setiosflags(ios::left)<<setw(8)<<456<<setw(8)<<211<<endl; //瀹革箑顕?姒伙拷
cout<<resetiosflags(ios::left)<<setw(8)<<1312<<endl;
cout<<endl;
/*数制基数*/
cout<<"数制基数"<<endl;
//hex、oct、dec
//一直有效,直到遇到下一个基数设置
int x = 10;
cout<<hex<<18<<" "<<x<<endl; //18(d)--- 12(h)
//输入
int x1,x2,x3,x4;
cin>>oct>>x1; // 八进制0-
cin>>x2; //
cin>>hex>>x3; // 十六进制0x-
cin>>dec>>x4; // 十进制
//十进制输出
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;
cout<<"x3="<<x3<<endl;
cout<<"x4="<<x4<<endl;
return 0;
}
字符串
#include <iostream>
#include <string>
using namespace std;
int main()
{
//1.定义与初始化、赋值、连接
string s1;
string s2("this is a string");
string s3 = s2;
string s4[3] = {"tom", "jerry", "duck"}; //字符串数组,保存3个字符串,相当于char[][]
string s5(5, 'c'); //定义s,用5个c 初始化
s1 = "this is a string too";
s1 = s1 + " " + s4[1] + " ";
cout << s1 << endl;
cout << s5 << endl;
//2.输入空白字符
char c1, c2;
int n;
cin >> c1 >> c2 >> n; //输入:A 3 变量:c1=A c2=3 空格不存入
cout<<c1<<c2<<n;
//cin.get(char c) ------提取输入流中任何字符
cin >> c1;
cin.get(c2);
cin >> n;
cout<<c1<<c2<<n;
//cin.getline(char *c,int n)--------n:要提取的字符个数 (从输入流中读取n-1个字符到数组c中,第n个位置自动写结束符‘\0’)
char s6[100];
cin.getline(s6,11);
cout<<s6<<endl;
}