(持续更新)C语言笔试题整理

在这个博客专门记录我在牛客网刷的有关于C语言的笔试题目。
无论什么事,如果不断收集材料,积之十年,总可成一学者。——鲁迅

-------------------------------------------2020年8月21日-------------------------------------
1.在这里插入图片描述
解答:fclose()函数用来关闭一个已经打开的文件,是C语言标准库函数,而不是成员函数

在这里插入图片描述
解答:
优先级
根据优先级,++和- -d的优先级比 * 和 / 的优先级高,因此先计算++或者- -。x=++x*y可看作x=(++x)*y,x的值为8,++x先进行自增操作,变为9,y的值为2,所以x变为9 * 2=18;z=x/y++可看作为z=x/(y++),y的值为2,y++先赋值给y再进行加1,此时y的值为2,x的值为18,所以z=18/2=9,此时y的值变为3.

3.在这里插入图片描述
解答:在C语言中不可将浮点变量与"==“或者”!="与任何数字进行比较,浮点变量a,不可写成if(a= =0.0),应该改为:

const float EPSINON=0.000001;
if(a<EPSINION&&a>EPSINION)//或者if(fabs(a)<0.00001)

不能直接用==比较和浮点数在内存中的存储形式有关。在计算机中,浮点数不想整数那样表示的十分正确,它通常取的是近似值,所以,判断两个浮点数是否相等,需要判断其是否落在同一区间,这个区间就是(-EPSINON,EPSINON),EPSINON一般很小,通常为10^6以下。(这段内容摘自《程序员面试笔试真题与解析—猿媛之家》)
在java当中,我发现可以直接用= =比较,这是为什么?有谁知道原因嘛?
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44116132/article/details/108157774
今日推荐