【c++】小甲鱼C++快速入门(一)
来源:互联网 发布:submit for mac 编辑:程序博客网 时间:2024/04/28 22:42
一个c程序
输入一串整数和任意数目的空格,计算整数的和
#include<stdio.h>int main(){ int sum=0; int i; char ch; printf("输入一串整数和任意数目的空格:"); while( scanf("%d",&i)==1) { sum+=i; while((ch=getchar())==' ');//屏蔽空格 if(ch=='\n') break; ungetc(ch,stdin);//将变量ch中存放的字符退回stdin输入流 } printf("结果是:%d",sum); return 0;}
cin.peek() & cin.get()
#include<iostream>using namespace std;int main(){ int sum=0; cout << "输入一串整数和任意数目的空格:"; int i; while( cin>>i ) { sum +=i; while(cin.peek()==' ')//peek的意思是偷窥。在这里意思是只是识别到字符,但是并不把字符从流中拿走 { cin.get(); } if(cin.peek()=='\n') break; } cout<<"结果是:"<<sum<<endl; return 0;}
用法一:cin.get(字符变量名)可以用来接收字符
用法2:cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格用法3:cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的 不足.cin.peek() 其返回值是一个char型的字符,其返回值是指针指向的当前字符,但它只是观测,指针仍停留在当前位置,并不后移。如果要访问的字符是文件结束符,则函数值是EOF(-1)。
其功能是从输入流中读取一个字符 但该字符并未从输入流中删除
cin.ignore() & cin.getline()
#include<iostream>using namespace std;int main(){ char buf[20]; cin.ignore(7); cin.getline(buf,10); cout<<buf<<endl; return 0;}
cin.ignore(a,ch)方法是从输入流(cin)中提取字符,提取的字符被忽略(ignore),
不被使用。每抛弃一个字符,它都要计数和比较字符:如果计数值达到a或者被抛弃的字
符是ch,则cin.ignore()函数执行终止;否则,它继续等待。它的一个常用功能就是用
来清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响。比如可
以这么用:cin.ignore(1024,'\n'),通常把第一个参数设置得足够大,这样实际上总是
只有第二个参数'\n'起作用,所以这一句就是把回车(包括回车)之前的所以字符从输
入缓冲(流)中清除出去。
如果cin.ignore()不给参数,则默认参数为cin.ignore(1,EOF),即把EOF前的1个字符清
掉,没有遇到EOF就清掉一个字符然后结束,会导致不正确的结果,因为EOF是文件结束
标识.
cin.getline()读取一行,直到读到换行符或者指定位数结束。最后一位为'\0'
cin.read() & cin.gcount()
#include<iostream>using namespace std;int main(){ const int SIZE=50; char buf[SIZE]; cout<<"请输入一段文本:"; cin.read(buf,20); cout<<"字符串收集到的字符数为:" <<cin.gcount()<<endl; cout<<"输入的文本信息是:"; cout.write(buf,20); cout<<endl; return 0;}
cin.read():读
cin.write()写
cin.gcount()计数
cout.precision & cout.width
#include<iostream>#include<math.h>using namespace std;int main(){ double result = sqrt(3.0); cout << "对3开方保留小数点后0~9位,结果如下:\n"<<endl; for (int i=0;i<=9;i++) { cout.precision(i); cout<<result<<endl; } cout<<"当前的输出精度为:"<<cout.precision()<<endl; return 0;}
cout.precision() :有效位数
#include<iostream>#include<math.h>using namespace std;int main(){ int width = 4; char str[20]; cout<<"请输入一段文本:\n"; cin.width(5);//每次只接收4个字符,其他的放在流中等待接收。 while(cin>>str) { cout.width(width++);//输出的字符串宽度为width,不足的会用空格补足 cout<<str<<endl; cin.width(5); } return 0;}
ctrl+z为文件结束符
阅读全文
0 0
- 【c++】小甲鱼C++快速入门(一)
- C#--快速入门(一)
- c++Primer,一,快速入门
- C++Primer学习笔记一:快速入门
- C语言快速入门系列(一)
- Objective C 快速入门学习一
- Objective-C 快速入门--基础(一)
- JNI之C语言(一)--快速入门
- 初学者之C与C++小甲鱼习题
- object-c 快速入门
- Objective-C 快速入门
- object-c快速入门
- Objective-C 快速入门
- Object-c 快速入门
- 《小甲鱼—零基础入门学习python》学习过程(一)
- 小猪的C语言快速入门系列(一)
- c入门(一)
- C语言入门一
- run Openmvide in Raspberry pi3
- 通过CSS实现多行换行,后面加省略号
- Ethercat基本数据类型(Ethercat Base Data Types)
- 网络编程--传输协议tcp/udp
- Redis持久化
- 【c++】小甲鱼C++快速入门(一)
- mysql优化小结
- STM32的接收中断和发送中断同时使能会导致程序死在初始化串口那里。
- Android内存优化(五)详解内存分析工具MAT
- leveldb源码分析之五
- Mysql查询数据(四)
- 2017 Multi-University Training Contest
- (11)2017.8.10-面向对象(6)
- 求集合的所有子集