C++学习第一篇:认识输入和输出 (总结提升版)

说到C++的输入和输出,了解C++的朋友都知道最基本的输入和输出。

一、 cin(输入)和 cout(输出);

具体使用方法这里简单介绍一下,也为下文铺垫一下。
**(1)**输入变量a;输出 关注jockchong;
具体代码如下:


 #include<iostream> 
  using namespace std;
  int main()
  {
   int a;
   cin>>a;
   cout<<"关注jockchong";
   return 0;
  }
  
  

非常简单了
特别注意转义字符对输出的影响
例如
输出图片中的内容

正确答案

#include<iostream>
using namespace std;
int main()
{    
cout<<"***"<<"\\"<<"n*******"<<"\\"<<"n***"<<endl<<endl;
cout<<"*** Very Good ***"<<endl<<endl;//不能直接用\n
cout<<"***"<<"\\"<<"n*******"<<"\\"<<"n***";
return 0;
}

我们都知道如果直接码上代码\n,那么输出就会输出换行。这类题要注意,总得来说不难但是得灵活掌握,冷静冷静冷静。
(2)

cout特殊格式

1、保留小数问题(后文有简便方法)

在运用cout时会遇到特殊格式也就是特殊要求

在C++中保留小数有特殊的格式其头文件要加上
#include<iomanip>
输出时

    double a;
    cin>>a;
    cout<<setiosflags(ios::fixed)<<setprecision(8)<<a;
    //保留8位小数;

注意单词很长不要记错
在后文中我会介绍不用背这么长单词的写法;继续往下看(有惊喜哦)

2 、设置输出字段宽度

在C++中有很多设置字段宽度的要求,很美观。
其方法如下:
头文件依旧添加#include<iomainip>
输出时:
int i;
cin>>i;
cout<<setw(12)<<i;//设备输出字段宽度为12.
`
注意:单词不要记错

二 、printf (输出)和 scanf (输入) //很重要

我们都知道scanf 和 printf 都是C语言中的输入和输出,在C++中同样可以运行,那么对于c++中比较特殊的输出格式就可以用 printf 来解决
【1】//换一种编号格式,换一种心情**

先简单介绍一下 scanf 和 printf**

scanf 为输入
其格式为
scanf(格式控制,输出表列)
例如:

int a;
double b;
char c;
scanf("%d %lf %c",&a,&b,&c);//注意在变量前加取址运算符&;

printf 为输出
其格式为
printf(格式控制,输出表列)
例如:
printf(“a=%d,b=%lf,c=%c”,a,b,c);
输出结果为
在这里插入图片描述

[2]用 printf 解决特殊输出问题

1、小数问题

例如 输出保留3位小数的数

#include<iostream> 
using namespace std;
int main()
{
 double a;
 cin>>a;
 printf("a=%.3lf",a);
  
 return 0;
}

结果为:
保留三位小数

2、设置字段宽度问题

例如:
设置20宽度

#include<iostream> 
using namespace std;
int main()
{
 int a;
 cin>>a;
 printf("a=%20.d",a);
  
 return 0;
}

结果为
在这里插入图片描述

特别注意:有结果靠左,靠右问题

例如

#include<iostream> 
using namespace std;
int main()
{
 int a;
 cin>>a;
 printf("a=%-20.d",a);
  cout<<"k";
 return 0;
}

结果为
在这里插入图片描述

三、 getchar()输入问题;

因为 cin 不能识别空格,换行等字符,在某些问题中常用,getchar()吸收空格或者回车符
例如
输入
n
n-1
.
.
.
1
输出
n n-1 …1;

#include<iostream> 
using namespace std;
int main()
{
 int n;
 char c;
 cin>>n;
 int a[n];
 for(int i=n-1;i>0;i--)
 {
  cin>>a[i];
  c=getchar();
 }
 cout<<n;
 for(int i=n-1;i>0;i--)
 cout<<a[i];
 
 return 0;
}

结果为
在这里插入图片描述

四、 getline 输入问题

geiline 输入为输入一行字符
例如
#include
#include
using namespace std;
int main()
{
string a;
string b;
getline(cin,a);//回车结束
getline(cin,b,‘0’);//'0’输入0结束
cout<<a<<endl;
cout<<b;

return 0;
}
结果为在这里插入图片描述

五、无限循环输入问题

例如:典型例题 判断同学们的成绩合不合格

#include<iostream>
using namespace std;
int main()
{
 int a,b=0,c=0;
     while(cin>>a)
     {
      if(a<=60&&a>0)
  b++;
  else
  c++;
  }
  
 
 cout<<b<<" "<<c;
}

结果为
在这里插入图片描述
输入ctril +z 循环结束

六:总结:太累了直接上图吧

在这里插入图片描述
对于C++的输入输出问题先总结到这,喜欢加关注吧!
由于目前水平有限如有问题多多指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值