最近在练机试题,常用的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的更多相关文章

  1. C语言——常用标准输入输出函数 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字符串拷贝函数 strcpy(), strncpy(), strchr(), strstr()函数用法特点

    1 首先介绍几个常用到的转义符 (1)     换行符“\n”, ASCII值为10: (2)     回车符“\r”, ASCII值为13: (3)     水平制表符“\t”, ASCII值为 9 ...

  2. printf scanf cin cout的区别与特征

    printf和scanf是c语言的输入输出,学习c++以后,自然是用cin cout这两个更简单的输入输出 printf scanf 都需要进行格式控制,比较麻烦,但优点是速度比较快,毕竟多做了一些事 ...

  3. cin,cout,printf,scanf效率对比

    From:http://www.cnblogs.com/killerlegend/p/3918452.html Author:KillerLegend Date:2014.8.17 杭电OJ之3233 ...

  4. 8-cin cout PK scanf printf(速度快慢问题对比)

    我们在c++ 中使用cin cout很方便但速度很慢,导致有些题目用cin就超时而用scanf则就ac了,那到底改用谁? cin慢是有原因的,其实默认的时候,cin与stdin总是保持同步的,也就是说 ...

  5. 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 ...

  6. C/C++ scanf和gets 区别 , printf和puts区别

    ref 1. scanf和gets区别 | 博客园 2. printf和puts区别 | CSDN scanf和gets都能从输入流stdin读取字符串,那么它们有什么区别呢? scanf 留回车:开 ...

  7. acdream B - 郭式树 (水题 卡cin,cout, 卡LL)

    题目 输入正好是long long的最大, 但是答案超long long 所以用unsigned, 不能用cin cout否则一定超时: 不能用abs(), abs 只用于整数. unsigned   ...

  8. scanf printf sprintf fprintf

    都是C语言中的函数,但C++保留了这些函数,在头文件iostream中声明了. 1 scanf(格式控制,输出列表) printf (格式控制,输出列表) 举例: #include <iostr ...

  9. [转] C/C++中printf和C++中cout的输出格式

    原文地址 一. Printf 输出格式 C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项.各项的意义介绍如下:1.类型类型字符用以表示输出数 ...

随机推荐

  1. Saltstack配置管理(2)

    1.SaltStack批量安装zabbix_agent端. vim /etc/salt/states/init/zabbix_agnet.sls zabbix_install.conf: pkg.in ...

  2. Java开发者必备的六款工具

    每一位Java程序员都会有套工具来应对工作上的挑战.多年来,Java程序员使用软件来完成他们的工作.有很多工具对他们是有用的,不过对于初入行的人员来说,寻找合适的工具是困难的,并且是浪费时间的.而今天 ...

  3. 【转】IOS 学习之 NSPredicate 模糊、精确、查询

    转自:http://blog.csdn.net/lianbaixue/article/details/10579117   简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于S ...

  4. 8.4 Java 命名规范

    Class: 所有单词的首字母大写, TestJava Method: 第一个单词的首字母小写,之后每个单词的首字母大写, getAddressForMe() Property: 第一个单词的首字母小 ...

  5. Node.js之 EventLoop 理解(转)

    关于Node.js的第一个基本概念是I/O操作开销是巨大的: 所以,当前变成技术中最大的浪费来自于等待I/O操作的完成.有几种方法可以解决性能的影响: 同步方式:按次序一个一个的处理请求.利:简单:弊 ...

  6. 4 Flask 命令行模式

    preface 在Django中我们可以使用python manage.py shell进入 shell下面调试,在flask下面我们需要安装第三方模块来进入shell模式,安装的模块为Flask-S ...

  7. extJS 中 ext.data 介绍

    ext.data 最主要的功能是获取和组织数据结构,并和特定控件联系起来,于是,Ext.data成了数据的来源,负责显示数据. Ext.data在命名空间中定义了一系列store.reader和pro ...

  8. ExtJS中给Tree节点加click事件

    第一种: 直接通过TreePanel中的Config Option中的listener来添加,代码如下: var TreePan = new Ext.tree.TreePanel({ id: 'Tre ...

  9. 小波变换——子带编码,Subband Coding

    离散小波变换.多级信号分解,多分辨率分析. Multiresolution Analysis(MRA.多分辨率分析) 子带编码(Subband Coding) 简称SBC. 一种以信号频谱为依据的编码 ...

  10. Go工具和调试详解

    https://blog.csdn.net/happyanger6/article/details/78724594/ https://blog.csdn.net/u012210379/article ...