0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言基础知识(2)--标准输入输出

嵌入式技术 来源:嵌入式技术 作者:嵌入式技术 2023-06-12 14:21 次阅读

1.标准输出printf

printf是C语言的标准输出函数,一般用于向标准输出设备按规定格式输出信息

函数原型如下:

#include < stdio.h >
int printf(const char *format, ...);

printf函数使用格式为:printf(“<格式化字符串>”,参量表);

printf()是C语言标准库函数,在stdio.h中定义。输出的字符串除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。

  • 格式控制符说明

控制符

说明

%c

输出一个字符(char)

%d

输出十进制整数(int)

%hhd

输出一个字节的整数(char)

%hd

输出两个字节的整数(short)

%ld

输出长整型(long)

%md

m指输出字段宽度,若数据位数小于m,则左边以空格补齐,若大于m,则按实际位数输出。输出的数据按照右边对齐,一共占m位,所有类型都支持指定输出字段宽度。在%后面加上-可实现数据左对齐。

%u

输出无符号整数(unsigned int)。输出无符号时也可以用%d,此时会将无符号转换为有符号输出。

%lu

输出无符号长整数(unsigned long)

%f

输出浮点型(float),以小数形式输出。不指定字段宽度,由系统自动指定,整数部分全部输出,小数部分输出6位,超过6位的四舍五入。

%.mf

输出实数时小数点后保留 m 位,注意m前面有个点。比如: %.2f。

%lf

(long double 使用%lf 输出)

%o或%#o

八进制输出,%#o会自动显示前缀

%x或%X或%#x

十六进制输出

%s

字符串输出

%p

输出地址

%%

输出字符%

%t

输出水平制表符

2.标准输入printf

scanf()是C语言中的一个输入函数,与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include 。

#include < stdio.h >

int scanf(const char *format, ...);

scanf()是从标准输入(标准输入设备,一般指向键盘)中读内容的通用子函数;可以通过说明的格式读入多个字符,并保存在对应地址的变量中。

在使用scanf函数时,主要注意一下读取字符类型数据问题;scanf是从标准输入缓冲区中读取输入的数据,而%c的字符输入格式会接收回车字符和空格字符,在输入第一个 scanf时输入字符后按回车结束,输入缓冲中保存了这个回车符,遇到第二个scanf时,它自动把这个回车符赋给了后面的%c。而如果第二个scanf的输入格式不是%c时,由于格式不匹配,这个回车符会被自动忽略, 所以在连续输入两个%c的格式时会出现后面%c获取不到正确。

输入示例:

#include< stdio.h >
intmain(intargc,char**argv)
{
inta;
charb;
floatc;
scanf("%d %c%f",&a,&b,&c);//%d和%c中间有空格
printf("a=%dn",a);
printf("b=%cn",b);
printf("c=%fn",c);
}
[root@xsw c_2020]# ./a.out 
输入整型、字符型、浮点型:12 a 12.34  #输入时也必须在12和a之间加空格
a=12
b=a
c=12.340000

3.输出函数名和行号

#include < stdio.h >
int main()
{

	/*
		't' --制表符(相当于TAB键)
		__FILE__  文件名
		__FUNCTION__(或__func__)  函数名
		__LINE__    行号
		__DATE__    日期显示
		__TIME__    时间显示
	*/
	printf("[%s] %s line:%dn",__FILE__,__func__,__LINE__);
	printf("time:%s--%sn",__DATE__,__TIME__);
}
pYYBAGSGuFeAFWVRAAIBXvSVBHk599.png

4.printf输出字体颜色

在有些时候我们希望通过printf输出的内容以不同的颜色在终端展示,这样在调试过程看起来更加直观。

