C++学习(1)(基本知识)

第一节课,两个简单的题,一些零散的知识点
一、读入
相关博客
1.cin 遇到空格,回车会停下
2.cin.getline(s,n) 接收n-1个字符到s中,包括空格(属于istream流)
3.getline(cin,s) 读字符串到s(属于string流,注意头文件)
4.cin.get(…) 可读字符,可像2那样读字符串
二、string
三、iomanip
(注意:设置一次后续输出格式都一样,除非再设置或取消)
1.setprecision()函数
可以设置输出有效数字个数(默认有效位为6)
如果和fixed操作符连用,变成设置小数点后几位
2.setw()函数
设置域宽,并用空格填充
默认右对齐,可以用left操作符设置左对齐
3.可用setfill()函数改变填充的字符,如setw(10)<<setfill('*')
4.setiosflags
相关连接
它是包含在命名空间iomanip 中的C++ 操作符,该操作符的作用是执行由有参数指定区域内的动作。
上面的fixed,left都是其参数之一
标准写法:setiosflags(ios::XXX)
cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2); 意思是输出一个右对齐的小数点后两位的浮点数。

#include <iostream>
#include <string>
#include <iomanip>//输出控制
using namespace std;
/*int main()
{
    //cout<<setiosflags(ios::left)<<setw(5)
    cout<<left<<setw(5)<<"abc"<<"123ii"<<endl;

}*/
/*
int main()
{   //直接cin会遇到空格停下
    //法1
    string s;//不用括号,是个容器类
    getline(cin,s);//getline是string流,要用string头文件和容器类
    //法2
    char a[101];
    cin.getline(a,101);//这是istream流,不用string,且上面string类型的s变量它也不能读入
    //
    cout<<a<<endl;
    cout<<a<<endl;
    cout<<a<<endl;
    return 0;
}*/
int main()
{
    double r;
    cin>>r;
    cout<<"Area: "<<left<<setw(20)<<fixed<<setprecision(6)<<3.14*r*r<<endl;
    //setw设置域宽,默认右对齐,要加left左对齐
    //fixed+setprecision控制输出小数点后几位。单独setprecision控制几位有效数字
    cout<<"Perimeter: "<<right<<setw(20)<<setprecision(2)<<2*3.14*r<<endl;
    //如无right取消left,则后续所有域宽都会左对齐
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值