1.概念
- 输入输出是以计算机主机为主体
从计算机向输出设备( 如显示器、 打印机等) 输出数据称为输出
从输入设备( 如键盘、 磁盘、 光盘、 扫描仪等) 向计算机输入数据称为输入 。

- 输入和输出操作是由 C 标准函数库中的函数来实现的
C 语言函数库中有一批“标准输入输出函数”, 它是以标准的输入输出设备( 一般为终端设备〉 为输入输出对象的。
putchar ( 输出字符)、 getchar (输入字符)、 printf (格式输出)、 scanf (格式输入)、 puts ( 输出字符串) 和 gets (输入字符串)。
- 在使用系统库函数时, 要在程序文件的开头用预处理指令#include<stdio.h>
2.printf()
printf 函数( 格式输出函数) 用来向终端( 或系统隐含指定的输出设备) 输出若干个任意类型的数据。
printf 函数的一般格式
printf 函数的一般格式为: printf (格式控制, 输出表列)
格式控制
格式控制是用双撇号括起来的一个字符串, 称“转换控制字符串”, 简称“格式字符串”。 它包括两个信息
- 格式声明
格式声明由“%”和格式字符组成, 如%d等。 它的作用是将输出的数据转换为指定的格式然后输出。 格
式声明总是由“%” 字符开始的。 - 普通字符
普通字符即需要在输出时原样输出的字符。 例如上面 printf 函数中双撇号内的逗号、 空格和换行符, 也可以包括其他字符。
输出列表
输出表列是程序需要输出的一些数据, 可以是常量、 变量或表达式。
格式字符
d格式符
用来输出一个有符号的十进制整数。
可以在格式声明中指定输出数据的域宽( 所占的列数 ), 如用“%5d”。
c格式符
用来输出一个字符。 也可以指定域宽, 如 printf (“%5c”, ch)
s格式符
用来输出一个字符串。 如: printf (“%s”, “CHINA”).
f格式符
用来输出实数(包括单、 双精度、 长双精度), 以小数形式输出, 有几种用法:
- 基本型,
不指定输出数据的长度, 由系统根据数据的实际情况决定数据所占的列数。 系统处理的方法一般是: 实数中的整数部分全部输出, 小数部分输出 6 位。 - 指定数据宽度和小数位数,用%m.nf
注意: 在用输出时要注意数据本身能提供的有效数字, 如 float 型数据的存储单元只能保证 6 位有效数字。
double 型数据能保证 15 位有效数字。 不要以为计算机输出的所有数字都是绝对精确有效的。 - 输出的数据向左对齐,用%-m.nf
在 m.n 的前面加一个负号, 其作用形式作用基本相同, 但当数据长度不超过 m 时, 数据向左靠, 右端
补空格。
e格式符
用格式声明指定以指数形式输出实数。
i格式符
作用与 d 格式符相同, 按十进制整型数据的实际长度输出。 一般习惯用而少用%i。
0格式符
以八进制整数形式输出。 将内存单元中的各位的值(0 或 1 ) 按八进制形式输出, 因此输出的数值不带符号, 即将符号位也一起作为八进制数的一部分输出。
x格式符
以十六进制数形式输出整数。
u格式符
用来输出无符号( unsigned ) 型数据, 以十进制整数形式输出。
g格式符
用来输出浮点数, 系统自动选 f 格式或 e 格式输出, 选择其中长度较短的格式, 不输出无意义的 0。
如果想输出字符应该在“格式控制字符串” 中用连续两个“% ” 表示。
常用字符
附加字符
3.scanf()
scanf函数的一般形式
scanf (格式控制, 地址表列)
- “ 格式控制” 的含义同 printf 函数。
- “地址表列”是由若干个地址组成的表列, 可以是变量的地址, 或字符串的首地址。
格式声明
与 printf 函数中的格式声明相似, 以% 开始, 以一个格式字符结束, 中间可以插入附加的字符。
3.字符数据的输入输出
除了可以用 printf 函数和 scanf 函数输出和输入字符外, C 函数库还提供了一些专门用于输入和输出字符的
函数。
putchar 函数
想从计算机向显示器输出一个字符, 可以调用系统函数库中的 putchar 函数( 字符输出函数)。
- putchar 函数的一般形式为:
putchar ©
getchar函数
为了向计算机输入一个字符, 可以调用系统函数库中的 getchar 函数( 字符输入函数)。
- getchar 函数的一般形式为:
getchar ()
getchar 函数没有参数, 它的作用是从计算机终端( 一般是键盘)输入一个字符, 即计算机获得一个字符。 getchar 函数的值就是从输入设备得到的字符。
getchar 函数只能接收一个字符 .
4万+

被折叠的 条评论
为什么被折叠?



