本节要掌握的内容:
1、字符输出函数 putchar ()
2、 格式化输出函数 printf ()
3、字符输入函数 getchar()
4、 格式化输入 scanf ()
5、字符串输出函数 puts()
6、字符串输入函数 gets()
我们把输出函数、输入函数分开来看。
本节讲的函数使用时需要导入<stdio.h>库文件。
输出函数
1、putchar ()
函数原型:int putchar ( int c)。
功能:在标准输出上显示一个字符。
返回值:输出的字符。
示例:int i = 65;
char c='A';
putchar (a);
putchar (b);
程序两个 putchar ()输出都是“A”,65是“A”的ASCII码。putchar ( )是输出字符。
2、指定输出 printf ()
printf ( ) 能输出若干个数据,且为任意类型。
函数原型:int printf (const char *format,输出的参数)。
函数参数:format指定输出格式,“ ,”后面为不定参,是要输出的内容。
函数返回值:成功返回输出的字节数,失败返回-1(EOF)。
函数功能:格式化字符串输出。
printf ( )支持的输出格式如下:
示例一:int a =10 ; char b ='a' ; float c =3.14159 ; char d [ ] ="abcdef!" ;
printf ( "%d", a); 输出 int型 a 的值。
printf ( "%c", b); 输出 char 型 b 的值。
示例二: 还可以多种数据类型一起输出: printf ( "%c,%d,%f,%s", b ,a ,c,d ); 输出结果是:a, 10,3.141590,abcdef 。
示例三:用 转义字符输出,有有特定效果, printf ( "%s\t %.2f\n", d ,c ); 这里 “\t” 是缩进,“\n” 是换行,“%.2f” 是保留两位小数。 效果如下:
示例四:还可以直接输出汉字和其他字符, printf ( "你好!Hi!"); 这里没有要输出参数。直接原样输出
printf ( ) 格式有很多我就讲着几种了,其他的可以自己尝试看效果,不明白转义字符的朋友可以去看之前 写的数据类型。
3、字符串输出puts ( )
函数原型:int puts(const char *s)。
功能:在标准输出上显示字符串。
参数:s为需要输出的字符串。
返回值:成功返回一个非0的数字;失败返回-1或EOF。
示例:char c [ ]="abcdefgh!";
puts ( c);
这里输出了字符串 c,输出结果:abcdefgh!
输入函数
1、读取一个字符getchar ( )
函数原型:int getchar(void)。
函数功能:读取键盘上的一个字符。
函数返回值:成功,返回读到的字符,失败或读到结束符返回EOF(-1)。
示例一:char c;
c=getchar ( ) ; 读取键盘输入的一个字符。
putchar( c) ; 输出验证
这里注意,getchar ( ) 返回值是 int类型,返回的是ASCII码。如果返回的字符太大超过了char范围会报错,char 范围(-128 ~ 127。ASCII码范围(0 ~ 255)。
示例二:返回ASCII码超出char范围,用无符号。
unsigned char c;
c=getchar ( ) ; 读取键盘输入的一个字符。
putchar( c) ; 输出验证
数据范围不明白的朋友,可以去看之前写的数据类型。
2、格式化输入scanf ( )
函数原型:int scanf (const char *format, …)
函数参数:format指定输入格式,后面跟要输入的变量的地址表,为不定参,用”…”代表。
函数返回值:成功返回输入的变量的个数,失败返回-1(EOF)。
函数功能:按指定格式从键盘读入数据,存入地址表指定存储单元中,并按回车键结束。
scanf ( )能读到若干个数据,且为任意类型。下图是输入格式:
示例: int a, b; char c; char char s [ ];
scanf("%d", &a);--十进制。
scanf("%x", &b);--十六进制。
scanf("%c", &c); --输入字符。
scanf("%s", &s);--输入字符串。
输入是注意要写”&“,这是个小问题,容易写漏。scanf 还可以连续输入几个字符,只要写多个占位符就行。
输入数据时,遇到以下情况认为该数据结束:
- 空格、TAB或回车
- 宽度结束
- 非法输入
3、字符串输入gets ( )
函数原型:char *gets(char *s)
功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加'\0'
参数:s为字符数组,存储输入的字符串
返回值:成功返回字符数组的起始地址,失败或输入结束返回NULL。
示例:char s[20];
gets( s);--输入字符串
puts( s);--输出验证
需要注意:输入字符时,这里只能输入19个字符(留一个位置存字符串的结束符\0)。假如输入字符超过了19,则多余的符号也会被存到字符数组中,这样就会造成内存的访问越界,结果是不可预料的。
作者:_刘二哥
链接:https://www.jianshu.com/p/e0ebee8eeaf2
共同学习,写下你的评论
评论加载中...
作者其他优质文章