C 语言基础教程

C 语言流程控制

C 语言函数

C 语言数组

C 语言指针

C 语言字符串

C 语言结构体

C 语言文件

C 其他

C 语言参考手册

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

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

C 语言输出

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

示例1:C 语言输出

#include <stdio.h>    
int main()
{ 
    //打印输出引号内的字符串
    printf("C Programming");
    return 0;
}

输出结果

C Programming

该程序如何工作?

  • 所有有效的C程序都必须包含该main()函数。代码从main()函数的开头开始执行。

  • printf()是一个库函数来格式化输出发送到屏幕上。该函数将打印引号内字符串。

  • 要在我们的程序中使用printf()函数,我们需要使用#include <stdio.h>语句包括stdio.h头文件  。

  • return 0;main()函数中的语句是程序的“退出状态”。 它是可选的。

示例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("输入数字: ");
    scanf("%d", &testInteger);  
    printf("Number = %d",testInteger);
    return 0;
}

输出结果

输入数字: 4
Number = 4

在这里,我们使用了scanf()函数内部的格式%d说明符来接收用户的输入int数值。用户输入整数时,它将存储在testInteger变量中。

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

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

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

    printf("输入一个数字: ");
    scanf("%f", &num1);
    printf("输入另一个数字: ");
    scanf("%lf", &num2);

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

    return 0;
}

输出结果

输入一个数字: 12.523
输入另一个数字: 10.2
num1 = 12.523000
num2 = 10.200000

float和double我们分别使用%f和%lf格式说明符。

示例7:C 字符 I / O

#include <stdio.h>
int main()
{
    char chr;
    printf("输入一个字符: ");
    scanf("%c",&chr);     
    printf("您输入了 %c.", chr);  
    return 0;
}

输出结果

输入一个字符: g
您输入了 g.

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

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

示例8:ASCII值

#include <stdio.h>
int main()
{
    char chr;
    printf("输入一个字符: ");
    scanf("%c", &chr);     

    //当使用%c时,将显示一个字符
    printf("您输入了 %c.\n",chr);  

    //使用%d时,显示ASCII值
    printf("ASCII 值为 % d.", chr);  
    return 0;
}

输出结果

输入一个字符: g
您输入了 g.
ASCII 值为 103.

多个值输入输出(I/O)

这是您可以从用户那里获取多个输入并显示它们的方法示例。

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

    printf("输入整数,然后再输入浮点数: ");
  
    //接受多个输入
    scanf("%d%f", &a, &b);

    printf("您输入了%d和 %f", a, b);  
    return 0;
}

输出结果

输入整数,然后再输入浮点数: -3
3.4
您输入了 -3 和 3.400000

I / O的格式说明符

从以上示例中可以看到,我们使用

  • %d 对应为 int

  • %f 对应为 float

  • %lf 对应为 double

  • %c 对应为 char

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

数据类型格式说明符
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