㈠ c语言怎么算
C语言怎么计算一个数有多少位的方法:
输入待计算的数x
定义一个数位的变量int n=0;
循环,x每次缩小10倍,n=n+1; 最终x会变成0,循环结束
输出n值
代码:
#include <stdio.h>
void main()
{
int x,m,n=0;
printf("input x: ");scanf("%d", &x );
m=x; //备份原数,供输出用
do {
n++;
x /= 10 ;
} while( x>0 );
printf("%d 是%d位数\n", m, n );
}
㈡ C语言计算。
n的值不变,还是2
&&运算的特点如下:
1. 运算是左结合的,先计算左表达式,再计算右表达式
2. 注意一下,如果&&的左表达式为假,则整个&&表达式返回假,不会再计算右表达式!!
所以:
表达式(m=a>b)&&(n=c>d)
先计算(m=a>b),由于a=5,b=6,所以a>b为假,返回0
m=a>b也就变为m=0,所以左表达式为假
表达式(m=a>b)&&(n=c>d)直接返回假,不再计算右表达式
所以n的值不会发生变化
㈢ c语言计算
首先不同的编程环境结果是不同的,这取决于执行的顺序,和优先级
你的这个编程环境中,应该是这样的
计算顺序按照由右至左进行:
先计算 i--=8,(先使用后自加,表达式值为8,计算后i值变为7)
再计算 i++=7,(先使用后自减,表达式值为7,计算后i值变为8)
再计算 --i=7,(先自减再使用,表达式值为7,i值为7)
再计算 ++i=8,(先自加再使用,表达式值为8,i值为8)
所以最后结果就是 8 7 7 8
㈣ C语言中有 ^ 这个运算符吗
有,但不太常见。
按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。还比如 m=9(二进制1001),n=12(二进制1100),那么 m ^ n的结果是5(二进制0101)。
整数在计算机中用二进制的位来表示,C语言提供一些运算符可以直接操作整数中的位,称为位运算,这些运算符的操作数都必须是整型的。按位异或运算符“^”是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。
分类和级别
C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。
相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。
而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)
合理使用优先级可以极大简化表达式。
以上内容参考:网络-C语言运算符
㈤ c语言计算
这个就是考察运算符优先级,也就是先计算谁,后计算谁, 可以看我下面的截图,优先级从上到下从高变低, 高优先级的优先运算。
1+3>3&&5%2==1 可以等价这个((1+3)> 3)&& ((5%2)== 1)
这个上面加括号是因为括号的优先级最高, 这样不知你能理解不。
㈥ C语言运算符!
%是除法取余运算。用于整数与整数运算。否则,不同的编译器会得不同结果。'%'为取余运算符,用于把它前面的整数值或表达式除以其后面的整数值或表达式,结果为不能被后面的整数或表达式整除的最小整数,它后面的数值应该为大于1的正整数。
如"13%7",就表示13
除以7余6。
作为双目运算符,左右操作数可以是数值,也可以是表达式。但'%'运算符的左右操作数必须是整数。负数取余运算MS
VC++
编译器:
-4
%
6
=
-4
6
%
-4
=
2
(6)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语言 计算公式
兄的 题目说清楚点把 如果迟到45分钟 是全部按2元/分钟算还是只是从31分钟开始按2元/分钟算呢
还有你是要完整的程序还是只要个计算公式
我有时间就帮你写
㈧ C语言 怎么计算出来的
这是我修改后的代码,可以执行,确实等于一,至于为什么一句话两句话解释不清楚,你在case语句前面加断点,单步调试就可以啦。记住一点,一旦满足case语句,而不break的话,会继续执行下一个case语句。
int k=1;
char c='A';
do {
switch(c++)
{
case 'A': k=2;break;
case 'B': k=k+2;continue;
case 'C': k%=3;
default: k++;
case 'D': k=k/3;
}
k++;
}while(c<'F');
printf("k=%d",k);
大致过程如下
第1次循环进caseA后 k=2 自加后=3
第2次循环case B后 k=5 因为是continue 不进行k++操作 直接判断
第3次循环case c后 k=2;然后进default k=3;然后进case D k=1;last the k =2
第4次循环case D后 k=0 and then k++,k=1
第5次循环 default:k = 2 and then case D: k = 0; the last k++,k =1
output k=1