【从零开始的嵌入式生活】必备基础知识3——输入输出

简介: 【从零开始的嵌入式生活】必备基础知识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(“格式控制串”,输出表)


功能:按指定格式向显示器输出数据

输出表:要输出的数据

格式控制串:包含两种信息

格式说明:%[修饰符]格式字符,用于指定输出格式

普通字符:原样输出

6a6be067eacaf28647eb93b081515bd.png


附加格式说明符


5db1b20543308297db55fd97181e68d.png

f = 567.89
printf(“%0+10.2f\n”,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(“格式控制串”,地址表)


功能:按指定格式从键盘读入数据,存入地址表指定存储单元中,并按回车键结束

返值:正常,返回输入数据个数

地址表:变量的地址,常用取地址运算符&

格式化字符:

9fe3ccea9ad0026b45a53dd4cc1fbf6.png


修饰符:

ea9e7f4c5e4d62c1b7f23967fa64dfd.png


举个例子:


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=%d\n”,x,ch);


如果输入:5\n,输出就是5\n\n

可以发现输入整数就会留下一个回车

解决方案一:


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


解决方案二:


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


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


字符串输入函数gets

char * gets(char  *s)


功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加‘\0’

说明1:输入串长度应小于字符数组维数

说明2:与scanf函数不同,gets函数并不以空格作为字符串输入结束的标志。

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


字符串输出函数puts

int puts(const char *s)


功能:向显示器输出字符串(输出完,换行)

说明:字符数组必须以‘\0’结束


相关文章
|
8月前
|
算法 项目管理 C语言
嵌入式 C 语言大神的进阶之路
嵌入式 C 语言大神的进阶之路
88 0
|
8月前
|
传感器 设计模式 安全
嵌入式底层驱动需要知道的基本知识
嵌入式底层驱动需要知道的基本知识
171 0
|
传感器 C语言 芯片
「入门指南」轻松学习嵌入式 GPIO:从原理到应用一步到位
「入门指南」轻松学习嵌入式 GPIO:从原理到应用一步到位
|
监控 网络协议 网络安全
【从零开始的嵌入式生活】网络编程1——网络基础
【从零开始的嵌入式生活】网络编程1——网络基础
【从零开始的嵌入式生活】网络编程1——网络基础
|
芯片
嵌入式基础知识
视觉项目落地少不了的是嵌入式相关知识
251 0
嵌入式基础知识
【从零开始的嵌入式生活】必备基础知识7——函数(1)
【从零开始的嵌入式生活】必备基础知识7——函数(1)
【从零开始的嵌入式生活】必备基础知识7——函数(1)
|
Serverless
【从零开始的嵌入式生活】必备基础知识7——函数(2)
【从零开始的嵌入式生活】必备基础知识7——函数(2)
【从零开始的嵌入式生活】必备基础知识7——函数(2)
|
存储 C语言 索引
【从零开始的嵌入式生活】必备基础知识6——指针
【从零开始的嵌入式生活】必备基础知识6——指针
【从零开始的嵌入式生活】必备基础知识6——指针
|
存储 小程序 编译器
【从零开始的嵌入式生活】必备基础知识1——数据的表示和程序编译调试
【从零开始的嵌入式生活】必备基础知识1——数据的表示和程序编译调试
【从零开始的嵌入式生活】必备基础知识1——数据的表示和程序编译调试

热门文章

最新文章