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 循环当中。对于左值和右值,将在下一篇文章中给出