C语言基础3 - 输入输出

本文详细介绍了C语言中的输入输出操作,包括stdio.h库的使用,如getchar和putchar的基本功能及scanf和printf的格式化输入输出。着重讲解了scanf和printf的使用方法以及格式符和修饰符的应用。
摘要由CSDN通过智能技术生成

一、输入输出

C语言本身没有输入输出语句,即没有输入输出的关键字,ANSI给封装了一组用于输入输出的函数库<stdio.h>,头文件路径为  /usr/include/stdio.h

每个程序至少有一个输出,可以没有输入,

二、输入输出函数

函数:一个独立的程序段,可以做一个单独的功能,

函数三要素:

功能:函数可以实现什么

参数:函数的接口

返回值:1.函数的结果  2.函数的状态

输入-I  input---默认输入设备为键盘---stdin

输出-O output---默认输出设备为显示器---stdout

单字符IO : getchar()/ putchar()

格式化IO :scanf()/printf ()

1.getchar

   int getchar(void)  int表示返回值为整型,void为空

功能:从键盘缓存区获取一个字符,并返回

参数:void 无

返回值:成功  获取到的字符的ascii值

            失败 EOF (错误或文件结尾)

阻塞等待,目前所有的输入都会阻塞等待,直到回车提交数据

2.putchar

  int putchar

功能:将字符输出到显示器中

参数:int

返回值:成功  输出对应的Ascii值的字符

             失败   EOF

3.scanf

格式输入

 int scanf (const char *format,…)

功能:按照指定格式从键盘缓存区中获取数据

参数:const char *format---普通字符%修饰符 格式符

返回值:成功 成功读取的项目个数

             失败  EOF

普通字符%修饰符 格式符

格式符:

%c   按照字符形式获取

%o  按照八进制形式获取

%d  按照十进制形式获取

%x  按照16进制小写获取

%f  按照浮点型数据获取

%s  按照字符串类型获取

修饰符

 h--短整型

 l--长整型

 m--宽度;

注意:scanf(“%c”,ch) ;       等价于     ch=getchar();

 scanf 会忽略空白符  1.空格 2.tab键 3.回车

scanf在获取%s数据时不加&,其余都需要加&

 printf (const char *format,…)

功能:按照指定格式将数据输出到显示器

参数:const char *format---普通字符%修饰符 格式符

返回值:printf实际输出的字符数

格式符

%c   按照字符形式输出

%o  按照八进制形式输出

%d  按照十进制形式输出

%x  按照16进制小写输出

%f  按照浮点型数据输出

%s  按照字符串类型输出

%p 按照地址形式输出

修饰符

h  --短整型

l  --长整型

m  --位域长度

.n  --精度

#  --自带格式(八进制  十进制)

0 --填充值

+ --整数自带 右对齐

-   --左对齐

%+05d       +0123  右对齐

打印地址

printf(“%p”,&num);

printf(“%p”,str);

拓展:

%-6.2e  -表示左对齐,6表示带小数点6位宽,2表示小数点后2位小数,e表示用科学计数法表示

2.14e+02

面试 printf(“%d %d %d\n”,num++, ++num,num++);

  1. printf有一个入栈过程,先进后出,第一个进来最后一个出

栈相当于弹夹,第一个放进去最后一个出来;

  1. 优先级 后置++的优先级高于前置++,先算后置++
  2. 编译器不一样,结果不一样
  3. 汇编指令不同
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值