C语言字符与数据输出函数详解

需积分: 9 1 下载量 123 浏览量 更新于2024-07-31 收藏 166KB PPT 举报
"C语言教学资料,适用于非计算机专业学习,能有效帮助通过二级考试。" 在C语言中,数据的输入与输出是程序的基本功能,本资料主要介绍了C语言中的字符输出函数`putchar()`以及格式化输出函数`printf()`。 `putchar()`函数是用于输出单个字符的,它的格式非常简单:`putchar(c)`,其中`c`可以是字符常量、变量或表达式。当函数执行成功时,它会将`c`的值输出到显示器,并返回该字符的ASCII码值。如果发生错误,`putchar()`会返回EOF,即-1。例如,输出大写字母'A'和换行符'\n'的代码如下: ```c #include<stdio.h> int main() { int c; char a; c = 65; a = 'B'; putchar(c); // 输出'A' putchar('\n'); // 输出换行符 putchar(a); // 输出'B' return 0; } ``` 接下来,我们讨论C语言的格式化输出函数`printf()`。`printf()`函数能够按照用户指定的格式输出多个数据,其基本格式为`printf("格式控制串", 输出表)`。其中,“格式控制串”包含了格式说明和普通字符/转义序列,而“输出表”则是一系列要输出的数据。例如: ```c int a = 567; printf("%d", a); // 输出整数567 ``` 格式说明通常以百分号`%`开头,后面可以跟一些修饰符(如宽度、精度等),然后是具体的格式字符。常见的格式字符包括: - `%d`或`%i`:输出带符号的十进制整数 - `%x`或`%X`:输出无符号的十六进制整数 - `%o`:输出无符号的八进制整数 - `%u`:输出无符号的十进制整数 - `%c`:输出单个字符 - `%s`:输出字符串 - `%e`,`%E`:输出科学计数法表示的浮点数 - `%f`:输出浮点数的小数形式 - `%g`:自动选择`%e`或`%f`中较短的一种 - `%%`:输出一个百分号 例如: ```c float a = 567.789; printf("%e", a); // 输出科学计数法5.677890e+02 printf("%f", a); // 输出小数形式567.789000 printf("%g", a); // 输出最简短形式567.789 ``` 需要注意的是,`printf()`函数的格式字符和输出项应该一一对应,并且通常要求格式字符使用小写。如果格式字符和输出项类型不匹配,C语言会尝试自动转换数据格式以符合指定的输出格式。例如: ```c unsigned int u = 65535; printf("u=%d\n", u); // 当u超过int范围时,输出负数-1 ``` 此外,`printf()`函数在成功输出后,会返回实际输出的字符个数,若发生错误则返回EOF。 `putchar()`和`printf()`是C语言中进行数据输出的重要工具,它们为程序员提供了灵活的输出方式,满足了各种复杂的输出需求。通过熟练掌握这两个函数,开发者可以在编写C语言程序时更加得心应手。