printf输出颜色时的控制命令:/033[A1;A2;A3m

/033[为固定开头;
m为固定结尾;
A1表示属性;
A2表示字体颜色;
A3表示背景颜色;

属性代码

功能

0

重置所有属性

1

高亮/加粗

2

暗淡

4

下划线

5

闪烁

8

反转

8

隐藏

  • A2属性

属性代码

功能

30

黑色

31

红色

32

绿色

33

黄色

34

蓝色

35

品红

36

青色

37

白色

  • A3属性

属性代码

功能

40

黑色

41

红色

42

绿色

43

黄色

44

蓝色

45

品红

46

青色

47

白色

  • 示例
#include < stdio.h >
int main()
{
	printf("�33[1;;41m%s�33[0mn", "Hello World!");//字体加粗,背景为红色
	//加下划线,字体颜色为黑色,背景为白色
	printf("�33[4;30;47m%s�33[0mn", "Hello World!");	
	printf("�33[5m%s�33[0mn", "Hello World!");//字体闪烁
	printf("�33[;34m%s�33[0mn", "Hello World!");//设置字体为绿色
	printf("�33[;;42m%s�33[0mn", "Hello World!");//设置设置背景为绿色
}
pYYBAGSGuTWAL5mgAACG3hTLB_U687.png
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 输入输出
    +关注

    关注

    0

    文章

    42

    浏览量

    10691
  • C语言
    +关注

    关注

    180

    文章

    7532

    浏览量

    129812
  • 函数
    +关注

    关注

    3

    文章

    3974

    浏览量

    61377
  • Printf
    +关注

    关注

    0

    文章

    79

    浏览量

    13493
收藏 人收藏

    评论

    相关推荐

    C语言基础知识科普

    C语言是单片机开发中的必备基础知识,本文列举了部分STM32学习中比较常见的一些C语言基础知识
    发表于 07-21 10:58 1714次阅读

    c语言基础知识

    c语言基础知识
    发表于 08-17 17:03

    Linux下C语言编程基础知识

    Linux下C语言编程基础知识
    发表于 08-20 17:21

    关于C语言基础知识

    一、C语言基础知识关于C语言C语言相对于汇编是属于高
    发表于 08-20 07:03

    C语言怎么实现输入输出日期?

    C语言怎么实现输入输出日期?
    发表于 10-18 07:49

    C语言基础知识的树状结构是如何组成的

    该图是关于C语言基础知识的树状结构图,也许里面有些地方看起来不够主流,但是可能更合理。以后将会对该图的所有细节知识点以通俗易懂的方式逐个梳理,敬请关注!...
    发表于 11-08 07:39

    C语言编程的基础知识

    机器人创新实验室培训(软件篇)--01前言C语言编程的基础知识c语言的介绍c
    发表于 11-30 08:25

    浅谈几个C语言基础知识

    文章目录前言一、位操作二、使用步骤前言这里主要是简单的复习一下几个 C 语言基础知识点,引导那些 C 语言
    发表于 12-09 07:14

    C语言基础知识汇总

    单片机-C语言基础知识总结本文为个人学习笔记,仅供学习参考用,如有侵权,请联系zhankun3280@139.com(一)简单理解32位操作系统只能支持4G内存(二)数据类型(❤表示重要程度)重点
    发表于 01-24 07:28

    模块输入输出(I/O)知识

    模块输入输出(I/O)知识   我觉得有必要谈一下模块的输入输出口的梳理,一般我们可以分为IO的功能划分和IO规范。前者的目
    发表于 11-21 14:06 2492次阅读

    C语言数据输入输出函数总结资料免费下载

    本文档的主要内容详细介绍的是C语言数据输入输出函数总结资料免费下载。
    发表于 09-29 15:51 6次下载
    C<b class='flag-5'>语言</b>数据<b class='flag-5'>输入输出</b>函数总结资料免费下载

    C语言教程之顺序结构程序设计数据输入输出及C程序上机过程资料概述

    1 如何在终端设备上实现输入输出 所谓输入输出是以计算机为主体而言的;操作系统分别将键盘和显示器定义为标准输入输出设备。 C
    发表于 01-25 15:44 5次下载
    C<b class='flag-5'>语言</b>教程之顺序结构程序设计数据<b class='flag-5'>输入输出</b>及C程序上机过程资料概述

    C语言基础知识讲解

    C语言基础知识讲解
    发表于 05-19 17:39 13次下载

    C语言输入输出

    文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言 今天重新温习了C语言输入输出方面的知识,得到了新的体会,所以在这跟大家分析
    发表于 12-14 18:52 3次下载
    C<b class='flag-5'>语言</b><b class='flag-5'>输入输出</b>

    STM32中C语言基础知识

    C语言是单片机开发中的必备基础知识,本文列举了部分STM32学习中比较常见的一些C语言基础知识,希望能对大家有所帮助。
    的头像 发表于 04-27 17:42 1018次阅读
    STM32中C<b class='flag-5'>语言</b>的<b class='flag-5'>基础知识</b>