今天来分享一下我最近看的I/O函数。I/O是input和output的缩写,是输入输出的表达式,今天先为大家介绍一下输入函数:
1.scanf()函数
scanf()函数,也被称为格式化输入函数,用于接收用户从键盘输入的数据,可以说,这是程序与用户之间的桥梁,其调用格式为:
scanf(“格式化输入控制字符”,输入项1,输入项2,输入项3,…);
其中:
格式化输入控制字符的主要作用是指定用户输入数据的格式,以及接收数据的类型(这个用“%”+格式字符决定)
输入项则是要求是地址,“&”+变量名(也可以用指向该变量的指针来代替)
这里给出部分scanf()函数的格式控制符
格式字符 | 说明 |
---|---|
c | 字符型数据 |
d | 输入带符号的十进制整形数 |
ld | 输入带符号的长整型数据 |
i | 输入整型数(十进制、八进制“以0(零)开头、十六进制(以0x或者0X开头)数都可以) |
o | 以八进制格式输入整型数 |
x | 以十进制格式输入整型数 |
u | 以无符号十进制形式输入整型数 |
f(e) | 以带小数点的实数形式或指数形式输入float型数 |
lf(le) | 以带小数点的实数形式或指数形式输入double型数 |
s | 输入一个字符串,以‘\0’为结束标志 |
对于scanf()函数的其他基本用法,可以去c语言网学习,这里仅介绍我学到的一个新的用法——“%*”
”%*“+格式控制符可以用于跳过输入相应的输入数据,看下面的例子:
#include<stdio.h>
int main()
{
int i;
char m,n;
scanf("%c%*c%d%c",&m,&i,&n);
printf("%c %d %c\n",m,i,n);
return 0;
}
在输入a 1c之后,‘a’和1之间的‘ ’由于%*c的存在而无效,结果如下:
2.getchar()——从键盘上读取一个字符,然后赋给变量
#include<stdio.h>
int main()
{
char c1,c2;
c1=getchar();
c2=getchar();
printf("%c\n%c\n",c1,c2);
return 0;
}
下面是效果图
3.gets()——从键盘上读取一串字符,然后保存在括号里的变量
#include<stdio.h>
int main()
{
char c1[20];
gets(c1);
printf("%s\n",c1);
return 0;
}
值得注意的是getchar()函数的括号中不需要任何参数,而gets()函数中的括号需要一个参数用来保存用户输入的数据。
了解了理论知识后,希望大家通过编程练习来加深记忆