【C++】基础 | 命名空间、输入输出流、字符串

面向过程与面向对象

举例: a+b
面向过程:直接计算a+b
面向对象:给a+b穿上了一层衣服,不是直接计算a+b

命名空间

C++ 命名空间
C++:命名空间(namespace)及其使用

在这里插入图片描述

using namespace std ;  //最好不要这样用,可能会有潜在命名空间污染

//替代:
using namespace std::cout;
using namespace std::endl;

输出格式控制符

C/C++ 输出控制小数点位数

#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;
}

强制类型转换

C++ 强制类型转换和赋值中的类型转换
[C++]类型的自动转换和强制转换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值