主页 > 互联网 > 内容页

世界新资讯:C语言基础知识(2)--标准输入输出

2023-06-12 14:01:07 来源:嵌入式技术

1.标准输出printf

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

函数原型如下:


(资料图片)

#include 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 int scanf(const char *format, ...);

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

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

输入示例:

#includeintmain(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=12b=ac=12.340000

3.输出函数名和行号

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

4.printf输出字体颜色

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

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

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

A1参数

属性代码

功能

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 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!");//设置设置背景为绿色}
审核编辑:汤梓红

标签:

上一篇:综合治理让内蒙古岱海再绽光彩
下一篇:最后一页