您的位置:首页 > 编程语言 > C语言/C++

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

2017-08-03 16:26 417 查看
      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 循环当中。对于左值和右值,将在下一篇文章中给出

      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: