c语言 空格_我的C语言学习笔记(四)

3.2.0 scanf函数

scanf函数是一个输入函数,相当于printf是输出函数,scanf函数的作用是从控制台读取用户输入的数据信息。

3.2.1 scanf函数的格式

scanf(“格式控制符”,变量地址列表);

注意:

    • 格式控制符用占位符来要求用户输入指定类型的值
    • 变量地址列表为&变量名,例如&num

例子:scanf(“%d”,&num);

3.2.2 scanf函数的执行原理

scanf函数是一个阻塞式函数,只有在用户输入数据后计算机系统才会继续执行C语言的命令代码。

3.2.3 scanf函数使用的占位符

使用scanf函数接收输入其他类型的数据。

想要让用户输入什么类型的数据,是根据格式控制符中的占位符来决定的。

%d 用户输入int类型;

%f 用户输入float类型;

%lf 用户输入double类型;

%c 用户输入char类型。

例子:

int num = 0;

scanf(“%d”,&num);

3.2.4 scanf函数的作用和用法

  • 是在程序运行的时候,让用户输入数据,并将数据存储到变量之中;
  • 先声明1个变量,变量的类型要和用户输入的数据类型一致。

然后要将用户输入的数据存储到哪一个变量中,就把这个变量的地址写在后面,使用&就可以取到变量的地址。当执行完毕之后,用户输入的数据就会自动存储到这个变量之中。

3.2.5 scanf函数的注意事项

    1. 如果用户输入的数据和要求的数据类型不一致,就会产生问题。
      1. 如果不给变量进行初始赋值,则如果客户输入的数据不符合要求会造成问题。
    2. 使用scanf函数接收用户输入多个数据。

例子:

int num1 = 0, num2 = 0;

scanf(%d%d”,&num1,&num2);

在输入两个数据时,可以用空格或回车隔开。

连续输入的时候默认分隔符是空格或回车,但是也可以自定义分隔符。

例子:scanf(%d-%d-%d”,num1,num2,num3);

记住!一旦指定了分隔符以后,就不可以再用空格或回车来做分隔符了。

如果使用scanf函数一次输入多个数据,只能是int、float或double类型,不能一起输入char类型。

3.2.6 scanf函数的缓冲区

    • 在执行scanf函数的时候,会让用户输入1个数据。在数据输入完毕之后,并不是将这个数据直接赋值给变量,而是先将数据存储在缓冲区。
    • 在执行scanf函数的时候,会先检查缓冲区中是否有数据。如果缓冲区中没有数据,那么就会让用户从键盘输入。如果缓冲区中有数据,直接从缓冲区中将数据拿出来,不会让用户输入数据。
    • 当从缓冲区中拿数据的时候,如果要拿的数据类型是整型或实型,拿到的是空格、回车、tab键就会被自动忽略,继续往下拿。
    • 如果要拿的数据类型是字符型,则不会忽略任何数据(包括空格、回车、tab键等)。
    • 将缓冲区清空的代码:rewind(stdin);
    • 例子:

int num = 0;

printf(“Please insert a number:”);

scanf(“%d”,&num);

char ch = ‘a’;

printf(“Please insert a character:”);

rewind(stdin);

scanf(“%c”,&ch);

printf(“num = %dn”,num);

printf(“ch = %cn”,ch);

3.3.0 变量赋值的一个经典题目

3.3.1 交换两个变量的值

    • 声明第三方临时变量,来交换。
      • 例子:

int num1 = 100;

int num2 = 200;

int temp = num1;

num1 = num2;

num2 = temp;

    • 两数相加再相减。
      • 例子:

int a = 10, b = 20;

a = a + b;

b = a - b;

a = a - b;


完整学习笔记会完全记录在我的个人网站和知乎上,另外,在完成学习笔记后我的个人网站还会有epub文件的下载,免费提供下载,敬请大家期待!我的个人网站:https://beautylife.pub

美丽人生工作室​beautylife.pub

C语言学习笔记的网址:(持续更新)

C语言学习 - BeautyLife Studio​beautylife.pub
77d064f4308e3694e3cbc89705f4c56c.png

感谢提供我个人网站服务器空间的优网主机:

优网主机 - 安全稳定、简单易用!​my.youwebcloud.com
d9b5885d157b2046cd7882825dbed4a3.png

我的C语言学习笔记专栏:

我的C语言学习笔记​zhuanlan.zhihu.com
fc09f719abb5731edb024efe0d4604ec.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值