理解printf 和scanf

————————————————————————
1. 除号(/)的玄机——浮点数除法和整型除法的注意事项?

整型除法:除号的两端如果是除数,执行的是整数除法,得到的结果也是整数。(只会返回整数部分,丢弃小数部分

浮点数除法:两个运算数必须至少有一个浮点数

2. 前置后置自增自减究竟怎么算?

前置++:++a,先+1,再使用

后置++:a++,先使用,再+1

3. 强制类型转化是什么?

int a = (int)3.14;

//意思是将3.14强制类型转换为int类型,这种强制类型转换只取整数部分

(万不得已才使用

📍【详解printf函数!】

4. 占位符是个啥?多个占位符怎么一起使用?

占位符就是所占的这个位置可以用其他值代入。

占位符的第一个字符一律为百分号%

输出文本里面可以使用多个占位符。

printf ( )参数与占位符是一一对应关系,如果有n个占位符,printf ( )的参数就应该有n+1个。如果参数个数少于对应的占位符,printf ( )可能会输出内存中的任意值。

5. 如何限定输出最小宽度?

利用占位符。比如%5d表示这个占位符的宽度至少为五位。如果不满五位,对应的值前面会添加空格。(输出值默认右对齐)

6. printf输出还能控制左对齐或者右对齐?

输出的值默认是右对齐,即输出内容前面会有空格。

如果要改成左对齐,即在输出内容后面添加空格,可以在占位符的%后面加入一个-号。

7. %*.*f  是个啥?

第一个*表示输出字符串的最小宽度

第二个*表示小数位数

📍【详解scanf!】

8. 什么?vs里不让用scanf?该怎么办!

在main函数前面加上

#define _CRT_SECURE_NO_WARNINGS

9. 缓冲区是啥?竟和scanf有关系?

scant处理用户输入的原理是:用户的输入先放入缓冲区,等到按下回车键后,按照占位符对缓存进行解读。

10. 浮点数怎么计算机还不能精确存储?

计算机使用二进制运算,程序中的十进制转换为二进制,在进行运算。float和double的小数部分转换为二进制时容易产生循环的情况,通常都会取无线接近于原值的近似值,所以导致部分强制转换会出现精度丢失,出现不精确的值。

11. scanf返回值表示什么?有什么含义?

scanf( )的返回值是一个整数,表示成功读取的变量个数。

12. 多组数据输入如何用scanf实现?

13. scanf里使用占位符%c,要多留个心眼——小心空白字符被吃掉

14. scanf里使用%s,遇到空白字符会停止吗?——存储到变量里后会自动存储'\0'

15. 赋值忽略符有什么用?

防止用户输入不符合规定的格式使得解析数据失败。

只要把*加在任何占位符的百分号后面,该占位符就不会返回值,解析后将被丢弃,。
————————————————————————————
 

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值