基本输入输出
若需要使用输入输出函数,则需要包含头文件。
输出
printf
printf是最常用的输出函数,可以格式化输出任意的基本数据类型的变量。
int printf(const char*format,...)
- format:"格式控制符"是用双引号括起来的字符串(格式控制符,也叫占位符)
- ...:"输出列表"中的数据可以是合法的常量、变量和表达式,要与“格式控制字符串”中的格式一一对应。
格式控制符表:
格式控制符可选格式:
%[-][0][m][l]*
%d 按整型数据的实际长度输出
%[0]md以m指定的字段宽度输出,若数据的位数小于m,则左端补空格;若m前面有“0”,则左端补以0。
%-md以m指定的字段宽度输出,左对齐
%ld输出long int
示例:
//一般
printf("hello world");
printf("圆周率为:%lf", 3.1415);
printf("一周有%d天", 7);
//使用可选格式
printf("%d\\n", 52);
printf("%3d\\n", 52); //输出的内容占3个字符宽度,默认右对齐,用空格填充
printf("%03d\\n", 52); //同上,只不过填充字符从空格换成了0
//只需要在%后面加上负号即可表示左对齐
printf("%-3d\\n", 52);
注意事项:
很多同学在输出的时候,会遇到很多啊问题,大概就是以下几点:
- 格式字符中,除了X、E、G外,其他均用小写字母,如“%d”不能写成“%D”。
- 不同类型的数据应使用相应类型的格式字符说明其输出形式。
- 如需输出双引号,应在“格式控制”中表示为转义字符的形式并用单引号引起来,即“\\””。
- 如需输出字符“%”,在“格式控制”中用连续两个“%”即可。 如:printf(“%d%%”,s);
- 当“格式控制”中格式符个数少于输出表中的输出项时,多余的输出项不予输出。
- 当“格式符”多于输出项时,结果为不定值。
putchar
有些时候,仅仅为了打印一个字符在显示器屏幕上,此时动用功能强大的printf函数,则颇有高射炮打蚊子之嫌,C提供了一个库函数putchar来完成这个简单的任务。
int putchar(int ch);
//使用
putchar('A');
putchar(65);
puts
而有些时候仅仅是为了输出一个字符串,使用printf函数也稍显麻烦,可以使用C提供的一个库函数puts,而且puts函数会在输出字符串之后,自动进行换行。
int puts(const char*str);
//使用
puts("hello world");
输入
scanf
scanf是最常用的输入函数,可以格式化输入任意基本数据类型的变量。
int scanf(const char* format,...);
- format:"格式控制符"是用双引号括起来的字符串
- ...:"输入列表"中的数据必须是合法变量的地址表(即变量前面加&符),要与“格式控制字符串”中的格式一一对应。
- 如果输入的输入不止一个,在format格式控制字符串中,必须以空格间隔。
示例:
const double PI = 3.1415;
int radius = 0;
printf("请输入半径:\\n");
scanf("%d", &radius);
printf("圆的面积为:%lf", PI * radius * radius);
scanf函数注意事项
scanf函数的格式字符串由以下三类字符组成:
- 1>格式符(也叫占位符)和printf函数类似,scanf函数的格式字符串以%开始,以一个格式字符结束,中间可以插入附加的字符。格式符告诉了scanf函数该读取什么样的数据。
- 2>空白符空白符可以是空格(用空格键输入)、制表符(用Tab键输入)和新行符(用回车键输入)。
- 3>非空白符除去格式说明符合空白符之外,就是非空白符。非空白符在用户输入的时候,也必须一并输入。
getchar
可以非常方便的输入一个字符。
int getchar();
//使用
int ch =getchar();
putchar(ch);
gets_s
可以非常方便的输入一个字符串。
char* gets_s(char* _Buffer,size_t _Size);
//使用
char name[50]="";
gets_s(name,50);
puts(name);
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
函数
+关注
关注
3文章
4276浏览量
62317 -
数据类型
+关注
关注
0文章
236浏览量
13593 -
Printf
+关注
关注
0文章
81浏览量
13604
发布评论请先 登录
相关推荐
CCS3.3的标准输入输出函数像printf()函数怎么不起作用
请教一下各位大神。。。最近CCS3.3的标准输入输出函数怎么不起作用了,譬如像printf("OK。E2prom-->E2promImageNow.tg \n"); 这段
发表于 12-03 16:02
什么是输入输出模块_输入输出模块有什么作用
输入输出模块也称为控制模块,在有控制要求时可以输出信号,或者提供一个开关量信号,使被控设备动作,同时可以接收设备的反馈信号,以向主机报告,是火灾报警联动系统中重要的组成部分。市场上的输入输出
发表于 05-21 10:28
•11.9w次阅读
实现重定向printf()和scanf() 函数案例分析
要想printf()和scanf() 函数工作,我们需要把printf()和scanf() 重新定向到串口中。重定向是指用户可以自己重写C 的库函数,当连接器检查到用户编写了与C 库函
发表于 06-23 08:26
•9111次阅读
51单片机C51语言的scanf和printf是如何使用的详细程序说明
本文档的主要内容详细介绍的是51单片机C语言的scanf和printf是如何使用的详细程序说明。
发表于 08-26 17:30
•24次下载
GPIO通用输入输出
GPIO通用输入输出一、GPIO的功能概述用途:GPIO是通用输入输出(General Purpose I/O)的简称,主要用于工业现场需要用到数字量输入/输出的场合。例如:
发表于 12-20 18:58
•6次下载
plc带模拟量输入输出和不带模拟量输入输出有什么区别啊?
plc带模拟量输入输出和不带模拟量输入输出有什么区别啊? PLC是一种广泛应用的自动化控制器,它可通过输入和输出控制信号来管理各种自动化过程。PLC的“模拟量”
c语言怎么用scanf输入字符串
: # include int main () { char name[ 20 ]; printf ( "请输入您的姓名: " ); scanf ( "%s" , name); printf
寄存器的输入输出方式
寄存器的输入输出方式是数字电路设计中至关重要的部分,它决定了数据如何在寄存器中进出以及处理的效率。下面将详细探讨寄存器的几种主要输入输出方式,包括并行输入输出、串行输入输出以及双向
评论