C/C++常见笔试面试题(二)——软件特性、fseek()函数、逗号运算符、左值和右值

      1、软件的特性:复杂性(人类需求复杂)、一致性(依附一定的环境)、可变性(可升级可改变)、不可见性(软件是代码的运行,程序员能看到代码,但是看不到代码的运行)

      复杂性

      人们的复杂需求导致了软件的复杂性。当然导致软件的复杂性因素还有很多。

      一致性
      1.软件不能独立存在,要依附于一定的环境(如硬件、网络、以及其他软件) 2.软件必须遵循从人为的惯例并适应已有的技术和系统。 3.软件需要随从接口不同而变化,随着时间推移而变化,而这些变化是不同人设计的结果   **一致性大概可以理解为功能和其所依赖的环境、接口的一致。
      可变性
      **软件的可变性体现在软件本身的升级,功能的变化等。 **微信的普及(使用量大幅度增加)是从摇一摇开始的。
      不可见性
      1.软件是一种“看不见、摸不着”的逻辑实体、不具有空间的形体特征   2.开发人员可以直接看到程序源代码,但是源代码本身并不是软件本身
 3.软件是以机器代码的形式运行,但是开发人员无法看到源代码是如何运行的

      2、fseek() 函数的作用是改变文件指针的当前位置

      函数原型为 int fseek(FIFE *stream, long offset,int origin)。第一个参数表示文件指针;第二个参数 offset 表示偏移量,正数表示正向偏移,负数表示负向偏移。第三个参数 origin 为设置从文件的哪里开始偏移,可能取值为 SEEK_CUR 当前位置;SEEK_END 文件结尾;SEEK_SET文件开头

      3、(1,2,3,4)是合法表达式吗?显然是,它是逗号表达式。

      逗号表达式的一般形式为表达式1,表达式2,表达式3,。。。表达式n。结果是最后一个表达式的值。注意,逗号运算符是所有运算符中级别最低的,因此,下面两个表达式的值是不同的。  1)x = (a = 3,6*3),显然,x = 18;    2)x = a =3,6 * a,显然,x 的值是3。

      逗号运算符,首先对左侧的表达式求值,然后将求值结果丢弃掉,它真正的结果是最右侧表达式的值。如果右侧对象是左值,最终的求值结果也是左值。逗号运算符经常被用于 for 循环当中。对于左值和右值,将在下一篇文章中给出


      

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值