字符输入函数getchar()
getchar函数是接收从键盘输入的单个字符数据。它是一个无参函数,其语法格式为:
getchar();
使用该函数需要在程序前面包含头文件 cstdio
说明:
通常把输入的字符赋予一个字符变量,构成赋值语句。例如:
char ch;
ch=getchar();
getchar()函数只能接受单个字符,输入数字也按字符处理。当输入多于一个字符时,只接收第一个字符。
getchar()函数等待用户输入,直到按回车键才结束,可用于暂停程序的运行,直到输入一个回车键。
如果在程序中连续有两个以上getchar()函数,应该一次性输入所需字符,最后再按回车键,否则会把回车作为一个字符传给后面的getchar()函数。
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
char ch;
ch=getchar();
cout<<ch<<endl;
return 0;
}
字符输出函数putchar()
putchar()函数是字符输出函数,功能是输出单个字符数据,其语法格式为:
putchar(ch);
其中,ch为一个字符变量或常量。
使用该函数需要在程序前面包含头文件 cstdio
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
char ch=a;
ch = getchar();
putchar(ch);//输出ch
cout << endl;
putchar('b');//输出b
putchar('66');//输出10进制ASCLL码值下的‘B'
return 0;
}
输出:
abB
格式化输出函数printf()
头文件:cstdio
printf()的功能是格式化输出任意数据列表,格式为:
printf(“格式控制字符串”,输出列表);
格式控制字符串由格式说明和普通字符组成
格式说明由%和格式字符组成,作用是将要输出的字符转换为指定的格式,如%d,%c等。
普通字符在输出时原样输出,一般在起提示作用。
输出列表是需要输出的一组数据(可以为表达式和变量),各参数之间用“,”分开。
printf函数的格式符
格式符 | 说明 |
---|---|
d(或i) | 以带符号十进制形式输出整数,正数的(+)号省略不输出 |
u | 以无符号十进制形式输出整数 |
x(或X) | 以十六进制无符号形式输出整数(不输出前导符0x) |
o | 以八进制无符号形式输出整数(不输出前导符数字0) |
c | 输出一个字符 |
s | 输出字符串 |
f | 以小数形式输出单、双精度,隐含输出六位小数 |
e(或E) | 以指数形式输出单、双精度,隐含输出6位小数 |
g(或G) | 自动选用%f、%e或%E格式中输出宽度较小的一种使用 |
d格式符
参数 | 说明 |
---|---|
%d | 输出数字长为变量数值的实际长度 |
%md | 输出m位(不足补空格,大于m位时按实际长度输出) |
%-md | m含义同上。左对齐输出 |
%ld | l(小写字母)表示输出“长整型”数据 |
%mld | 指定长整型输出宽度m位,左边补空格:否则,按实际位数输出 |
%0md,%0mld | 0(数字0)表示位数不足m时补0 |
例如:
#include<cstdio>
using namespace std;
int main()
{
int i = 1;
long j = 123;
printf("%d\n%2d\n%03d\n%1d\n%-4ld\n%05ld", i, i, i, j, j, j);
return 0;
}
输出:
1
1
001
123
123
00123
f格式符
参数 | 说明 |
---|---|
%f | 按实数格式输出,整数部分按实际位数,6位小数 |
%m,n | 总位数m(含小数),其中n位小数,右对齐 |
%-m.nf | 同上左对齐 |
例如:
#include<cstdio>
using namespace std;
int main()
{
float i=1.23;
double j = 12.345;
printf("%f %2.1f %.1f" ,i, i, j);
return 0;
}
输出:
1.230000 1.2 12.3
s格式符
参数 | 说明 |
---|---|
%s | 按实际宽度输出一个字符串 |
%ms | m指定宽度(不足时左补空格,大于时按实际宽度输出) |
%-ms | 左对齐,不足时右补空格 |
%m.ns | 输出占m个字符位置,其中字符数最多n个,左补空格 |
%-m.ns | 同上,右补空格 |
格式化输入函数scanf
头文件:cstdio
scanf函数的功能是格式化输入任意数据列表,其一般调用格式为:
scanf(“格式控制符”,地址列表)
1)地址列表中给出各变量的地址,可以为变量的地址,也可以为字符串的首地址。
2)格式控制符由%和格式符组成,作用是将要输入的字符按指定的格式输入,如%d,%c等。
scanf()函数的格式符
格式符 | 说明 |
---|---|
u | 以无符号十进制形式输入十进制整数 |
o | 用于输入八进制整数 |
x | 用于输入十六进制整数 |
c | 用于输入单个字符 |
s | 用于输入字符串(非空格开始,空格结束,字符串表变量以’\0’结尾 |
f | 用于输入实数(小数指数均可) |
e | 与f相同(可与f互换) |
d,i | 输入十进制整数 |
scanf函数的附加格式说明符
参数 | 说明 |
---|---|
l | 用于长整型(%ld、%lo、%lx)或double型实数(%lf、%le) |
h | 用于短整型数(%hd、%ho、%hx) |
宽域(一个整数) | 指定输入所占列宽 |
* | 表示对应输入量不赋给一个变量 |
#include<cstdio>
using namespace std;
int main()
{
int i;
float j;
scanf("%d %f", &i,&j);
printf("%d %f", i,j);
return 0;
}
c++中的输入输出cin cout
cin和cout需要调用库,在程序首部需要添加
#include
using namespace std;
cin和cout能够自动识别变量的数据类型,因此,在进行输入输出时,不需要指定数据类型
例如:
#include<iostream>
using namespace std;
int main()
{
int i;
float j;
double k;
char ch;
string str;
cin >> i >> j >> k >> ch >> str;
cout << i << " " << j << " " << k << endl;//endl为换行符
cout << ch << " " << str << endl;
return 0;
}
注意:
cout控制输出小数位数时,使用iomanip头文件下的setprecision(n)函数实现,
其中n为小数位数。
具体实现:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
float j;
cin >> j;
cout << fixed << setprecision(3) << j << endl;
return 0;
}
码字不易,留个赞吧~