为了账号安全,请及时绑定邮箱和手机立即绑定

4--输出函数和输入函数

标签:
Java

本节要掌握的内容:

                                                                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 ( )支持的输出格式如下:

webp

webp

                    示例一: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”  是保留两位小数。 效果如下:

webp

                   示例四:还可以直接输出汉字和其他字符, 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 ( )能读到若干个数据,且为任意类型。下图是输入格式:

webp

                    示例: 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


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消