第二天-输入(scanf)输出(printf)函数

  • 计算机生成了可选文字:m : 域 宽 · 限 制 输 出 的 最 小 数 如 果 大 于 按 实 际 %d : 带 符 的 十 进 制 数 - 设 为 左 n : 保 留 小 数 点 %c: 单 个 字 符 对 齐 输 岀 位 数 , 不 与 默 认 %f: 小 数 形 式 的 浮 点 数 默 认 右 对 齐 6 位 小 数 %e(%E) : 指 数 形 式 的 浮 点 数 , e ( E ) 一 记 数 法 %u 无 符 号 是 我 十 进 制 数 %o: 八 进 数 l/h 格 式 客 符 printf(•• O m.n % × ( % x ) : 十 六 进 制 数 %g(%G) : 根 据 数 值 不 同 自 动 选 择 % f 或 % e 不 显 空 空 l/h 长 度 修 正 : 适 % 格 式 说 明 示 无 效 0 应 不 同 长 度 的 数 据 的 起 姶 符 % p : 指 针 . 输 岀 ng 型 数 % s 符 串 h : 输 岀 short 型 数 % % : 输 岀 百 分 夲 身 m 域 宽 ( 对 输 入 的 数 % 格 式 说 明 多 少 的 起 始 符 号 位 ) %d : 带 符 的 十 进 制 数 %c: 单 个 字 符 %f: 小 数 形 式 的 点 数 m l/h 格 式 字 符 scanf(•• %e: 指 数 形 式 的 浮 点 数 %o: 八 进 制 数 % × : 十 六 进 制 数 % s : 字 符 串 值 抑 制 符 I / h 长 度 正 虛 读 不 把 ng 类 型 值 传 给 变 h:short 类 型

     

     

    printf函数

     

             

    printf是C语言的标准的输出的库函数

     

             使用printf的时候,尽量包含一个头文件 "stdio.h"(如果不包含,则会出现警告)

     

    printf的使用格式:

        printf("格式控制字符串",变量列表);

     

    格式控制符

     

    计算机生成了可选文字:转 义 字 符 意 义 ASCI 丨 码 值 ( 十 进 制 ) 响 铃 (BEL) ia 007 退 格 (BS) , 将 当 前 位 置 移 到 前 一 列 008 换 页 ( FF ) , 将 当 前 位 置 移 到 下 页 开 头 012 换 行 (LF) , 将 当 前 位 置 移 到 下 一 行 开 头 № № 010 回 车 (CR) , 将 当 前 位 置 移 到 本 行 开 头 013 水 平 制 表 ( HT ) ( 跳 到 下 一 个 TAB 位 置 ) 009 垂 直 制 表 ( 耵 ) 011 代 表 一 个 反 斜 线 字 符 、 092 代 表 一 个 单 引 号 ( 撇 号 ) 字 符 039 代 表 一 个 双 引 号 字 符 034 空 字 符 (NULL) 000 1 到 3 位 八 进 制 数 所 代 表 的 任 意 字 符 三 位 八 进 制 iddd 1 到 2 位 十 六 进 制 所 代 表 的 任 意 字 符 二 位 十 六 进 制 ixhh : 区 分 , 扛 : 7 ' 占 反 肛 、 . , 此 处 不 可 互

     

    1. int main(int argc, const char * argv[]) {

        

    1.     char c, s[20];
    2.     int a=1234;
    3.     float f=3.141592653589;
    4.    double x=0.12345678912345678;
    5.     strcpy(s, "Hello,World");
    6.     c='\x41';
    7.     printf("a=%d\n", a);//按照十进制整数格式输出,显示 a=1234
    8.     printf("a=%d%%\n", a);//输出%号 结果 a=1234%
    9.     printf("a=%6d\n", a);//输出6位十进制整数 左边补空格,显示 a= 1234
    10.     printf("a=%06d\n", a);//输出6位十进制整数 左边补0,显示 a=001234
    11.     printf("a=%2d\n", a);//a超过2位,按实际输出 a=1234
    12.     printf("a=%-6d\n", a);///输出6位十进制整数 右边补空格,显示 a=1234
    13.     printf("f=%f\n", f);//浮点数有效数字是7位,结果 f=3.141593
    14.     printf("f=%6.4f\n", f);//输出6列,小数点后4位,结果 f=3.1416
    15.     printf("x=%lf\n", x);//输出长浮点数 x=0.123457
    16.     printf("x=%18.16lf\n", x);//输出18列,小数点后16位,x=0.1234567891234567
    17.     printf("c=%c\n", c);     //输出字符 c=A
    18.     printf("c=%x\n", c);//以十六进制输出字符的ASCII码 c=41
    19.     printf("s[]=%s\n", s);//输出数组字符串s[]=Hello,World
    20.     printf("s[]=%6.9s\n", s);//输出最多9个字符的字符 s[]=Hello,Wor
    21.     return 0;
    22. }

     

    结果:

    a=1234

    a=1234%

    a=  1234

    a=001234

    a=1234

    a=1234  

    f=3.141593

    f=3.1416

    x=0.123457

    x=0.1234567891234568

    c=A

    c=41

    s[]=Hello,World

    s[]=Hello,Wor

    Program ended with exit code: 0

     

    %f精度问题

     

    float 

    有效数字是7位

    默认输出6位小数

    有效小数6

     

    double

    有效数字是15位(也有说16位的,验证的是16)

    默认输出6位小数

    有效小数最多(有效数字 - 1,由数的具体位数定,需制定.)

     

     

     

    scanf函数 

     

        如果使用这个函数,要包含一个头文件 stdio.h

     

              阻塞式的函数:函数执行后,会等待用户的输入,如果用户不输入任何内容,它会一直等待

     

    scanf函数的作用:

     

        从键盘接收用户输入的内容,保存到指定的变量中

     

    scanf函数的格式:

         

        scanf("格式控制符",输入项的地址列表);

     

     

    scanf运行的原理 

           1)

           当用户输入内容后,用户输入的内容会被存放到scanf的输入缓冲区中然后,scanf函数会根据格式控制的字符的要求,从输入缓冲区依次取它想要的内容 

           如果从缓冲区中取得内容和和我们的格式要求一致,则把值存放到变量中

                        %d %c %d 

           如果格式不一致,则不修改变量的值

     

           2)如果scanf缓冲区中还有内容,则scanf不会提示我们再次输入

     

    注意:

            不允许写%m.nf,但是%mf是可以的

     

              关于scanf中,尽量不要使用 \n

       如果一不小心使用了,怎么破

        // 1) 输入值后,随便输入一个内容

        // 2) \n要原样输入

     

     

     

     

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值