c语言运算
❶ c语言的运算
*++p还不就是等同*(++p)
就是先自加,然后取内容
printf("%d\n",*p);//p指向第一项
printf("%d\n",*(++p));//p指向第二项,就是2,然后返回内容
printf("%d\n",*++p);//p指向第三项,就是3,然后返回内容
printf("%d\n",*(p--));//p返回内容,就是3,然后指向第二项
❷ C语言运算
y=1.0+i/j+x;
i/j=4/8=0C语言中根据运行的变量或常量确认运行结果的类型。两个 int 计算的结果还是 int,所以将计算后的小数位舍去了,就得到提供的结果。
所以y=1.0+0+4.0=5.0
❸ C语言各种运算符的运算法则
c语言中,条件运算符的法则:
由高到低是:!(非),&&(与),||(或)
&&左边为0则不看右边运算,||左边为1不看右边!
例:
main()
{
int a=1,b=2,c=3,d;
d=!b>a&&c||c>2
printf("a=%d\n b=%d\n c=%d\n d=%d\n",a,b,c,d);
}
运行结果:a=1
b=0
c=3
d=1
程序执行说明:先执行!b>a即0>a,结果为0(b=0)
再执行0&&c结果为0,执行c>2结果为1
0||1结果为1
因为执行顺序为右结合,所以将整个表达式的结果给 d为1
}
条件运算符:
(表达式1)?(表达式2):(表达式3)
运算规划:如果表达式1为真,返回表达式2的结果,否则返回表达式3的结果
例如:
A=1,B=2
(A>B)?A:B
返回值为2
注意表达式是右结合的.
例:
A=1,B=2,C=3
(A>B)?A:B?C:B
相当于(A>B)?A:(B?C:B)
返回值为3
❹ C语言运算
#include<stdio.h>
main()
{
char x='0',y='9'; //查看ASC||码,'0'十进制是48,'9'的是57
printf("%c,%d,%d",x,x+y,x-y);//输出是0,105,-9
}
//第一个是字符%c输出0
//第二个是以十进制%d输出48+57=105
//第三个也是以十进制输出48-57=-9
❺ C语言运算符!
%是除法取余运算。用于整数与整数运算。否则,不同的编译器会得不同结果。'%'为取余运算符,用于把它前面的整数值或表达式除以其后面的整数值或表达式,结果为不能被后面的整数或表达式整除的最小整数,它后面的数值应该为大于1的正整数。
如"13%7",就表示13
除以7余6。
作为双目运算符,左右操作数可以是数值,也可以是表达式。但'%'运算符的左右操作数必须是整数。负数取余运算MS
VC++
编译器:
-4
%
6
=
-4
6
%
-4
=
2
(5)c语言运算扩展阅读:
在整数的除法中,只有能整除与不能整除两种情况。当不能整除时,就产生余数,所以余数问题在小学数学中非常重要。
取余数运算:
a
mod
b
=
c
表示
整数a除以整数b所得余数为c。
余数的计算公式:c
=
a
-⌊
a/b⌋
*
b
其中,⌊
⌋为向下取整运算符,向下取整运算称为Floor,用数学符号⌊
⌋表示
例:⌊
3.476
⌋=3,⌊6.7546⌋=6,⌊-3.14159⌋=
-4
如
7
mod
3
=
7-⌊7/3⌋*3=7-2*3=1
参考资料:余数_搜狗网络
❻ C语言运算符
波浪号 ~ 是2进制 按位运算符 “取反 ” 运算。
例如
int y=85;
10进制85,等于 16进制 0x55,
写成2进制是 0110 0110
~y -- 按位取反, 0变1, 1变0。得 1001 1001
y = ~y; 就是把 y 按位运算“取反 ”后,把新值 存回到 y 里。
-----------------------------------------------------------
char psw[8]; 是 char 数组。
char 可以看成 1 字节 整型。
psw[i]=~psw[i] 就是把 psw[i] 的内容 看成 2进制数,按位运算“取反 ”后,存回到 psw[i] 里。
❼ c语言运算符
d=--aII++b&&--c;这个表达式不是把--a、++b、--c的值赋值给d,而是判断他们结果为零还是不为零,如果表达式--aII++b&&--c不为零,则d=1,如果表达式为零则d=0;
所以在这道题里,表达式--aII++b&&--c的值不为零,所以d=1了