亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C 语言输入输出完全掌握:标准 I/O 与格式化控制

输入指向程序提供数据,可来自文件或命令行。C 提供内置函数集读取输入并按需提供给程序。

输出指在屏幕、打印机或文件显示数据。C 提供内置函数集将数据输出到屏幕并保存为文本或二进制文件。

标准文件

C 语言将所有设备视为文件。显示器等设备以同文件方式寻址,程序执行时自动打开以下三个文件提供键盘和屏幕访问:

标准文件文件指针设备
标准输入stdin键盘
标准输出stdout屏幕
标准错误stderr屏幕

文件指针是访问文件读写的手段。本节解释如何从屏幕读值及在屏幕打印结果。

getchar() 与 putchar() 函数

int getchar(void) 从屏幕读取下一个可用字符并作为整数返回。每次仅读单字符。可在循环中用此法读多字符。

int putchar(int c) 将传入字符输出到屏幕并返回同字符。每次仅输出单字符。可在循环中用此法显示多字符。示例:

 #include <stdio.h> int main( ) { int c; printf( "Enter a value :"); c = getchar( ); printf( "\nYou entered: "); putchar( c ); return 0; } 

编译执行后等待输入。输入文本按回车后,程序读取单字符并显示:

 $./a.out Enter a value : this is test You entered: t 

gets() 与 puts() 函数

char *gets(char *s) 从 stdin 读一行到 s 指向缓冲区,直到遇换行符或 EOF。

int puts(const char *s) 向 stdout 写字符串 's' 及尾随换行符。

注意: gets() 已弃用,建议用 fgets() 替代。

 #include <stdio.h> int main( ) { char str[100]; printf( "Enter a value :"); gets( str ); printf( "\nYou entered: "); puts( str ); return 0; } 

编译执行后等待输入。输入文本按回车后,程序读完整行并显示:

 $./a.out Enter a value : this is test You entered: this is test 

scanf() 与 printf() 函数

int scanf(const char *format, ...) 从标准输入流 stdin 读输入并按提供的 format 扫描。

int printf(const char *format, ...) 向标准输出流 stdout 写输出并按格式产生输出。

format 可以是简单常量字符串,也可指定 %s、%d、%c、%f 等打印或读取字符串、整数、字符、浮点数。有许多其他格式选项可按需使用。简单示例:

 #include <stdio.h> int main( ) { char str[100]; int i; printf( "Enter a value :"); scanf("%s %d", str, &i); printf( "\nYou entered: %s %d ", str, i); return 0; } 

编译执行后等待输入。输入文本按回车后,程序读取输入并显示:

 $./a.out Enter a value : seven 7 You entered: seven 7 

注意 scanf() 期望输入格式与提供的 %s 和 %d 一致,即必须提供 "字符串 整数" 形式输入。若提供 "字符串 字符串" 或 "整数 整数" 则视为错误输入。其次,读字符串时 scanf() 遇空格即停止,故 "this is test" 对 scanf() 是三个字符串。

C语言

  1. 理解缓冲门:数字电路中的信号放大与完整性
  2. C#关键字与标识符:规则、完整列表与最佳实践
  3. C# 基础:输入输出核心技巧完全指南
  4. C# 类与对象:面向对象编程的基石
  5. 掌握 C++ 输入输出:cin/cou 完整实战指南
  6. C 语言输入输出(I/O)精通:scanf() 与 printf() 详解
  7. C++ 流精通:cout、cin、cerr、clog 实战指南
  8. C 语言常量与字面量完全指南:类型、用法与最佳实践
  9. C# 常量与字面量大全:类型、规则与最佳实践
  10. 掌握 D 锁存器:设计、工作原理与关键差异
  11. 精通Python输入输出与模块导入:实战指南
  12. 精通 Java 输入输出:打印、读取与格式化数据