⑴ 在c语言中,i++与++i的区别,当i=5时,他们的变量值与表达式的值分别是多少
你好
这是个变量自加的问题,i++和++i是有区别的。
当一段代码里出现
...i++;...
或...++i;...
时,他们其实没多大区别,只是++i的执行效率要高些,但对结果i的值都是一样的。
但如果代码里出现的是
...m=i++;...
或...m=++i;...
时,他们结果就不一样了,因为i++是先赋值再自加(可以理解为2句:m=i;++i;),而++i是先自加再赋值(可以理解为2句:++i;m=i)。也就是说如果i=5,那么执行之后,前者的m=5;而后者m=6.
这些你可以试一下再慢慢体会,希望对你有帮助。。。
⑵ c语言的表达式是什么
C语言表达式的定义是:用C语言运算符将运算对象连接起来的式子,就叫表达式。
C语言在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。
当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则就会显得十分重要。
基本构成:
数据类型:C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
常量与变量:常量其值不可改变,符号常量名通常用大写。
变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
数组:如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,中括号内的索引值是从0算起的。
指针:如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
⑶ C语言中表达式的值怎么算
此式即等同于 (4!=3)&&(2)&&(4+1<5)
1代表真,0代表非,则原式即 1&&1&&0 所以值为0。
例如:
-12/5 = -2 只为这个是整数运算,结果只取整数部分。
62 1*(6+7) + 7 *(6+1) = 13 +49 62
3.2 *(6+7+1) = 44.8
(3)c语言表达式值和变量值扩展阅读:
一个表达式的赋值和算符的定义以及数值的定义域是有关联的。
两个表达式若被说是等值的,表示对于自由变量任意的定值,两个表达式都会有相同的输出,即它们代表同一个函数。
一个表达式必须是合式的。亦即,其每个算符都必须有正确的输入数量,在正确的地方。如表达式2+3便是合式的;而表达式*2+则不是合式的,至少不是算术的一般标记方式。
表达式和其赋值曾在20世纪30年代由阿隆佐·邱奇和Stephen Kleene在其λ演算中被公式化。λ演算对现代数学和电脑编程语言的发展都曾有过重大的影响。
⑷ c语言表达式和变量的值
你好,只是求表达式的值,先从最右边算起,先y=y*m;再y=y-y*m;最后y=y+(y-y*m),题目就是求最后y的值
⑸ c语言中,关系表达式和逻辑表达式的值是什么
c语言中,关系表达式和逻辑表达式的值是0或1。
逻辑表达式的值是一个逻辑值,即"true"或"false"。C言语编译体系在给出逻辑运算效果时,以数字1示意"真",以数字0示意"假",但在推断一个量是不是为"真"时,以0示意"假",以非0示意"真"。
因为浮点数在计算机中不能异常正确地示意,所以,推断两个浮点数是不是相同时,一般不运用关联运算符"即是"(==),而是应用区间推断方法来完成。
(5)c语言表达式值和变量值扩展阅读:
C语言中提供了三种逻辑运算符:
&& :与运算。
|| :或运算。
! :非运算,与运算符&&和或运算符||均为双目运算符。
具有左结合性。非运算符!为单目运算符,具有右结合性。
逻辑运算符和其它运算符优先级的关系可表示如下: !(非)→&&(与)→||(或)
⑹ C语言变量和表达式结果的储存方式的问题,请看题
根据C语言隐式类型转换规则,当表达式中存在有符号类型和无符号类型时所有的操作数自动转换为无符号类型。b = a;的时候a会自动转换为无符号类型,-1的二进制数全是1,转换为无符号后就是两字节的最大值65535,所以a和b的值都变成了65535,然后用8进制输出65535结果就是177777。
⑺ 在程序中变量与表达式是什么
在命令操作或程序执行过程中,其值可以改变的量为变量。包括内存变量和字段变量,
。表达式是由常量、变量、函数、运算符及圆括号组成的有意义的式子。通常可将变量看作表达式的特例。
⑻ 关于c语言表达式的值
这个是运算顺序的问题,第一个i++ 第二个是++i
k=k++;这句话因为++在后面 所以先赋值,后运算,先把k=11赋值 再对k进行+1运算,所以是11 12
k=++k;这句话++在前面,所以先计算++再对k赋值。所以也就是第二个先变成4.2 在对k进行赋值。以上就是出现两种结果的原因