day4-输入输出

一、了解输入输出 

输入 ---> 计算机 --->输出 
             [ 内存 ]  //缓冲区域  
c的输入输出语句并不是c语言本身的一部分,使用输入输出功能需要调用c的函数库 (#include <stdio.h> //std io (standard input output)提供了一系列的输入输出操作的函数,用输入输出的功能 
就是学习这些函数。

头文件:#include <stdio.h> //std io (standard input output)

//单个字符的输入输出 
putchar  //输出 
getchar  //输入 

//格式化的输入输出 
printf 
scanf 
//字符串输入输出 
puts 
gets 

二、getchar()和putchar()

1、getchar() //

int getchar(void); //函数原型

功能: 字符输入函数 

参数:void --空 不需要实参 

返回值:返回 读到的字符 
                
2、putchar(); 

int putchar(int c); //函数原型

功能:输出一个字符 

参数:表示要输出的字符(对应的ASCII码值)

返回值:输出了的 字符 对应的ascii码值

三\printf()和scanf()   //格式化输入输出 

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

函数原型:
printf("格式控制字符串",输出列表)

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

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

  整型数据:
   %d      --- 转换为 有符号十进制形式 


   %o      --- 转换为 八进制形式


   %x/%#x      --- 转换为 十六进制形式
               x可以是大写,大写 表示 输出的十六进制中的字母 统统都是大写

   eg:%x----7a   %#x---ox7a   %X---7A


   %u      --- 转换为 无符号十进制形式 
   
  浮点型:
   %f      --- 以十进制形式的小数输出,默认保留6位小数


   %e      --- 以科学计数法形式的输出小数


   %g      --- 以一种更简洁的方式输出,输出中不会打印无用0 
   
   
  字符型:
   %c      --- 转换为 字符形式 输出 


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

 
  %[辅助控制符]----
  
  辅助控制符:
  -m.n 
  
  m    //涉及宽度问题时,右对齐
 -m   //涉及宽度问题时,左对齐

 // 如果 实际数值宽度 < m ,此时 输出效果  
 //如果 实际数值宽度 >= m ,此时 输出实际的数值宽度 (相当于无效) 
 //如果右对齐时,此时 m前面可以写0,表示空出来的位置用0填充 (%0m)
     
  
  %#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  

2、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
   
   
int a;


+--------+ 0x1000 地址编号 
|        | a
+--------+
|        | 
+--------+
|        | 
+--------+
|        | 
+--------+
|        | 
+--------+

给变量a中输入一个值 

int a;
scanf("a=%d",&a);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值