首页 > 代码库 > C语言第3天标准的输入输出函数

C语言第3天标准的输入输出函数

 

 

【1】putchar

    格式: putchar( c )

    参数: c常量、变量或表达式

    功能:把字符c输出到标准输出上

    返值:正常,为显示的代码值;

【2】getchar

    格式:getchar( void )

    功能:从标准输入上读一字符

    返值:正常,返回读取的代码值;出错,返回EOF(-1)

   

    1--- 从终端获取一个字符

    2--- 吃掉一个垃圾字符

声明:什么时候用来吃掉回车那?

 

 

一般是在这个时候前面是什么无所谓,关键是你在下一个scanf前面按了回车键而你的这个scanf又是接收字符串的。那就废了。原因分析如下,当你按下回车键的时候后面又是接收字符串的scanf或者是

getchar他们由于要读取缓冲区里面的内容就会把这个回车都取到,而回车有恰恰是结束都取,所以就会直接结束!而如果你的后面的scanf不是读取字符比如你读取的是%d,那就不存在问题。

 

为什么不存在问题?那是因为整形输入会忽略之前的空格、回车,并且以之后的空格、回车作为输入整形结束的标志。

1.如果是这种情况就不需要。

int a;

int b;

scanf("%d", &a);
scanf("%d", &c);


 

2.如果是下面的这种情况,就需要getchar()了
int a;
char c;
scanf("%d", &a);
scanf(%c", &c);
而输入是:1001 敲回车 @ 敲回车
先输入整形,然后输入字符,如果在第一个scanf之后,没有getchar的话,那么c接收的到是回车字符,而不是字符‘@‘

scanf("%d", &a);
getchar();
scanf(%c", &c)

 

【3】printf

    格式:printf(“格式控制串”,输出表)

    功能:按指定格式向显示器输出数据

    返值:正常,返回输出字节数;出错,返回EOF(-1)

  1--- 数据类型的控制

        %d  %o   %x   %u

        %f

        %c

        %p    打印数据在内存中的地址(使用取地址符:&)

    3---字符串

        %s    要求传递一个地址量(字符串常量当作地址量处理)

            遇到‘\0‘结束输出;

        .n    对字符串,指定实际输出位数

    2--- 格式控制

        m    输出数据域宽,数据长度<m,左补空格

        .n    对实数,指定小数点后位数(四舍五入)

        -    输出数据在域内左对齐(缺省右对齐)

        +    指定在有符号数的正数前显示正号(+)

        0    输出数值时指定左面不使用的空位置自动填0

        #    在八进制和十六进制数前显示前导0,0x

【4】scanf

1--- 数据类型的控制

        %d  %o   %x   %u

        %f

        %c

        %p    //打印数据存储的地址

    2--- 格式间隔符为:空格、换行符、无间隔可通用

    3--- 字符串

        char a[10] = {‘a‘,‘b‘,‘c‘,‘d‘,‘\0‘};       

        scanf("%s",a);

        printf("%s\n",a);

   

        //数组名是数组的首元素的地址

        //%[^\n]

【5】puts

        int puts(char * s);

    1--- char *     //要求你传递一个地址量,char型数据的地址量

    2--- 默认带换行    ,遇‘\0’字符结束输出;

    4--- 返回值:返回输出字节数

 

1--- 数据类型的控制

        %d  %o   %x   %u

        %f

        %c

        %p    //打印数据存储的地址

    2--- 格式间隔符为:空格、换行符、无间隔可通用

    3--- 字符串

        char a[10] = {‘a‘,‘b‘,‘c‘,‘d‘,‘\0‘};       

        scanf("%s",a);

        printf("%s\n",a);

   

        //数组名是数组的首元素的地址

        //%[^\n]

【5】puts

        int puts(char * s);

    1--- char *     //要求你传递一个地址量,char型数据的地址量

    2--- 默认带换行    ,遇‘\0’字符结束输出;

    4--- 返回值:返回输出字节数

    格式: scanf(“格式控制串”,地址表)

    功能:按指定格式从键盘读入数据,存入地址表指定存储单元中,并按回车键结束

    返值:正常,返回从标准输入成功获取数据的个数

   【6】gets

        char * gets(char *)

       

    1--- 功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动在末尾加‘\0’

    2--- 遇‘\n‘代表结束输入

    3--- 返回值:存放字符串的首地址

【7】sqrt

    函数:sqrt() 开方数学函数

    头文件:#include <math.h>

    链接库操作:gcc 1.c -lm

【8】if

    if (表达式)

        {语句块1}                                    

    else

        {语句块2}

C语言第3天标准的输入输出函数