C语言函数库中有一批“标准输入输出函数”,它是以标准的输入输出设备(一般为 终端设备)为输入输出对象的。其中有: putchar(
输出字符)、
getchar
(输入字符)、
printf (格式输出)scanf(
格式输入)、
puts(
输出字符串)、
gets( 输入字符串)。
可以将它们分为三大类:单个字符输入输出 、格式化的输入输出 、字符串的输入输出 (*) 。
一、单个字符输入输出
1、
putchar 函数
(字符输出函数)的作用是向终端输出一个字符。其一般形式为 putchar(c)
它输出字符变量c
的值,c
可以是字符型变量或整型变量。
例如:输出单个字符。
#
include
<stdio.
h>
void main()
{
char
a,
b, c;
a='B
b='O';c='Y';
putchar(a)
;putchar(b)
;putchar(c); putchar
('\n');
}
运行结果:
BOY
用putchar
函数可以输出能在屏幕上显示的字符,也可以输出控制字符,如 putchar('\ n')
的作用是输出一个换行符,使输出的当前位置移到下一行的开头。
也可以输出其他转义字符,例如
putchar('\101') (输出字符 'A')
putchar(1\ 11) (输出单撇号字符/II)
putchar('\ 0151) (输出回车,不换行,使输出的当前位置移到本行开头
)
2、
getchar 函数
(字符输入函数)的作用是从终端(或系统隐含指定的输入设备)输入一
个字符。 getchar 函数没有参数,其一般形式为 getcha r () 。
函数的值就是从输人设备得到的字符
。
例如:# include <stdio. h>
void main()
{
char c;
c= getcharO;
putchar(c) ;
putchar('\n');
}
在运行时,如果从键盘输入字符 'a' 并按 Enter 键,就会在屏幕上看到输出的字符' a'。
注意 :
getchar 函数只能接收一个字符。 getchar 函数得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量,作为表达式的一部分。
二、格式化的输入输出
1.
printf 函数
printf
的一般格式为
printf(
格式控制,输出表列)
(1)格式控制:
printf("b= %d\n",10);
普通字符:
原样输出
占位符:
占了一个位置,最终输出效果,将输出列表中对应的参数,以占位符指定的格式输出
占位符与输出列表的匹配 :从左到右逐个对应的
如果占位符个数大于输出列表参数个数,多的输出是随机值
printf("b= %d\n",10);
普通字符:
原样输出
占位符:
占了一个位置,最终输出效果,将输出列表中对应的参数,以占位符指定的格式输出
占位符与输出列表的匹配 :从左到右逐个对应的
如果占位符个数大于输出列表参数个数,多的输出是随机值
(2)输出表列:
是需要输出的一些数据,可以是表达式。
printf格式字符
2、scanf函数
scanf(
格式控制,地址表列)
“格式控制”的含义同
printf
函数;“地址表列”是由若干个地址组成的表列,可以是变
量的地址,或字符串的首地址。
格式控制:
普通字符:
原样输入 //不建议写
占位符:
占了一个位置,将输入的数据,转换位占位符指定的格式,放到地址列表对应的一块内存空上
占位符也决定能识别的字符的范围
普通字符:
原样输入 //不建议写
占位符:
占了一个位置,将输入的数据,转换位占位符指定的格式,放到地址列表对应的一块内存空上
占位符也决定能识别的字符的范围
scanf格式字符
注意:
1.第二个参数注意一定要写 & (取地址)
Segmentation fault (core dumped) //程序试图访问不能被访问的空间
2.多个数据输入时
以空白符作为分割符
空白符
空格
回车
tab
3.浮点型数据输入时
double -- %lf
类型要匹配
int - %d
long - %ld
long long - %lld
4.辅助控制符
m 宽度 -- 输入的宽度
达到宽度时,输入匹配结束
只能获取到前m个数据
5.scanf匹配结束的条件
123 456 789
scanf("%d%d%d",&a,&b,&c);
a.空白符
b.指定宽度
123456
scanf("%3d",&a); //123
c.非法字符
123a45
scanf("%d",&a);
6. %c 字符占位符
几乎可以识别键盘输入的任何字符
scanf("%c %c %c",&c1,&c2,&c3);
1.第二个参数注意一定要写 & (取地址)
Segmentation fault (core dumped) //程序试图访问不能被访问的空间
2.多个数据输入时
以空白符作为分割符
空白符
空格
回车
tab
3.浮点型数据输入时
double -- %lf
类型要匹配
int - %d
long - %ld
long long - %lld
4.辅助控制符
m 宽度 -- 输入的宽度
达到宽度时,输入匹配结束
只能获取到前m个数据
5.scanf匹配结束的条件
123 456 789
scanf("%d%d%d",&a,&b,&c);
a.空白符
b.指定宽度
123456
scanf("%3d",&a); //123
c.非法字符
123a45
scanf("%d",&a);
6. %c 字符占位符
几乎可以识别键盘输入的任何字符
scanf("%c %c %c",&c1,&c2,&c3);