C语言 输入和输出



  • 输入和输出

    当我们说Input时,它意味着将一些数据输入程序。输入可以文件形式或从命令行给出。C编程提供了一组内置函数来读取给定的输入,并根据需要将其输入到程序中。当我们说Output时,它意味着在屏幕,打印机或任何文件中显示一些数据。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;
    }
    
    
    编译并执行上述代码后,它等待您输入一些文本。当您输入文本并按Enter键时,程序将继续并仅读取单个字符并将其显示如下-
    
    $./a.out
    Enter a value : this is test
    You entered: t
    
    
  • getchar()和putchar()函数

    char *gets(char *s)函数从读取一行标准输入到缓冲指向小号直到终止新行或EOF(文件结束)。
    int puts(const char *s)函数把字符串 s 和一个尾随的换行符写入到标准输出。
    注意:尽管不建议使用gets()函数,使用fgets()而不是使用gets
    
    #include <stdio.h>
    int main( ) {
    
       char str[100];
    
       printf( "Enter a value :");
       gets( str );
    
       printf( "\nYou entered: ");
       puts( str );
    
       return 0;
    }
    
    
    编译并执行上述代码后,它等待您输入一些文本。当您输入文本并按Enter时,程序将继续读取整行直到结束,并显示如下:
    
    $./a.out
    Enter a value : this is test
    You entered: this is test
    
    
  • scanf()和printf()函数

    int scanf(const char *format, ...)函数从标准输入流输入标准输入,并根据该扫描输入格式提供。
    int printf(const char *format, ...)函数的输出写到标准的输出流标准输出,并根据所提供的格式产生输出。
    格式可以是简单的字符串常量,但可以指定%S,%d,%C,%F等,以打印或读取字符串,整数,字符或分别浮动。还有许多其他格式设置选项可以根据需要使用。现在让我们继续一个简单的示例,以更好地理解这些概念-
    以下示例显示如何在程序中使用#define-
    
    #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相同,这意味着您必须提供有效的输入,例如“%s”表示字符串,“%d”表示整数。如果不按给点格式输出,则将其视为错误的输入。其次,在读取字符串时,scanf()遇到空格时将立即停止读取,因此“this is test”是scanf()的三个字符串。