我是靠谱客的博主 默默流沙,最近开发中收集的这篇文章主要介绍【从零开始的嵌入式生活】必备基础知识3——输入输出前言1.输出函数的用法2.输入函数的用法3.*输入输出综合写在最后,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

请添加图片描述

前言

今天是一天一更的第一天
希望大家可以跟着我一起学习,一起加油!
三连即可提高学习效率0.0

????????作者简介:一个学嵌入式的年轻人
✨联系方式:2201891280(QQ)
????源码地址:https://gitee.com/xingleigao/study_qianrushi
全文大约阅读时间: 60min


文章目录

  • 前言
  • 1.输出函数的用法
    • 字符输出函数
    • 格式输出函数
  • 2.输入函数的用法
    • 字符输入函数
    • 格式输入函数
  • 3.*输入输出综合
    • 输入函数的“垃圾”
    • 字符串输入函数gets
    • 字符串输出函数puts
  • 写在最后


C语言无I/O语句,I/O操作由函数实现:#include<stdio.h>

1.输出函数的用法

字符输出函数

putchar( c )

参数: c为字符常量、变量或表达式
功能:把字符c输出到显示器上
返值:正常为显示的代码值;


格式输出函数

printf(“格式控制串”,输出表)

功能:按指定格式向显示器输出数据
输出表:要输出的数据
格式控制串:包含两种信息
格式说明:%[修饰符]格式字符,用于指定输出格式
普通字符:原样输出

格式符作用
i、d十进制整数
x、X十六进制无符号整数
o八进制无符号整数
u无符号十进制整数
c单一字符
s字符串
e,E指数形式浮点小数
f小数形式浮点小数
ge和f中较短的一种
%%%号本身

附加格式说明符

修饰符功能
m输出数据域宽,数据长度<m,左补空格;否则按实际输出
.n对实数,指定小数点后位数(四舍五入)、对字符串指定实际输出位数
-输出数据在域内左对齐(默认右对齐)
+指定有符号数的整数前显示正好(+)
0输出数据时指定左边使用自动填充0
#在八进制和十六进制数前显示前导0,0x
l在d、o、x、u等整数前指定输出精度为long型
l在e、f、g前,指定输出精度为double型
f = 567.89
printf(%0+10.2fn”,f); 

打印的结果就是:

+000567.89

10.2中10就是m,.2就是.n,然后其他的就是常用修饰。

2.输入函数的用法

字符输入函数

getchar( c )

格式: getchar( )
功能:从键盘读一字符
返值:正常,返回读取的代码值;出错或结束键盘输入,返回-1 (linux:ctrl +d、window:ctrl+z)
返回值是int,因为ASCII码是0-255,还有一个-1,超出char范围,所以是int


格式输入函数

scanf(“格式控制串”,地址表)

功能:按指定格式从键盘读入数据,存入地址表指定存储单元中,并按回车键结束
返值:正常,返回输入数据个数
地址表:变量的地址,常用取地址运算符&
格式化字符:

格式符号作用
i、d十进制整数
x、X十六进制无符号整数
o八进制无符号整数
u无符号十进制整数
c单一字符
s字符串
e,E指数形式浮点小数
f小数形式浮点小数

修饰符:

修饰符功能
h用于d、o、x前,指定输入为short型整数
l与输出类似
m指定输入数据宽度,遇到空格/不可转换字符结束
*抑制符,指定输入项读入后不赋给变量

举个例子:

scanf(%2d%*3d%2d”,&a,&b);

输入12 345 67则a为12,b为67
结束条件

  • 遇空格、TAB、回车
  • 非法输入
  • 宽度到达

3.*输入输出综合

输入函数的“垃圾”

int x;
char ch;
scanf(%d”,&x);
scanf(%c”,&ch);
printf(“x=%d,ch=%dn”,x,ch);

如果输入:5n,输出就是5nn
可以发现输入整数就会留下一个回车
解决方案一:

int x;
char ch;
scanf(%d”,&x);
getchar();
ch=getchar();
printf(“x=%d, ch=%dn”, x, ch);

解决方案二:

int x;
char ch;
scanf(%d”,&x);
scanf(%c”,&ch);scanf(%*c%c”,&ch);

其实就是忽略前面一个字符


字符串输入函数gets

char * gets(char  *s)
  • 功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加‘’
  • 说明1:输入串长度应小于字符数组维数
  • 说明2:与scanf函数不同,gets函数并不以空格作为字符串输入结束的标志。

gets不安全,会引起栈溢出!!所以并不推荐使用,详细可以看这个:《算法笔记知识点记录》第二章——快速入门2[选择结构、循环结构和数组]


字符串输出函数puts

int puts(const char *s)
  • 功能:向显示器输出字符串(输出完,换行)
  • 说明:字符数组必须以‘’结束

写在最后

今天达成了一天一更,明天开始一天两更,冲!!!
今天介绍了基本的输入输出,其实很多知识点初学的时候记忆并不深刻都是在不断的敲代码过程中不断的深化的,所以大家没事要记得回来翻一翻呀0.0


另外我在更新的就是算法笔记的一些例题笔记,这个系列是用于提高我的算法能力,如果有兴趣对算法领域感兴趣找不到合适的入门文章也可以追更,如果我更新的太慢了请大家点赞收藏,一键三连才能更有更新的动力呀0.0
在这里插入图片描述

最后

以上就是默默流沙为你收集整理的【从零开始的嵌入式生活】必备基础知识3——输入输出前言1.输出函数的用法2.输入函数的用法3.*输入输出综合写在最后的全部内容,希望文章能够帮你解决【从零开始的嵌入式生活】必备基础知识3——输入输出前言1.输出函数的用法2.输入函数的用法3.*输入输出综合写在最后所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部