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流,是不一样的两个函数
scanf printf gets() puts(),cin cout的更多相关文章
- C语言——常用标准输入输出函数 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字符串拷贝函数 strcpy(), strncpy(), strchr(), strstr()函数用法特点
1 首先介绍几个常用到的转义符 (1) 换行符“\n”, ASCII值为10: (2) 回车符“\r”, ASCII值为13: (3) 水平制表符“\t”, ASCII值为 9 ...
- printf scanf cin cout的区别与特征
printf和scanf是c语言的输入输出,学习c++以后,自然是用cin cout这两个更简单的输入输出 printf scanf 都需要进行格式控制,比较麻烦,但优点是速度比较快,毕竟多做了一些事 ...
- cin,cout,printf,scanf效率对比
From:http://www.cnblogs.com/killerlegend/p/3918452.html Author:KillerLegend Date:2014.8.17 杭电OJ之3233 ...
- 8-cin cout PK scanf printf(速度快慢问题对比)
我们在c++ 中使用cin cout很方便但速度很慢,导致有些题目用cin就超时而用scanf则就ac了,那到底改用谁? cin慢是有原因的,其实默认的时候,cin与stdin总是保持同步的,也就是说 ...
- PAT 甲级 1047 Student List for Course (25 分)(cout超时,string scanf printf注意点,字符串哈希反哈希)
1047 Student List for Course (25 分) Zhejiang University has 40,000 students and provides 2,500 cou ...
- C/C++ scanf和gets 区别 , printf和puts区别
ref 1. scanf和gets区别 | 博客园 2. printf和puts区别 | CSDN scanf和gets都能从输入流stdin读取字符串,那么它们有什么区别呢? scanf 留回车:开 ...
- acdream B - 郭式树 (水题 卡cin,cout, 卡LL)
题目 输入正好是long long的最大, 但是答案超long long 所以用unsigned, 不能用cin cout否则一定超时: 不能用abs(), abs 只用于整数. unsigned ...
- scanf printf sprintf fprintf
都是C语言中的函数,但C++保留了这些函数,在头文件iostream中声明了. 1 scanf(格式控制,输出列表) printf (格式控制,输出列表) 举例: #include <iostr ...
- [转] C/C++中printf和C++中cout的输出格式
原文地址 一. Printf 输出格式 C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项.各项的意义介绍如下:1.类型类型字符用以表示输出数 ...
随机推荐
- zabbix_agentd客户端安装与配置(Linux操作系统)
标注:官网下载zabbix安装包(zabbix安装包里包含了zabbix_agentd客户端安装包,我们只选择zabbix_agentd客户端安装) zbbix官网下载地址: http://www. ...
- TensorFlow新版与旧版易出错的地方
1.tensorflow 新版取消了tf.train.SummaryWriter(),换成使用tf.summary.FileWriter()
- C# WORD操作实现代码(转载)
在当前项目开发过程中,客户有根据数据库数据生成WORD文档的需求,在和同事沟通的过程中,找到了两个解决方案 1.先通过程序生成报表样式的HTML页面,然后修改HTML页面的后缀名为DOC. 2.定制W ...
- WPF TextBox属性IsReadOnlyCaretVisible
纠结了半天WPF下只读的TextBox怎么显示输入焦点提示,发现wpf 4中已有新属性“IsReadOnlyCaretVisible”,大善^_^
- cordova ios and ios8
ios8发布后,一些用cordova编写的app会碰到问题,总的来说,cordova官方称是完全支持ios8的,而且由于ios8推出的WKWebView存在问题并没能很好的解决(看原文),仍旧用了UI ...
- mysql中explain
1.select_type: /* select_type 使用 SIMPLE */explain select * from tb_shop_order where id='201603292570 ...
- ubuntu 4.10~5.10 :古老的ubuntu上安装oracle10g的情况
64位的: 不用想了,安装不上,因为ubuntu库里没有提供编译环境:安装不上gcc-multilib库.也没有libc6-dev-i386库! 自己这点水平,真搞不定! 32位的: 很顺利.很顺利! ...
- symfony获取POST数据
$request = $this->getRequest(); $messageid = $this->strip_tags($request->get('messageid')); ...
- Android5.x新特性之 Toolbar和Theme的使用
Toolbar 你还在为Android 的ActionBar的文字不能随意设置位置而烦恼么?你还在为ActionBar不能自定义添加自己的布局而烦恼么?现在告诉你一个好消息,当你看到这篇文章时,就不必 ...
- The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. Make s
我出现这个问题是引用资源文件问题 helper.getView(R.id.in_pic).setBackgroundResource(item.getResourceId()); //错的helper ...