01 流输入输出
在前面的课程中,我们已经编写过好些简单的程序,在程序中也都使用了流输入和输出语句,现在我们再来详细介绍一下
需要包含的库文件:
#include <iostream>
输入语句:
cin>>x;
cin>>x>>y;
cin是输入语句,“>>”是插入符,x为变量名,表示将键盘输入的数据放到x的变量里,多个变量输入用多个“>>”隔开。
输出语句:
cout<<x;
cout<<x<<" "<<y;
cout是输出语句,“<<”是插入符,x为变量名,表示将变量x里存储的数据输出到屏幕,多个变量输出,之间需要输出一个空格隔开。
例题1:输入正方形的边长a,计算正方形的面积。
说明:
- 第1行,使用 cin,cout 需要包含库 iostream;
- 第5行,定义变量 a,s,分别表示正方形的边长和面积;
- 第6行,输入正方形的边长,表示从键盘输入的数据存放在变量a内;
- 第7行,计算正方形的面积;
- 第8行,输出正方形的面积;
- 程序中也可以不定义变量s,第7行和第8行可以合并为“ cout<<a*a ; ”。
例题2:输入圆形的半径r,计算圆形的面积。(π取3.141,结果保留2位小数)
输入:3
输出:28.269
说明:当输入3时,程序运行输出的结果是28.269,显然没有达到保留2位小数的要求。这是因为流输出语句cout无法控制小数位。这时,就需要用到格式化输出,接下来就来讲解另一种输入输出方式。
02 格式化输入输出
在学习“格式化输入输出” 前,先来复习一下“常用的数据类型”,因为“格式化输入输出”与数据类型密切相关。
常用数据类型:
- 整型(int)
- 单精度浮点数(float)
- 双精度浮点数(double)
- 字符型(char)
在使用“格式化输入输出”时,非常重要的就是“格式符”要与变量的数据类型相匹配。
格式化输入输出的格式控制符是由“%”和格式符组成的,常用的数据类型的格式控制符如下:
- %d 整型(int)
- %f 单精度浮点数(float)
- %lf 双精度浮点数(double)
- %c 字符型(char)
格式控制符的作用是将要输入输出的数据按照指定的格式输入输出,这需要大家对题意中各变量的数据类型有明确的判断。
int x ; // 假设定义整型变量x
需要包含的库文件:
#include<cstdio>
输入语句:
scanf( " %d " , &x );
scanf是输入语句。括号内,双引号里为格式控制符,特别注意变量名前的地址符“&”
输出语句:
printf(“%d” , x);
printf是输出语句。其格式与输入语句只有地址符“&”的差异。
例题3:输入长方形的边长a和b,计算正方形的面积。
//参考代码1
//参考代码2
//参考代码3
注意:
1. 上述三种写法都是可以的,请观察他们的区别,进一步体会格式化输入输出的使用。
2. 当不需要将某个数据保存时,就可以不需要变量来存储,在输出时直接使用表达式即可。
例题4:再看看前面的例题2
输入圆形的半径r,计算圆形的面积。(π取3.141,结果保留2位小数)
//参考代码1
运行结果:
3
28.268999
//参考代码2
运行结果:
3
28.269000
//参考代码3
运行结果:
3
28.27
当输入3时,三个程序运行的结果是不同的。前两个程序未保留小数位,但是结果仍然不一样,第三个程序才是符合题意的。
注意第9行的代码的书写:printf (“ %.nf ”, x ) ,其中n表示小数位的个数。
03 两种输入输出的比较
1)cin 和 cout 需要调用 iostream 库,scanf 和 printf 需要调用 cstdio 库;
2)在时效上 scanf 和 printf 优于 cin 和 cout ;
3)数据需要保留小数位时应使用 格式化输出printf语句;
4)数据达到100万时 cin 读入就会超时( 运算出结果超过1秒 );
5) cin 和 cout 能够自动识别变量的数据类型,输入输出时,不需要指定数据类型;
scanf 和 printf 在输入输出时需要指定数据类型。
04 上机练习
本课上机练习:
一本通题库(ybt.ssoier.cn:8088)
第二章 第二节 1011 1012 1013 1014
第二章 第四节 1024 1025 1026
第二章 第五节 1031 1034
05 第2课上机练习参考代码
编者语
信奥需要长期的学习过程,即使现在不太明白,随着年纪的增加,一定有拨云见日的时候。请一定要坚持,不要半途而废。
【本人学疏才浅】
【如有谬误之处还望读者不吝留言批评指正】
本文暂时没有评论,来添加一个吧(●'◡'●)