C 语言输入输出 (I/O)

C语言输出

在C语言中,printf()是主要的输出函数之一。该函数将格式化输出发送到屏幕。例如:


示例 1:C语言输出

#include <stdio.h>    
int main()
{ 
    // Displays the string inside quotations
    printf("C Programming");
    return 0;
}

输出

C Programming

这个程序是如何工作的?

  • 所有有效的C语言程序都必须包含main()函数。代码执行从main()函数的开头开始。
  • printf()是一个库函数,用于将格式化输出发送到屏幕。该函数打印引号内的字符串。
  • 为了在我们的程序中使用printf(),我们需要使用#include <stdio.h>语句包含stdio.h头文件。
  • main()函数中的return 0;语句是程序的“退出状态”。它是可选的。

示例 2:整数输出

#include <stdio.h>
int main()
{
    int testInteger = 5;
    printf("Number = %d", testInteger);
    return 0;
}

输出

Number = 5

我们使用%d格式说明符来打印int类型。在这里,引号内的%d将被testInteger的值替换。


示例 3:浮点数和双精度数输出

#include <stdio.h>
int main()
{
    float number1 = 13.5;
    double number2 = 12.4;

    printf("number1 = %f\n", number1);
    printf("number2 = %lf", number2);
    return 0;
}

输出

number1 = 13.500000
number2 = 12.400000

要打印float,我们使用%f格式说明符。同样,我们使用%lf来打印double值。


示例 4:打印字符

#include <stdio.h>
int main()
{
    char chr = 'a';    
    printf("character = %c", chr);  
    return 0;
} 

输出

character = a

要打印char,我们使用%c格式说明符。


C语言输入

在C语言中,scanf()是从用户获取输入的最常用函数之一。scanf()函数从标准输入(如键盘)读取格式化输入。


示例 5:整数输入/输出

#include <stdio.h>
int main()
{
    int testInteger;
    printf("Enter an integer: ");
    scanf("%d", &testInteger);  
    printf("Number = %d",testInteger);
    return 0;
}

输出

Enter an integer: 4
Number = 4

在这里,我们在scanf()函数中使用%d格式说明符从用户获取int输入。当用户输入一个整数时,它被存储在testInteger变量中。

请注意,我们在scanf()中使用了&testInteger。这是因为&testInteger获取testInteger的地址,用户输入的值被存储在该地址中。


示例 6:浮点数和双精度数输入/输出

#include <stdio.h>
int main()
{
    float num1;
    double num2;

    printf("Enter a number: ");
    scanf("%f", &num1);
    printf("Enter another number: ");
    scanf("%lf", &num2);

    printf("num1 = %f\n", num1);
    printf("num2 = %lf", num2);

    return 0;
}

输出

Enter a number: 12.523
Enter another number: 10.2
num1 = 12.523000
num2 = 10.200000

我们分别使用%f%lf格式说明符来处理floatdouble


示例 7:C语言字符 I/O

#include <stdio.h>
int main()
{
    char chr;
    printf("Enter a character: ");
    scanf("%c",&chr);     
    printf("You entered %c.", chr);  
    return 0;
}   

输出

Enter a character: g
You entered g

当用户在上述程序中输入一个字符时,字符本身并不会被存储。相反,存储的是一个整数值(ASCII值)。

当我们使用%c文本格式显示该值时,会显示输入的字符。如果我们使用%d来显示字符,则会打印其ASCII值。


示例 8:ASCII 值

#include <stdio.h>
int main()
{
    char chr;
    printf("Enter a character: ");
    scanf("%c", &chr);     

    // When %c is used, a character is displayed
    printf("You entered %c.\n",chr);  

    // When %d is used, ASCII value is displayed
    printf("ASCII value is %d.", chr);  
    return 0;
}

输出

Enter a character: g
You entered g.
ASCII value is 103.

I/O 多个值

以下是如何从用户获取多个输入并显示它们。

#include <stdio.h>
int main()
{
    int a;
    float b;

    printf("Enter integer and then a float: ");
  
    // Taking multiple inputs
    scanf("%d%f", &a, &b);

    printf("You entered %d and %f", a, b);  
    return 0;
}

输出

Enter integer and then a float: -3
3.4
You entered -3 and 3.400000

I/O 格式说明符

正如您从上面的示例中看到的,我们使用

  • %d 用于 int
  • %f 用于 float
  • %lf 用于 double
  • %c 用于 char

以下是常用的C语言数据类型及其格式说明符的列表。

数据类型 格式说明符
int %d
char %c
浮点数 %f
双精度浮点数 %lf
short int %hd
无符号整型 %u
long int %li
long long int %lli
unsigned long int %lu
unsigned long long int %llu
有符号字符 %c
无符号字符 %c
long double %Lf

视频:在C语言编程中获取用户输入

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战