C语言初学者的你是否有这样的经历?
写几行代码就要对着笔记检查一遍;或者不看笔记就记不起,容易混淆相似点;亦或是笔记不全......导致写代码效率低下。
不过不要慌,小编在这里整理了一些零碎的知识点,耐心看完,一定对你有帮助。
一.数据类型和对应 printf 函数打印所需 "% "后的内容
1.数据类型
- char 字符数据类型
- short 短整型
- int 整型
- long 长整型
- long long 更长的整型
- float 单精度浮点数
- double 双精度浮点数
2.对应 printf 函数打印所需 "% "后的内容
- %d - 打印十进制的整数 (通常与 int 匹配)
- %c - 打印字符
- %s - 打印字符串
- %f - 打印 float 类型的浮点数
(1) 这里值得注意的是:%f 会默认打印6位小数
如果想要控制小数位数,用 %.几f (千万不能忘记 % 后的 "." !!!)
例如:想保留2位小数
- %lf - 打印 double 类型的浮点数
- %zd - 打印无符号整型,专门用来打印 sizeof 函数
- %p - 打印地址
- %ld - 与长整型 long 相匹配
- %lld - 与 long long 相匹配
(2) %ld %lld 和 %d 相似,那什么时候用 %ld %lld 呢?
%d 通常与 int 相匹配,而用 int 定义的变量,打印时最大只能打印到20亿左右。当输出结果大于这个值时,打印出的往往是错误的结果。例如:
当我们输入小数字,结果正确。
如果数字大一些呢?比如,输入100000,正确结果应该是 5000050000(>20亿)
可是输出结果显然错误。
怎么解决?用 %lld
二.多组输入问题
题目:假设智商 >140 是 Genius ,多组输入一个值表示智商,判断其是不是 Genius 。
如果你和小编一样,刚开始成这样,会发现只输入一个值,按回车,程序就结束了。无法多组输入。
怎么解决呢? 借助 while 循环。 当然要知道以下3个知识点:
- scanf 函数返回的是:实际读到数据的个数
- scanf 函数读取失败的时候,返回 EOF
- EOF - end of file 文件结束标志
只需记住下面两种写法:
怎么结束程序呢? 按 Ctrl + Z 。(有的编译器可能要多按几遍。比如 VS 2022 需要按三遍)
三.判断条件想输入区间 怎么办?
想根据年龄判断一个人是否为青年,假设年龄18~36 是青年。
直接用数学方法写吗?
显然,结果不是我们想要的。难道是编译器出错了?其实不然。
原因:18 <= 2 为假,变成0 而 0 <= 36 为真,就打印了。
怎么解决? 用 逻辑操作符 &&与 | | 或
四.除法如何打印小数
这里要用到算数操作符 :/ 除号
- / 两端如果都是整数,执行的是整数除法,结果是商
- / 两端至少有一个是浮点数,才能执行浮点数除法
本篇的分享就到这里了,感谢观看,如果对你有帮助,别忘了点赞+收藏+关注。
小编会以自己学习过程中遇到的问题为素材,持续为您推送文章。
如果有建议欢迎在评论区或私信留言,小编才能发布更优秀的文章。感谢您的大力支持。