📜  C输入输出(I / O)

📅  最后修改于: 2020-10-04 12:17:38             🧑  作者: Mango

在本教程中,您将学习如何使用scanf() 函数从用户那里获取输入,并使用printf() 函数向用户显示输出。

C输出

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


示例1:C输出

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

输出

C Programming

该程序如何工作?

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

示例2:整数输出

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

输出

Number = 5

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


示例3:浮点和双输出

#include 
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 %lf值。


示例4:打印字符

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

输出

character = a

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


C输入

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


示例5:整数输入/输出

#include 
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 
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 
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 
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 
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 for int
  • %f表示float
  • %lf代表double %lf
  • %c表示char

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

Data Type Format Specifier
int %d
char %c
float %f
double %lf
short int %hd
unsigned int %u
long int %li
long long int %lli
unsigned long int %lu
unsigned long long int %llu
signed char %c
unsigned char %c
long double %Lf