输入输出语句

输入输出语句,第1张

1、cout 格式:

cout<<项目1<<项目2<<...<<项目n;

换行:

cout换行有两种方式,一种是endl;一种是通过转义字符“\n”进行换行,例如下列代码:
cout<<"a\nb";
输出结果如下,即“\n”在输出时会转为换行符

输出精确到小数点后n位:
cout<<fixed<<setprecision(n)<<输出项<<endl;
输出保留n位有效数字:
cout<<setprecision(n)<<输出项<<endl;
2、cin与getline 格式:

cin>>项目1>>项目2>>...>>项目n;

字符串

我们可以像读取基本类型数据一样,使用cin和>> *** 作符来读取字符串,例如:

string a;
cin>>a;

但是,cin>>只能读取一个单词,一旦碰到任何空格等分隔符号,读取 *** 作就会停止。在很多时候这并不是我们想要的 *** 作,比如我们希望用户输人一个英文句子,那么这种方法就无法读取完整的句子,因为一定会遇到空格。
要一次读取一整行输入,需要使用C++的函数 getline(),相对于用cin处理字符串,我们更建议使用 getline 来读取用户输人。
例如:

#include
using namespace std;
int main(){
	string mystr; 
	cout<<"what's your name?\n"; 
	getline(cin, mystr); 
	cout<<"Hello "<<mystr<<".\n";
	cout<<"what is your favorite color?\n"; 
	getline(cin, mystr); 
	cout<<"I like "<<mystr<<" too!\n";
	return 0; 
}

运行交互如下:
What’s your name?
Dou dou
Hello Dou dou.
What is your fayorite color?
red
I like red too!

在上面的例子中,两次调用getline()函数我们都使用了同一个字符串变量(mystr)。在第二次调用的时候,程序会自动用第二次输人的内容取代以前的内容。

3、字符的输入输出

字符输出格式:putchar(a);
实现向屏幕输出一个字符a的功能。
字符输入格式:getchar();
或者char ch=getchar();
实现从输人设备输人一个字符,对于第二个格式,变量ch将获得这个字符的值。注意getchar()函数没有参数,即括号中不写任何内容,getchar()只能接收一个字符,特殊情况 getchar()也可以作为表达式出现,例如:

putchar(getchar());

等价于:

c=getchar();
putchar(c);
4、printf函数(C标准输出函数)

printf函数的作用是将一个或多个字符按照指定的格式输出到屏幕上。printf函数调用的一般形式为:

printf(“格式控制字符串”,待输出项1,待输出项 2……)

其中格式控制字符串用于指定输出格式,是用一对双引号括起来的。例如:

printf("x= %d"28);

上面这条语句中,格式控制字符串就是“x=%d”,待输出项就是28。其输出结果是: x=28
像“%d”这样由一个“%”和其后一个(或多个)字符组成的字符串,称为格式控制符。它说明待输出项的类型、输出形式(比如小数点后面保留几位等)。“%d”表示其对应的待输出项是整型。
“%”和特定的一些字符组合在一起,构成格式控制符。常见的格式控制符有:
%d 要输出一个整数
%c 要输出一个字符
%s 要输出一个字符串
%x要输出一个十六进制整数
%u 要输出一个无符号整数(正整数)
%f 要输出一个float 浮点数(%0.2f输出2位小数,整数部分可控制占位)
%lf 要输出一个 double 浮点数(%0.2lf输出 2 位小数)。(不是数字1是字母l)
“格式控制字符串”中,格式控制符的个数应该和待输出项的个数相等,并且类型须依次对应。“格式控制字符串”中非格式控制符的部分,则原样输出。例如:

#include
using namespace std;
int main(){
	printf("Name is %s,Age=%d,weight=%0.2lfkg,性别:%c,code=%x","Doudou",10,38.55,'M',32);
	return 0; 
}

输出结果是;
Name is Doudou,Age=10,weight=38.55kg,性别:M,code=20

最后的待输出项“32”对应的输出结果是“20”。因为它对应的输出控制符是“%x”,这就导致十进制数"32"以十六进制的形式输出为“20”。

5、scanf 函数(标准输人函数)

scanf 函数的一般形式为:

scanf(“格式控制字符串”,变量地址1,变量地址2……);

scanf 数的作用是从键盘接受输人,并将输人数据存放到变量中。“变量地址”的表示方法是在变量前面加“&”字符。“格式控制字符串”说明要输人的内容有几项以及这几项分别是什么类型的。函数执行完后,输人内容的每一项分别被存放到各个变量中。例如:

#include
using namespace std;
int main(){
	char c; 
	int n;
	scanf("%c%d",&c,&n); 
 	printf("%c,%d",c,n); 
	return 0; 
}

scanf语句中的“%c%d”说明待输入的数据有两项,第一项是一个字符,第二项是一个整数,这两项之间可以用空格或换行进行分隔,也可以不分隔。scanf函数会等待用户从键盘敞入数据,用户输完后必须再敲回车,scanf函数才能继续执行,将两项输入数据存放到变量c和n中。上面的程序,不论敲入“a789回车”,还是“a空格 789 回车”还是“a 回车789回车”,结果都是一样的。输出结果为:
a,789
即字符‘a’被读入,存放在变量c中,789被读入,存放于变量n中。如果输入是两个整数,那么这两个整数输入的时候必须用空格或回车分隔。
再如,有两行字符或者整数,字符混合输入如下:
A
B
程序如下;

char input,ch;
scanf("%c",&input);
scanf("%c",&ch);

结果 ch ='\n"而不是B,请务必注意,此时可以改为:

scanf("%c\n",&input);
scanf("%c",&ch);  // ch -'d';

还有scanf可以指定特殊分隔符,比如输入数据如下:
12:38:49
读入语句如下:

scanf("%d:%d:%d",&h,&m,&s); 

则h=12,m=38,s=49。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/3002696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-27
下一篇 2022-09-27

发表评论

登录后才能评论

评论列表(0条)

保存