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

C - 输入和输出

当我们说输入 ,这意味着将一些数据输入到程序中。输入可以以文件的形式给出,也可以从命令行给出。 C 编程提供了一组内置函数来读取给定的输入并根据需要将其提供给程序。

当我们说输出 , 这意味着在屏幕、打印机或任何文件中显示一些数据。 C 编程提供了一组内置函数,可以将数据输出到计算机屏幕上,也可以将其保存为文本或二进制文件。

标准文件

C 编程将所有设备视为文件。因此显示器等设备的寻址方式与文件相同,当程序执行以提供对键盘和屏幕的访问时,会自动打开以下三个文件。

标准文件 文件指针 设备
标准输入 标准输入 键盘
标准输出 标准输出 画面
标准错误 标准错误 你的屏幕

文件指针是访问文件以进行读写的手段。本节介绍如何从屏幕读取值以及如何在屏幕上打印结果。

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) 函数将字符串 's' 和 'a' 尾随换行符写入 stdout .

注意: 虽然不推荐使用gets()函数,但你想使用fgets()而不是gets。

#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 中读取输入 并根据 格式 扫描输入 提供。

int printf(const char *format, ...) 函数将输出写入标准输出流stdout 并根据提供的格式生成输出。

格式 可以是简单的常量字符串,但可以指定 %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;
}

当上面的代码编译并执行时,它会等待你输入一些文本。当您输入文本并按 Enter 键时,程序会继续读取输入并显示如下 -

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

在这里,应该注意的是,scanf() 期望输入的格式与您提供的 %s 和 %d 格式相同,这意味着您必须提供有效的输入,例如“字符串整数”。如果您提供“string string”或“integer integer”,则将其假定为错误输入。其次,在读取字符串时,scanf()一遇到空格就停止读取,所以“this is test”是scanf()的三个字符串。


C语言

  1. “缓冲”门
  2. C# 关键字和标识符
  3. C# 基本输入和输出
  4. C# 类和对象
  5. C++ 基本输入/输出
  6. C 输入输出 (I/O)
  7. Python 输入、输出和导入
  8. Java 基本输入和输出
  9. C++ 基本输入/输出:Cout、Cin、Cerr 示例
  10. D 锁存器
  11. C - 常量和文字
  12. C# - 常量和文字