第三章运算符,表达式十个问题
来源:互联网 发布:ipad不下载软件 编辑:程序博客网 时间:2024/06/07 06:10
1. i+1;这类的函数式在哪种情况下正确
在括号表达式里,例如:int x; int i=3; x=(++i,i++,i+10)
逗号表达式里,i在遇到每个逗号后,认为本计算单位已经结束,i这时自加。例子i与10进行比较后,认为本计算单位已经结束,i这时候自加。
2. 条件表达式能否取代条件语句
不是所有的if条件语句都可以写成条件表达式。其实它们的实现方式很相似,但还是有一点区别的。条件表达式必须返回一个值,所以不能代替无返回值的if条件语句。
3为什么位运算符里没有同或运算
同或就是相同为真,不同为假。可以在异或前面加一个逻辑非来代替表示。位运算符是系统自带语言,里面没有同或。
4如何减少优先级错误
在表达式中,如果有布尔操作,算数运算,位操作等混合运算,最好在适当的地方加上括号,只是清楚明了,事实证明这是一个良好的编程风格
在C语言中,跟顺序有关的问题,有些定义很好,如优先级和结合性,有些定义的很含糊,如大部分表达式中的各个操作数计算顺序就是不确定的,目的是为了让编译器设计者选择最合适的方法来产生最快的代码,但是要注意的是在函数调用中,各个参数计算顺序是不确定的
5逗号运算符有什么作用
逗号表达式是指在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值,结合性是从左至右
6. C语言性能优化的方法有哪些
使用位操作
代码中使用代码块可以及时回收不再使用的变量,提高性能。变量的作用域从定义变量的那一行代码开始,一直到所在代码块结束
带参数的宏定义效率比函数高,简单的运算可以用宏定义完成
当一个函数被调用很多次,而且函数中某个变量值是不变的,应该将此变量定义为static(只会分配一次内存),可以提高程序效率
7指针数组和数组指针有什么区别
数组指针(也称行指针)定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。执行p+1时,p要跨过n个整型数据的长度
指针数组 定义 int *p[n]; []优先级高,先与p结合成一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素,可以*p=a,这里*p表示指针数组的第一个元素的值,a的首地址的值
8.什么是条件表达式的嵌套
表达式的嵌套简单理解就是表达式里有表达式,多重条件表达式计算顺序为自右向左。嵌套可以理解为包含,就是在if里面还有if
9. ++,--的前缀,后缀有什么区别
前缀比后缀的效率高,返回引用的效率比返回对象的效率高,所以前缀++返回引用,后缀++返回对象。总之,对于内置类型,采用哪种格式不会有差别,但对于用户定义的类型,如果有用户定义的递增和递减运算符,则前缀格式的效率更高
10 嵌入式对表达式有什么要求
较长语句要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读
循环,判断等语句若有较长的表达式或语句,则要进行适当的划分,长表达式要在低优先级操作符处划分新行,操作符放在新行之首
若函数或过程中的参数较长,则要进行适当的划分,一行程序以小于80字符为宜,不要写得过长
不允许把多个短语句写在一行中,即一行只写一个语句
相对独立的程序块之间,变量说明之后必须加空行
- 第三章运算符,表达式十个问题
- 第三章 运算符 表达式
- 第三章运算符 表达式的问题及解答
- 第三章 运算符、表达式与语句
- 第三章 基本运算符和表达式
- 第三章 运算符和表达式 java
- 第三章 运算符和表达式
- 第三章:表达式与运算符
- 第三章运算符与表达式
- 第三章运算符、表达式和语句
- 第三章 Shell表达式与运算符
- c语言教程 第三章 基本运算符与表达式
- 第三章:数据类型、运算符与表达式-笔记总结
- 第三章 数据类型、运算符与表达式 (答案)
- 我的C++ 第三章 运算符和表达式
- 第三章 运算符 表达式和流程控制
- 屌丝 c++语言程序设计 第三章 运算符和表达式
- python 教程 第三章、 运算符与表达式
- Spring 4.x 配置类学习笔记
- SpringBoot创建一个最基本的项目
- 《一个操作系统的实现》笔记(6)--进程
- 关于求最大公约数经典算法---辗转相除法的思考
- 9月1-10月7日阶段小结
- 第三章运算符,表达式十个问题
- python 中的counter 用法
- 三、ESP8266之 TCP服务器(基于LUA开发)
- 《一个操作系统的实现》笔记(7)--输入/输出系统(I/O)
- 零基础入门深度学习(7)
- 获取ubuntu键盘按键记录
- java程序员面试宝典2
- table'performance_schema.session_variables' doesn't exitst
- Ubuntu16.04安装搜狗输入法