13、格式输入\输出函数

目录

一、格式输入函数

二、格式输出函数


一、格式输入函数

格式输入函数scanf。该函数的功能是指定固定的格式,并且按照指定的格式接收用户在键盘上输入的数据,最后将数据存储在指定的变量中。

scanf函数中常用的格式字符有:

scanf函数的一般格式如下:

通过scanf函数的一般格式可以看出,参数位置中的格式控制与printf函数相同。如“%d”表示十进制的整型,“%c”表示单字符。地址列表中用于给出接收数据变量的地址。例如,得到一个整型数据的代码如下:

在上面的代码中,“&”符号表示取iInt变量的地址。用户不用关心变量的地址具体是多

少,只要在变量的标识符前加“&”,就可以表示存取变量的地址。

注意:编写程序时,在scanf函数参数的地址列表处,一定要使用变量的地址,而不是变量的标识符,否则编译器会提示出现错误。

例1:利用scanf函数得到用户输入的两个整型数据,因为scanf函数只能用于输入操作,所以若在屏幕上显示信息,还需要使用显示函数

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int i1, i2;  //定义两个整型变量
	puts("请输入两个数字:");  //通过puts函数输出提示信息的字符串
	scanf("%d%d", &i1, &i2);  //通过scanf函数得到输入数据
	printf("第一个数是:%d\n", i1);  //输出第一个数字
	printf("第二个数是:%d\n", i2);  //输出第二个数字
	return 0;  //结束,无用时可省略
}

运行结果:

注意直接使用scanf函数会报错,有两种解决方法,第种(不推荐),将scanf改为scanf_s函数;第(推荐)在代码的最前面定义#define _CRT_SECURE_NO_WARNINGS即可

另外,在格式说明中,在“%”符号和上述格式字符间可以插入的附加符号有:

例2:依次使用scanf函数的附加格式进行格式输入,对比输入前后的结果,观察附加格式的效果

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	long i;  //定义长整型变量
	short ii;  //定义短整型变量
	int i1,i2;  //定义整型变量
	char c[10];  //定义字符数组变量

	printf("输入长整型变量:\n");  //输出提示信息
	scanf("%ld", &i);  //输入长整型变量

	printf("输入短整型变量:\n");  //输出提示信息
	scanf("%hd", &ii);  //输入短整型变量

	printf("请输入两个数字:\n");  //输出提示信息
	scanf("%d%d", &i1, &i2);  //输入整型数据

	printf("输入字符串:\n");  //输出提示信息
	scanf("%3s", c);  //输入字符串

	printf("长整型值为:%ld\n", i);  //输出长整型值
	printf("短整型值为:%ld\n", i);  //输出短整型值
	printf("第一个数是:%d\n", i1);  //输出第一个数字
	printf("第二个数是:%d\n", i2);  //输出第二个数字
	printf("字符串为:%s\n", c);  //输出字符串的前三个字符
	return 0;  //结束,无用时可省略
}

运行结果:

二、格式输出函数

printf函数就是用于格式输出的函数,也称为格式输出函数。有关printf函数的格式字符有:

printf函数的作用是向终端(输出设备)输出若干任意类型的数据,其语法格式如下:

1. 格式控制

格式控制是用双引号括起来的字符串,也称为转换控制字符串。其中包括格式字符和普通字符。

  • 格式字符用来进行格式说明,作用是将输出的数据转换为指定的格式。格式字符通常以“%”字符开头。
  • 普通字符是需要原样输出的字符,包括双引号内的逗号、空格和换行符。

2. 输出列表

输出列表列出的是要进行输出的一些数据,可以是变量或表达式。

例如,要输出一个整型变量时,代码如下:

执行上面的语句,显示出来的字符是“this is 10”。格式控制双引号中的字符是“this is%d”,其中的“this is”字符串是普通字符,而“%d”是格式字符,表示输出的是后面的iInt数据。

由于printf是函数,“格式控制”和“输出列表”这两个位置都是函数的参数,因此printf函数的一般形式可以表示为:

例3:使用格式输出函数printf输出不同类型的变量

#include<stdio.h>
int main()
{
	int i = 1;  //定义整型变量
	char c = 'A';  //定义字符型变量
	float f = 12.34f;  //定义单精度浮点型
	
	printf("整数是:%d\n", i);  //输出结果
	printf("字符是:%c\n", c);
	printf("浮点数是:%f\n", f);
	printf("字符串是:%s\n", "I LOVE YOU!");
	return 0;  //结束
}

运行结果:

另外,在格式说明中,在“%”符号和上述格式字符间可以插入的附加符号有:

注意:在使用printf函数时,除X、E、G外,其他格式字符必须使用小写字母,如“%d”不能写成“%D”。 如果想输出“%”符号,则在格式控制处使用“%%”进行输出即可。

例4:使用printf函数的附加格式说明字符,对输出的数据进行更为精准的格式设计

#include<stdio.h>
int main()
{
	long i = 100000;  //定义长整型变量并赋值
	printf("该长整型变量是:%d\n", i);  //输出长整型变量
	
	printf("字符串是:%s\n", "LOVE");  //输出字符串
	printf("字符串是:%10s\n", "LOVE");  //使用m控制输出列
	printf("字符串是:%-10s\n", "LOVE");  //使用-表示向左靠拢
	printf("字符串是:%10.3s\n", "LOVE");  //使用n表示取字符数
	printf("字符串是:%-10.3s\n", "LOVE");  
	return 0;  //结束
}

运行结果:

猜你喜欢

转载自blog.csdn.net/qq_25990967/article/details/128793496