C++ printf和scanf的用法

上次校新生赛由于cin和cout的问题超时了,于是乎想学学printf和scanf,省时第一!

首先,需要用到stdio.h库(当然你用万能库我也不能说什么)

一、printf用法

【函数原型】

int printf(const char *format[,argument]);

【函数参数】
format:由格式说明和普通字符构成。格式说明定义argument的显示格式,以“%”开头,后接格式字符。格式字符前还可以有其他修饰符,表述输出的宽度、精度等。

format样式如下:

%[flags][width][.precision][length]格式字符

1.格式字符

格式字符 说明 示例
d或i 带符号十进制整数 521,2019
o 无符号八进制数 316,777
x 无符号十六进制数 8cf,32a7
u 无符号十进制整数 123,1
f 小数形式单、双精度浮点数 102.6,13.14
e或E 指数形式的单、双精度浮点数 1.026e+2
g或G 以%f或%e形式输出浮点数 102.6
c 单个字符 ‘y’,‘z’
s 字符串 “Love”
p 输出一个指针 0012FF7C

 

2.flags:对齐方式

flags 说明
- 在给定的域内靠左输出
+ 强制在正数前输出+,负数前输出-
# 使用o、x、X时,分别在数据前加前导符0、0x、0X输出

 

3.width:宽度

width 说明
m 输出字段宽度,若数据宽度小于m,则左端补上空格;否则按实际位数输出

 

4.precision:精度

precision 说明
a 对于浮点数,表示输出a位小数;对于字符串,表示输出字符串个数

 

5.length(不常用所以不做介绍了quq)

Sample Code:

#include 
using namespace std;

int main()
{
	printf("%d\n",123);
	printf("%f\n",13.14);
	printf("%c\n",'X');
	printf("%s\n","Hello, world!");
	printf("%.3f\n",3.1415926);
	printf("%+d\n",521);
	return 0}

Sample Output:
C++ printf和scanf的用法_第1张图片

二、scanf用法

【函数原型】

int scanf(const char *format[,argument]);

【函数参数】
format:由格式说明、空白字符与非空白字符构成。格式说明指示了argument的输入格式,以“%”开头,后接格式字符。格式字符前还可以有其他修饰符。

format样式如下:

%[*][width][modifiers]格式字符

argument表示参数的地址!要加“&”!

1.格式字符

格式字符 说明
d或i 带符号十进制整数
o 无符号八进制数
x或X 无符号十六进制数
u 无符号十进制整数
f、e、E、g、G 浮点数
c 单个字符
s 字符串

 

2.修饰符说明

修饰符 说明
* 跳过读入数据,不存入对应的argument中
width 指定输入数据所占用的宽度
modifiers 指定由d、i、x、X、o、u、e、f、g说明的字符的大小

 

Sample Code:

#include 
using namespace std;

int main()
{
	int a,b,c;
	char x;
	scanf("%d",&a);
	scanf("%d%d",&b,&c);
	scanf("%c",&x);
	return 0;
}

 
Over~
THX for ur reading!

你可能感兴趣的:(C++,基础以及模板题)