美文网首页C语言程序员
4--输出函数和输入函数

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

作者: _刘二哥 | 来源:发表于2019-01-22 16:42 被阅读7次

    本节要掌握的内容:

                                                                    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,则多余的符号也会被存到字符数组中,这样就会造成内存的访问越界,结果是不可预料的。

    相关文章

      网友评论

        本文标题:4--输出函数和输入函数

        本文链接:https://www.haomeiwen.com/subject/yrvljqtx.html