pute day4 输入输出

本文详细介绍了C语言中stdio库的输入输出函数,包括putchar/getchar的基本用法,以及printf和scanf的格式控制字符串及其在处理整型、浮点型和字符型数据时的使用。特别提到了输入缓冲区的概念以及scanf的匹配规则。
摘要由CSDN通过智能技术生成

输入输出 

输入 ---> 计算机 --->输出 
        [ 内存 ]
        
c的输入输出 语句 ,并不是c语言本身的一部分
c的函数库 
提供了一系列的 输入输出 操作的函数

#include <stdio.h> //std io (standard input output)

用输入输出的功能 
就是学习这些函数。

单个字符的输入输出 


putchar  //输出 
getchar  //输入 

格式化的输入输出 


printf 
scanf 


字符串输入输出 


puts 
gets 

getchar() //

int getchar(void); //函数原型
功能: 
   字符输入函数 

参数:
   void --空 不需要实参 
  
返回值:
   返回 读到的字符 
   
   输入 -------->[CPU]--------->输出 
                 |  |
                [内存]
                
putchar(); 

int putchar(int c); //函数原型
功能:
    输出一个字符 
参数:
  @c 表示要输出的字符(对应的ASCII码值)
返回值:
   输出了的 字符 对应的ascii码值
   
  


格式化输入输出 

printf();
功能: 格式化的输出 

函数原型:


printf("格式控制字符串",输出列表)

printf("a = %d\n",a);


格式控制字符串:


  (1)普通字符  //原样输出 
  (2)占位符    //占位符 会被 后面的"输出列表"中的值替换 
              //占位符 与 输出列表 的对应关系 
              //一个占位符匹配 输出列表中的一个值 
              //依次匹配
              //占位符 如果没有 匹配的参数 
              //此时 对应随机值 

  整型数据:

   %d      --- 转换为 有符号十进制形式 
   %o      --- 转换为 八进制形式
   %x      --- 转换为 十六进制形式
               x可以是大写,大写 表示 输出的十六进制中的字母 统统都是大写
   %u      --- 转换为 无符号十进制形式 
   

  浮点型:

   %f      --- 以十进制形式的小数输出,默认保留6位小数
   %e      --- 以科学计数法形式的输出小数
   %g      --- 以一种更简洁的方式输出,输出中不会打印无用0 

     
  字符型:


   %c      --- 转换为 字符形式 输出 
   %s      --- 转换为 字符串形式 输出 //数组的时候 再说 

 
  %[辅助控制符]d
  
  辅助控制符:


  -m.n 
  
  m  //数字 ---表示指定的输出宽度  
     // 如果 实际数值宽度 < m ,此时 输出效果 默认右对齐 
     // 如果想左对齐 ,则m前面加上 一个 负号 (-)
     // -m 
     //如果 实际数值宽度 >= m ,此时 输出实际的数值宽度  
     //如果右对齐时,此时 m前面可以写0,表示空出来的位置用0填充 
     
  
  #  // %#o  ---八进制输出时,前面加上0
     // %#x  ---十六进制输出时,前面加上0x 如果x是大写,则0x也是大写 0X 
  
  
  .n //浮点数 --表示保留n位小数 
     //字符串 --表示保留前n个字符     

  l   long 
  ll  long long int 
  h   相当于short 两个字节  h表示half 一半
  hh  相当于char  一个字节 
  
  %Lf //表示打印 long double  
     

scanf(); 


功能: 格式化输入 


scanf("格式控制字符串",地址列表)


格式控制字符串: //类似printf 


  普通字符  //原样输入  --scanf中一般不写不同字符 只写占位符 
  占位符    //将输入的数字等转换为指定的格式
  
  输入时 占位符 与 数据类型要做到严格匹配 


 整型数据:


   %d      --- 转换为 有符号十进制形式 
   %o      --- 转换为 八进制形式
   %x      --- 转换为 十六进制形式
               x可以是大写,大写 表示 输出的十六进制中的字母 统统都是大写
   %u      --- 转换为 无符号十进制形式 


   
  浮点型:


   %f      --- 以十进制形式的小数输出,默认保留6位小数
   %e      --- 以科学计数法形式的输出小数
   %g      --- 以一种更简洁的方式输出,输出中不会打印无用0 
   
   


  字符型:


   %c      --- 转换为 字符形式 输出 
   %s      --- 转换为 字符串形式 输出 //数组的时候 再说 


地址列表:


    &a  //& 取地址运算符 
  


注意:


   1. 空白符  (空格,回车,tab键)
   2. scanf("%d\n"); //注意最后\n 是空白符 --作用表示匹配任意多个空白符 
   3. scanf匹配数据结束的情况
      a.遇到非法字符 匹配结束 
      b.超出了指定宽度 
      


      输入缓冲区 
   

    scanf("%d,%d,%d",&a,&b,&c);
   
   123,456,789\n  ---> |123,456,789\n|  输入缓冲区 
   
   123a456
   
   

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值