• 输入与输出(初学者)


    1、数据输入与输出

    (1)所谓输入与输出是以计算机为主题而言的。

    (2)本博客介绍的是向标准输出设备显示器输出数据的语句。

    (3)在C语言中,所有数据输入输出都是由库函数完成,因此都是函数语句。

    (4)在使用C语言库函数时,要用预编译命令#include将有关“头文件”包括到源文件中。使用标准输入输出库函数时要用到"stdio.h"文件,因此源文件开头应有以下预编译命令:

    #include<stdio.h>或#include"stdio.h"

    stdio是standand input&output的意思。

    (5)考虑到printf和scanf函数使用频繁,系统允许在使用这两个函数时可不加#include<stdio.h>

    2、字符数据的输入输出

    (1)putchar函数(字符输出函数):putchar函数是字符输出函数,其功能是在显示器上输出单个字符。其一般形式为:putchar(字符变量)

    例如:putchar('A');     //输出大写字母A

               putchar(x);       //输出字符变量x的值

               putchar('101')  //也是输出字符A,注:101为八进制

               putchar(' ')      //换行

    注:(1)对控制字符则执行控制功能,不在屏幕上显示。

    (2)使用本函数前必须要用文件包含命令:#include<stdio.h>

    例:

    #include <stdio.h>
    
    void main()
    {
        char a='B',b='o',c='k';
        putchar(a);putchar(b);putchar(b);putchar(c);putchar('	');putchar(a);putchar(b);
        putchar('
    ');
        putchar(b);putchar(c);
    }

    (2)getchar函数(键盘输入函数):getchar函数的功能是从键盘上输入一个字符。其一般形式为:getchar();通常把输入的字符赋予一个字符变量,构成赋值语句,如:cahr C;C=getchar();

    例:

    #include <stdio.h>
    
    void main()
    {
        char C;
        printf("input a character
    ");
        C=getchar();
        putchar(C);
        putchar('
    ');
    }

    3、格式输入与输出:printf函数(格式输出函数):printf函数称为格式输出函数,其最末一个字母f即为”格式“(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器的屏幕上。

    (1)print函数调用的一般形式:printf函数是一个标准库函数,它的函数原型在头文件”stdio.h"中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。

    printf函数调用的一般形式为:printf(“格式控制字符串”,输出列表)其中格式控制字符串用于指定输出格式。格式控制字符串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数、位数等。常见的有:

    %d:十进制整数
    %x十六进制整数
    %o八进制整数
    %u无符号十进制整数
    %c一个字符
    %s字符串
    %e浮点数(指数形式,有称科学记数法)
    %f浮点数(小数形式),有六位小数部分
    %ld十进制长整型数
    %lf双精度浮点数(小数形式),取到小数点后20位
    %%百分号本身
    非格式字符串在输出时原样打印,在显示中其提示作用。
    输出列表中输出了各个输出项,要求格式字符串和个输出项在数量和类型上一一对应。
    例:
    #include <stdio.h>
    
    void main()
    {
        int a=88,b=89;
        printf("%d%d
    ",a,b);
        printf("%d%d
    ",a,b);
        printf("%c,%c
    ",a,b);
        printf("a=%d,b=%d",a,b);
    }

    (2)标志: 标志字符为-+#、空格四种,其意义下表所示:

    标志 意义
    -  结果左对齐,右边填空格
    +  输出符号(正号或负号)
    空格 输出值为正时冠以空格,为负时冠以负号
    # 对c,s,d,u类无影响;对o类, 在输出时加前缀。对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点 

    (3)输出最小宽度:用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出, 若实际位数少于定义的宽度则补以空格或0·

    (4)精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符, 则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

    (5)长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。

    例:

    #include <stdio.h>
    
    void main()
    {
        int a=15;
        float b=123.1234567;
        double c=12345678.1234567;
        char d='p';
        printf("a=%d,%5d,%o,%x
    ",a,a,a,a);
        printf("b=%f,%lf,%5.4lf%e
    ",b,b,b,b);
        printf("c=%lf,%f,%8.4f
    ",c,c,c);
        printf("d=%c,%8c
    ",d,d);
    }

    注:输出列表中的求值顺序,不同编译器不一定相同,可以从左到右,也可以从右到左。

    区分:单个printf语句和多个printf语句输出结果是不同的。

    #include <stdio.h>
    
    void main()
    {
        int i=8;
        printf("%d
    %d
    %d
    %d
    %d
    %d
    ",++i,--i,i++,i--,-i++,-i--);
    }
    #include <stdio.h>
    
    void main()
    {
        int i=8;
        printf("%d
    ",++i);
        printf("%d
    ",--i);
        printf("%d
    ",i++);
        printf("%d
    ",i--);
        printf("%d
    ",-i++);
        printf("%d
    ",-i--);
    }
  • 相关阅读:
    CentOS7安装node环境
    【异常】update更新java.sql.SQLException: Duplicate entry '2019-07-30 00:00:00-110100' for key
    MySQL查询多行重复数据SQL
    Phoenix批量提交优化,官网的demo
    (转) 读懂IL
    Docker
    Docker
    Rest之路
    (转)Docker
    Docker
  • 原文地址:https://www.cnblogs.com/lvfengkun/p/10171743.html
Copyright © 2020-2023  润新知