C/C++常见笔试面试题(二)——软件特性、fseek()函数、逗号运算符、左值和右值
来源:互联网 发布:知乎 多功能料理机 编辑:程序博客网 时间:2024/06/13 22:46
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 循环当中。对于左值和右值,将在下一篇文章中给出
阅读全文
3 0
- C/C++常见笔试面试题(二)——软件特性、fseek()函数、逗号运算符、左值和右值
- C语言——逗号运算符和逗号表达式
- C++——左值引用和右值引用
- C++——左值引用和右值引用
- 从头认识C—左值和右值
- [C/C++不常见语法特性]_[初级]_[左值-右值-lvalue-rvalue]
- C语言精华记录——贰(几个关键字、几个运算符、隐式转换/溢出、表达式求值的顺序、左值和右值)
- C语言之左移和右移运算符
- C语言之左移和右移运算符
- C语言左值和右值
- C和指针(二)指针与左值、右值详解
- c语言常见面试题(二)
- C常见面试题<二>
- C语言面试题(与、或、异或、取反、左移和右移)
- C语言面试题(与、或、异或、取反、左移和右移)
- C语言面试题(与、或、异或、取反、左移和右移)
- C/C++常见笔试面试题
- 常见C/C++笔试、面试题
- spark1.6使用介绍
- 前阿里高管“下海”创业,做了一只全球卖断货的“水杯”
- 关于对LIR系统中不规则表格的整理算法研究
- (2)2017.8.3下,java小程序的实践
- JavaScript概览
- C/C++常见笔试面试题(二)——软件特性、fseek()函数、逗号运算符、左值和右值
- 【Selenium】15执行JS,判断元素点击,添加删除元素
- 剑指offer:多行打印二叉树
- Tornado源码之褪去模板(04)
- OpenCV学习之角点检测
- 小希的迷宫
- 使用Unity画一条平滑曲线(贝塞尔曲线)并使小球沿曲线运动
- LeetCode
- Locust性能测试框架介绍与安装