C 语言笔记
  • Introduction
  • First Chapter
  • 第一个程序
  • 变量与数据类型
    • puts 与 printf
    • 整数(short,int,long)
    • 小数(float,double)
    • 字符(char)与字符串
    • 数据类型转换
    • 自增(++)和自减(--)
    • 变量和数据类型
  • 输入输出
    • 数据输出函数
    • 从键盘输入数据
  • 附录*关键字及其解释
  • 附录*转义字符
  • 附录*进制转换
  • 附录*单位换算
  • 预处理命令
  • 结构体
    • -> 访问符意思
  • 指针
    • 指针与二维数组
    • 函数指针(指向函数的指针)
    • 彻底攻克C语言指针
    • 指针的总结
  • 资料
Powered by GitBook
On this page

Was this helpful?

  1. 输入输出

从键盘输入数据

程序是人机交互的媒介,有输出必然也有输入。在C语言中,有多个函数可以从键盘获得用户输入:

  • scanf():和 printf() 类似,scanf() 可以输入多种类型的数据。

  • getchar()、getche()、getch():这三个函数都用于输入单个字符。

  • gets():获取一行数据,并作为字符串处理。

scanf() 是最灵活、最复杂、最常用的输入函数,但它不能完全取代其他函数,大家都要有所了解。

scanf()函数

scanf 是 scan format 的缩写,意思是格式化扫描,也就是从键盘获得用户输入。我们先来看一个例子:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a, b, c, d;
    scanf("%d", &a);  //输入整数并赋值给变量a
    scanf("%d", &b);  //输入整数并赋值给变量b
    printf("a+b=%d\n", a+b);  //计算a+b的值
    scanf("%d %d", &c, &d);  //输入两个整数并分别赋值给c、d
    printf("c*d=%d\n", c*d);  //计算c*d的值

    system("pause");
    return 0;
}

运行结果:

12↙
60↙
a+b=72
10 23↙
c*d=230

↙表示按下回车键。

从键盘输入12,按下回车键,scanf() 就会读取输入数据并赋值给变量 a,本次输入结束,执行下一条语句。接着给变量b赋值,也是同样的道理。

第9行代码中,我们同时输入两个整数并分别赋值给c、d。注意"%d %d"之间是有空格的,所以输入数据时也要有空格。也就是说,输入数据的格式要和控制字符串的格式一致。

scanf 和 printf 非常相似:

scanf("%d %d", &a, &b);  // 获取用户输入的两个整数,分别赋值给变量 a 和 b
printf("%d %d", a, b);  // 将变量 a 和 b 的是在显示器上输出。

它们都有格式控制字符串,都有变量列表。不同的是,scanf 的变量前要带一个&符号;&称为取地址符,也就是获取变量在内存中的地址。

Previous数据输出函数Next附录*关键字及其解释

Last updated 5 years ago

Was this helpful?