c语言表达式语法规则
① c语言语法的表达式有什么要求
执行到那一句才有相应的效果,问号表达式可以改写成if-else:
x = a > b ? i++ : i++;
等同于:
if(a > b)
x = i++;
else
x = i++;
所以最后x等于3,i自增了一次等于4。
为什么一定要去研究那些没用的旮旯呢,我从来不记什么结合方向和运算符优先级别,对于问号表达式,我只知道:
x = a > b ? i++ : i--;
如果a > b,那么x = i++,否则x = i--,而整个表达式取了哪一个i的值,那个i的相关副作用运算(如果有的话,比如自增自减)才发生作用。如果你实在想不透就把它改写成上面那样的if-else语句,一目了然,没必要学孔已己样咬文嚼字在那些拐角旮旯里浪费时间。
BTW:你们的考试考运算符结合方向?天......
② c语言有哪些表达式语句,规则是是什么样的
c语言中常用表达式有:
1.算术表达式;
2.赋值表达式;
3.逗号表达式;
4.关系表达式;
5.逻辑表达式。
希望对你有所帮助,祝你学习进步。
③ C语言 什么是表达式
C语言表达式的定义是:用C语言运算符将运算对象连接起来的式子,就叫表达式。
C语言在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。
当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则就会显得十分重要。
基本构成:
数据类型:C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
常量与变量:常量其值不可改变,符号常量名通常用大写。
变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
数组:如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,中括号内的索引值是从0算起的。
指针:如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
字符串:C语言的字符串其实就是以'