C语言中的输入输出详解

在计算机编程中,输入和输出是程序与外部世界交互的两个基本方式:

  • 输出:将计算机处理后的数据传输至外部输出设备,如显示器或打印机。
  • 输入:从外部输入设备(如键盘、鼠标或扫描仪)接收数据并输入到计算机内部进行处理。

C语言本身并未提供内建的输入输出语句,而是通过调用标准库中的输入输出函数来完成这些操作。下面我们将详细介绍C语言中常用的输入输出函数。

输入函数

  1. scanf():这是一个格式化输入函数,可以接收任意类型的数据。
  2. getchar():字符输入函数,只能接收单个字符。
  3. gets():字符串输入函数,用于接收一整行的字符串输入。

输出函数

  1. printf():格式化输出函数,可以根据指定的格式输出任意类型的数据。
  2. putchar():字符显示函数,只能输出单个字符。
  3. puts():字符串输出函数,用于输出一个完整的字符串,并自动添加换行符。

1. scanf()的使用

scanf("格式控制字符串", 参数地址列表);
  • 格式控制字符串用于约定输入数据的类型和格式,参数的个数必须与变量地址的个数一致。
  • 参数地址列表是一个以逗号分隔的输入数据变量地址序列,每个地址前需加上取址运算符&

例如:

scanf("%d%d%d",&a,&b,&c);

在此例中,%d表示读取整型数值,连续的%d意味着按照顺序读取三个整数,并分别存入变量a、b、c的内存地址中。

以下是几个使用scanf的示例:

示例1:计算圆的面积

#include <stdio.h>

int main() {
   
    float radius, area;
    printf("请输入半径值:  ");
    scanf("%f", &radius);      // 输入半径
    area = 3.14 * radius * radius;
    printf("area=%f\n", area); // 输出圆的面积
    
    return 0;
}

示例2:求整数绝对值

#include <stdio.h>

int main() {
   
    int num;
    printf("输入一个整数:");

    scanf("%d", &num);
    int absNum = num;
    if(absNum < 0)
        absNum = -absNum;
    printf("\n 整数:%d--->绝对值为:%d\n", num, absNum);

    return 0;
}

示例3:计算两个数的乘积

#include <stdio.h>

int main() {
   
    int a,b,c;
    printf("请输入整数a,b:");
    scanf("%d%d",&a,&b);
    c=a*b;
    printf("%d*%d=%d\n",a,b,c);
    
    return 0;
}

2. getchar()与putchar()的使用

  • getchar():从键盘缓冲区读取一个字符。
  • putchar(ch):向标准输出设备输出一个字符,其中ch是一个字符变量。

getchar()putchar()的示例:

#include <stdio.h>

int main() {
   
    char c = 'A';
    putchar(c);   // 输出字符A
    c = getchar(); // 从键盘读取一个字符并赋值给c
    putchar(c);   // 输出刚刚读取的字符

    return 0;
}

3. gets()与puts()的使用

  • puts():用于输出以null字符结尾的字符串,并自动添加换行符。
  • gets():读取一行字符串输入,直到遇到换行符为止。

尽管gets()由于安全问题已不推荐使用,但为了完整性我们仍做简要介绍:

int main() {
   

    char str[20];
    gets(str);      // 获取输入的字符串,

相关推荐

  1. C语言输入输出详解

    2024-01-07 01:20:02       65 阅读
  2. C语言标准输入输出

    2024-01-07 01:20:02       62 阅读
  3. C++输入输出速度优化

    2024-01-07 01:20:02       31 阅读
  4. C语言】(7)输入输出

    2024-01-07 01:20:02       59 阅读
  5. C语言】格式化输入/输出

    2024-01-07 01:20:02       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-07 01:20:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-07 01:20:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-07 01:20:02       82 阅读
  4. Python语言-面向对象

    2024-01-07 01:20:02       91 阅读

热门阅读

  1. 第七节 按需导入elementPlus

    2024-01-07 01:20:02       59 阅读
  2. [数理统计]中国科技技术大学缪柏其

    2024-01-07 01:20:02       44 阅读
  3. 常见的深度相机品牌有哪些。

    2024-01-07 01:20:02       54 阅读
  4. 线特征_LSD直线检测算法和LBD直线描述子

    2024-01-07 01:20:02       61 阅读
  5. k8s之pod进阶

    2024-01-07 01:20:02       54 阅读
  6. Android 车联网——CarManager管理器(四)

    2024-01-07 01:20:02       60 阅读
  7. Android.mk 常用模块类型

    2024-01-07 01:20:02       47 阅读
  8. Go语言程序设计-第6章--方法

    2024-01-07 01:20:02       61 阅读