C语言中用来实现输出和输入的函数主要是 printf函数scanf函数 。这两个函数是格式输入输出函数,使用时必须指定输入输出的格式(根据数据的不同类型指定不同的格式)。

输入函数

待总结。

输出函数 printf(格式控制,输出表列)

printf函数 括号内包含两个部分:格式控制以及输出表列

格式控制

“格式控制”是用双撇号括起来的格式控制字符串。它包括:

  • 格式声名:由 %格式字符 组成,如 %d%f 等等。其作用为将输入的数据转换为指定格式后输出。
  • 普通字符:为在输出时原样输出的字符。

输出表列

程序需要输出的的一些数据,可以为常量、变量或表达式。

格式字符

d 格式字符

用来输出一个有符号的十进制整数。输出时按十进制整型数据的实际长度输出,正数的符号不输出。

输出长整型用 ""%ld" ,输出双长整型用 "%lld"

注:可以在格式声名中指定输出数据的域宽(所占的列数),如用 "%5d" ,指定输出数据占 5 列,输出的数据占 5 列区域的右侧。

f 格式符

用来输出实数(包括单、双精度、长双精度),以小数形式输出。

基本型 %f

系统根据数据的实际情况决定数据所占列数(实数的整数部分全部输出,小数部分输出六位)。

指定数据宽度和小数位数 %m.nf

输出的数据 占 m 列,其中包括 n 位小数。对其最后一位采取四舍五入方法处理。

如果将小数部分指定为零,那么只会输出整数部分,小数点不会输出。

注:一个双精度数只能保证 15 位有效数字的精确度,故而如果指定 n 为很大的数,那么不能保证输出的小数部分都是有效的数字。

float 型数据 的存储单元只能保证 6 位有效数字,double 型数据 只能保证 15 位的有效数字。

输出的数据向左对齐 %-m.nf

其形式作用与 %m.nf 基本一致,不同的是当数据长度不超过 m 时,数据是向左靠,右端补空格。

c 格式符

用来输出一个字符。

char ch='a';
printf("%c",ch);

输出结果:
a

其也可以指定域宽,如 %5c

一个整数,如果在 0~127 范围内,可以用 %c 格式输出,输出前整数会作为 ASCII码 转换为相应字符。

s 格式符

用来输出一个字符串。

printf("%s","HELLO");

输出结果:
HELLO

e 格式符

指定以指数形式 输出实数。

当未指明数据所占宽度和数字部分的小数位数时,许多编译系统会自动指定小数部分占六位,指数部分占 5 列(如 e-003,其中 ”e“ 与 ”指数符号 -“ 各占一列,指数占了三列)。数值按标准化指数形式输出:小数点前必须有且仅有一位非零数字。

printf("%e",123.456);

输出结果:
1.234560e+002

%m.ne 指定:

printf("%11.2e",123.456);

输出结果:
  1.23e+002        // 数前面有两个空格

e 也可以写成 E,此时输出数据中的 e 会变成 E

其它格式符

  • i格式符。作用与 d 格式符 相同,但一般习惯用 %d
  • o 格式符。以八进制整数形式输出。输出的数据不带符号,符号位也会作为八进制的一部分输出。
  • x 格式符。以十六进制数形式输出整数。
  • u 格式符。用以输出无符号型数据,以十进制整数形式输出。
  • g 格式符。用来输出浮点数,系统自动选 fe 格式输出,择两者中长度较短的格式输出,不输出无意义的零。
  • % 附加字符 格式字符。附加字符如lmn- 等,又称为修饰符,起补充说明的作用。
© ruchan all right reserved,powered by Gitbook最后修改于: 2020-06-18

results matching ""

    No results matching ""