scanf printf gets() puts(),cin cout
最近在练机试题,常用的C和C++输入输出如下:
1 scanf 和printf
int a; scanf("%d",&a) ; printf("%d",a);
printf("\n");
double b;scanf("%");
char c; scanf("%c",&c);printf("%c",c);
long int a; scanf("%ld",&a);printf("%ld",a); printf("%ld\n",a);
double b;
scanf("%lf",&b);
printf("%lf",b);
float a;
scanf("%f",&a);
printf("%f",a);
scanf("%s",s);//读入字符串,遇到空格就结束,故接受 i love you作为一个字符串,包含空格,需要用
gets(s);
是否有空格都可以用printf("%s",s);因为输出已\0结束的。也可以用下面的puts(s);
读入多个变量
scanf("%d %d",&high,&n);默认是空格分隔
如果scanf中%d是连着写的如“%d%d%d”,在输入数据是,数据之间不可以加逗号,只能是空格或tab键或者回车键——“2 3 4”/“2(按tab)3(按tab)4(按tab)”。若是“%d,%d,%d”,则在输入数据时需要加“,”——“2,3,4”.
也可以控制输出
printf("%d,%d",a,b); 输出a,b
printf("%d %d",a,b); 输出a b
2 gets()和puts()
char s[20]={'\0'};
gets(s),读入一个字符串,回车结束
puts(s);输出字符串。等同于 printf("%s",s);
3 cin和cout就不用说了。很熟悉
只说明一下读字符串
char s[10]="nfkshf";
cout<<s;
char s[10];
cin>>s;//遇到空格结束
cout<<s;
想要读取i love you ,可以空cin.getline;
char s[N];
cin.getline(s,N,'\n');//读N-1个字符或遇到换行结束。
cout<<s;
4 while判断输入结束,标准控制台默认\n结束
例如:输入 12 34 14 67......89 回车
int a[20];
while (cin>>a[i]&&cin.get()!='\n')
{
i++;
}
while (cin>>a[i])//读文件eof结束
{
i++;
}
C 语言:
char c=' ';
while(c!='\n')
{
scanf("%d%c",&a[i],&c);
i++;
}
5 string ,字符串操作可以用string的话就太方便了
4、getline() // 接受一个字符串,可以接收空格并输出,需包含“#include<string>”
#include<iostream> #include<string> using namespace std; main () { string str; getline(cin,str); cout<<str<<endl; }
输入:jkljkljkl 输出:jkljkljkl
输入:jkl jfksldfj jklsjfl 输出:jkl jfksldfj jklsjfl
和cin.getline()类似,但是cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数
最新文章
- WGS84经纬度坐标与北京54坐标或者西安80坐标的关系
- matlab 读取excel
- data:image/png;base64
- Eratosthenes筛选法构造1-n 素数表
- percona-toolkit介绍及安装
- oracle的表空间
- Attention and Augmented Recurrent Neural Networks
- JS面向对象组件(三)--面向对象中的常用属性和方法
- 第二百八十七天 how can I 坚持
- android应用程序的优先级
- linux下串口的阻塞和非阻塞操作
- FTP Client
- Oracle 六闪回技术,flashback
- 词典 (noi OpenJudge)
- cursor()&#160;—&#160;数据库连接操作 python
- 《精通Spring 4.X企业应用开发实战》读书笔记1-1(IoC容器和Bean)
- Android全平台书籍
- 缓存,减少对sql语句的访问
- JavaSE 软件工程师 认证考试试卷2
- How to configure ESXi to boot via Software iSCSI?
热门文章
- Android Handler机制 (一个Thead中可以建立多个Hander,通过msg.target保证MessageQueue中的每个msg交由发送message的handler进行处理 ,但是 每个线程中最多只有一个Looper,肯定也就一个MessageQuque)
- HttpClient后台post 请求webapi
- Unreal发展史
- 猫猫学iOS之小知识iOS启动动画_Launch Screen的运用
- Java学习之——JavaBeans
- PHP框架 Yii framework 用yiic命令时提示“php.exe”不是内部或外部命令
- jquery获取元素颜色css(&#39;color&#39;)的值返回RGB
- 为什么GPL是更好的开源许可证?
- The import XXX cannot be resolved
- Oracle之表空间基于时间点的恢复