精华内容
下载资源
问答
  • 当a=3,b=2,c=1时
    千次阅读
    2020-07-12 11:09:31

    解释:

    a=x(x:b=c=5)时,因为=的结合性从右到左,所以先计算x的值,计算x的值的时候发现x=y(y:c=5),所以需要先计算y的值,计算y的值的时候发现y=z(z:5),所以需要先计算z的值。

    注:

    定义变量a,b,c且没有赋初值的情况下,如果a=b=c这是会报错误的;
    当a=b=c=1;这样应可以翻译成c=1;b=c;a=b;因此语句是正确的。

    更多相关内容
  • C语言a=b==c的使用

    千次阅读 2021-02-08 11:26:49
    如果简化一下大概就是如标题所示a=b==c,其实现在看着也还是比较可爱的了,但是依稀记得第一次见,快挠破了头。 阐述a=b==c 观察结构,可以发现ab之间存在运算符=,那么同理bc之间肯定也是一个运算符,总不能...

    前言

    C语言有着许许多多的运算符,一不注意可能就见到个奇奇怪怪看不懂的东西,例如下面这个:
    set_result = AstPmmRestoreParam(kAstPmmAuthRoot) == 0;
    如果简化一下大概就是如标题所示a=b==c,其实现在看着也还是比较可爱的了,但是依稀记得第一次见时,快挠破了头。

    阐述a=b==c

    观察结构,可以发现a和b之间存在运算符=,那么同理b和c之间肯定也是一个运算符,总不能变出来个新品种吧。
    既然也是运算符,而且中间是连接的,就说明肯定是双等号运算符==,那就好分析了,这个表达式有两次运算。
    这个时候就涉及到了,运算符的优先级问题,而双等号==的优先级是大于单等号=的,所以这个式子是先进行b和c的==运算,然后结果与a再进行=运算,总结一下就是先看下b==c的结果,结果是1或者0,然后将这个值赋值给a。
    这就是a=b==c的含义,其实并没有想象中那么难。
    在C语言里,其实没有那么多奇奇怪怪的,遇见了,只要好好分析下就好了。
    毕竟C语言他能有什么坏心思呢。
    最后附上C语言运算符的优先级,来源于百科:

    https://baike.so.com/doc/6149729-6362919.html
    在这里插入图片描述

    展开全文
  • int a,b,c; a=1;b=2;c=3; if(a>c) b=a; a=c; c=b; printf("%d%d%d\n",a,b,c); return 0; } 这个程序的运行结果为:322 解释: 首先需要知道一个前提:if语句在后续的语句不加 {} 的前提下,只负责执行它...
    一:
    #include<stdio.h>
    main()
    {
        int a,b,c;
        a=1;b=2;c=3;
        if(a>c)
        b=a;
        a=c;
        c=b;
        printf("%d%d%d\n",a,b,c);
        return 0;
    }

    这个程序的运行结果为:322

    解释:

    首先需要知道一个前提:if语句在后续的语句不加 {} 的前提下,只负责执行它的下一条语句。

    1.因为 if(a>c)的语句不能成立,所以接下来的第一条语句b=a;则不执行,继续执行下面的语句。

       那么因为c=3,则a=c;语句的a值最后为3

              因为关于b的语句没有执行,所以b的值不变,仍然为2,那么执行语句c=b;后的c的值也为2

    所以最后的结果按abc来排序,则为322

    二:相比较于上面的程序,这里只更改了一个关系运算符“<”,结果也是不同的。

    #include<stdio.h>
    main()
    {
        int a,b,c;
        a=1;b=2;c=3;
        if(a<c)
        b=a;
        a=c;
        c=b;
        printf("%d%d%d\n",a,b,c);
        return 0;
    }
    解释:

    1.因为 if(a<c)成立,则执行b=a;语句b的值就为1

       继续执行a=c;语句,则最后a的值为3

       继续执行c=b;语句,因为此时b的值经过上面的语句已经成为了1,这时候就相当于再把1赋值给c,所以最后的c值为1

    最后总的执行结果按abc排序就是:311

    展开全文
  • C语言b=a<<2;是什么意思?

    千次阅读 2021-05-21 14:27:21
    C语言中,b=a<<2代表将a移位后的值赋值给b例如:100的二进制表示为1100100,100左移2位后,后面加2个零1100100<<2=110010000=400,可以看出,a<通常认为a<<1a*2更快,因为前者是更底层一些...

    在C语言中,b=a<<2代表将a移位后的值赋值给b

    例如:100的二进制表示为1100100,100左移2位后,后面加2个零1100100<<2 =110010000 =400,可以看出,a<

    通常认为a<<1比a*2更快,因为前者是更底层一些的操作。因此程序中乘以2的操作尽量用左移一位来代替。

    7cf264d54d170f2b27c497ee0dd62b08.png

    扩展资料

    C 语言支持的赋值运算符

    =: 简单的赋值运算符,把右边操作数的值赋给左边操作数。如C = A + B 将把 A + B 的值赋给 C 。

    +=: 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数。如C += A 相当于 C = C + A。

    -=: 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数。如C -= A 相当于 C = C - A。

    *=:乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数。如C *= A 相当于 C = C * A。

    /=: 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数。如C /= A 相当于 C = C / A。

    %=: 求模且赋值运算符,求两个操作数的模赋值给左边操作数。如C %= A 相当于 C = C % A。

    <<=: 左移且赋值运算符。如 C <<= 2 等同于 C = C << 2。

    >>=:右移且赋值运算符。如C >>= 2 等同于 C = C >> 2。

    &=:按位与且赋值运算符。如C &= 2 等同于 C = C & 2。

    ^=:按位异或且赋值运算符。如C ^= 2 等同于 C = C ^ 2。

    |=:按位或且赋值运算符。如 C |= 2 等同于 C = C | 2。

    展开全文
  • a,*c=c语言中float a=1;对吗?-,c语言的问题。float a=1,*b=&a,*c=&b; 这个定义为什么不对匿名网友:编译器启用了: 隐式类型转换.不过整型和浮点型的存储结构不同, 在某些情况下很容易出乱子, 不是什么...
  • C语言a=b=c,a=b==c,a==(b=c),a==(b==c)的简单分析

    万次阅读 多人点赞 2016-03-12 15:06:14
    最近一个同学在看java的代码问的一个关于C语言的问题,看着其实挺简单的,可是我也是好久没有碰C语言了当时就把...int a=4,b=2,c=3; int d=8; printf("%d,%d,%d,%d\n",a=b=c,a=b==c,a==(b=c),a==(b==c)); //system("pa
  • Y=aX的b次方怎么用C语言

    千次阅读 2021-05-22 03:39:08
    设y=ax的7次方+bx的5次方+cx-5(a,b,c为已知常数)x=-7,y=7;x=7,试求y的值?y=ax的7次方+bx的5次方+cx-5,那么y+5是个奇函数所以x=-7,y=7y+5=12;x=7,y+5=-12,y=-17再问:偶不懂...
  • a=b++,c++和a=(b++,c++)的区别

    千次阅读 2019-08-25 16:56:27
    a=b++,c++ 相当于a=b++;c++; a=(b++,c++) 相当于a=c++;加括号才是逗号表达式
  • C语言c=ab?ab; 是什么意思?

    千次阅读 2021-05-18 14:08:41
    问: C语言c=a答: 其中:a问: return在C语言中是什么意思答:C语言中 函数的定义格式是返回值类型 函数名称(函数的参数) (void开头的函数可以不返回任何值)函数执行完成之后... int a=1,b=2; c=sum(a,b); return 0...
  • C语言中的a = b >= c ? d : e;

    千次阅读 2020-04-11 17:31:39
    (1) C语言中的a =b >= c ? d : e; 如果 b>=c 条件成立,那么结果为a=d; 如果 b<c 条件成立,那么结果为a=e; 附一个例子 si=NE555_Frequency>=10000 ? NE555_Frequency/10000 : 11; wu=NE555_Frequency&...
  • B.a=7+b+ca++若变量已正确定义并赋值,符合C语言语法的表达式是()Aa=a+7;B.a=7+b+ca++C.int(12.3%4)D.a=a+7=c+b要解释,谢谢解答:以下详细解析.A:正确B:a=7+b+c,a++;在编译器看来这句代码是可以通过编译的,...
  • C语言两个整数交换,a=b ,b=a

    千次阅读 2017-12-25 10:58:46
    #include int main() { int a = 5,b = 6,c; c = a; a = b; b = c; printf("A = %d,B = %d,",a,b); return 0; }
  • public static void main(String[] args) { int a = 1; int b = 2; //第一种 /* int c=a; a=b; b=c;*/ //第二种:异或运算 a = a ^ b; b =...
  • c语言a=b=c是先将c的值赋予b,再把b的值赋予a还是先将b的值赋予a,再把c的值赋予b
  • #include “stdio.h” int main() { int a,b;//定义整形变量 float x,y;//定义浮点型变量 char c1,c2;//定义字符型变量 scanf("%d %d",&...printf(“a=%d b=%d x=%lf y=%lf c1=%c c2=%c\n”,a,b,x,y,c1
  • c语言中a+=ba=a+b有什么区别,初学者求答案!不甚感激,
  • c语言a=b--<=a||a b!=c怎么算a=1,b=2,c=3,求计算过程以及计算后ab的值
  • C++中a += ba = a + b的区别

    千次阅读 2020-07-13 15:54:40
    注意,当a是整数,效率相差的可能不是很明显,但是当a是字符串的时候,多了两次字符串拷贝对效率的影响是非常大的。 从编译角度看 对于不同类型的a,b来说 1 不同类型的两个变量在进行运算的时候,我们经常说到...
  • 新手总结,关于JavaScript中var a = b = c;的拆解

    万次阅读 多人点赞 2019-01-15 19:53:17
    目录一、问题的起源二、解释问题的方式工具原理一:预解析原理二:隐式全局变量原理三:两个变量同时指向一个对象,那么对这个对象的修改是同步三、拆解var a = b = constant的声明与赋值1. 利用预解析拆解var a=b=...
  • 首先说一下基本优先级1)括号永远优先级最高2)无括号的默认优先级* / 运算优先级最高% 运算优先级次高+ -运算优先级最低然后来看算式:a+(int)(b/3*(int)(a+c)/2)%4=2.5+(int)[7/3*(int)(2.5+4.7)/2]%4 --①代入变量值...
  • 用下面的scaf函数输入数据,使a=3b=7,x=8.5,y=71.82,c1=‘A’,c2=‘a’。如何在键盘上输入? #include<stdio.h> int main() { int a,b; float x,y; char c1,c2; scanf(“a=%db=%d”,&a,&b); ...
  • C语言a=%d%%是什么意思

    千次阅读 2021-05-21 15:48:37
    &在C语言中可能表示两种运算符。如果运算对象只有一个,且为右操作数,那么&为取地址运算符,结果为操作对象的地址。...每一个位的位与运算法则是,且仅运算数都为1时结果为1,即:1&1==1...
  • 逗号表达式的优先级是从左到右吗? 答案是24,求各位大佬帮忙解答一下。
  • python的 a,b=b,a+ba=b b=a+b 的区别(经典)

    万次阅读 多人点赞 2018-03-25 15:37:48
    刚刚我在学习python的时候,发现下面的这个赋值要把给绕晕了(思考了很久),所以我整理之后写下博文, ...n,a,b=0,0,1 while n&amp;amp;lt;6: print(b) a,b=b,a+b n=n+1 和 n,a,b=0,0,...
  • 用下面的scanf函数输入数据,使a=3b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。问在键盘上如何输入。 #include<stdio.h> int main() { int a, b; float x, y; char c1, c2; scanf("a=...
  • 简单的a+bC语言代码)

    千次阅读 2021-05-20 11:28:32
    解题思路:题目中要求多次输入,所以需要一个死循环来进行控制,一般采用while(1),或者for(;;)注意事项:scanf()函数...如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量);如果用户输入"3,4",可以正确...
  • Python心法:a,b=b,a原理

    千次阅读 2018-10-22 10:35:56
    交换两个变量的值,Python的这条指令颠覆...所以,a,b=b,a 这条指令,先是变量a被赋“b值”的地址,然后变量b被赋“a值”的地址,所以没毛病。 再看一个例子,用Python输出一个Fibonacci数列。 Fibonacci数列是F[n...
  • 假设所有变量均为整型,则表达式(a=2b=5,b++,a+b)的值是 A.7 B.8 C.6 D.2 我想问,去到b++那里,b不是先赋值b=b,然后再b+1吗,这时候不是b还是等于5吗。。?
  • #include#includefloat x1,x2,disc,realpart,imagpart;//全局变量float great_than_...0的函数{x1=(float)(-b+sqrt(disc))/(2*a);//(v6默认是double型),强制类型转换使数类型据统一x2=(float)(-b-sqrt(disc))/(...
  • 为什么Integer a=100,b=100时候a==b返回true,而Integer c=1000,d=1000时候c==d返回false Integer i =100实际在内部做了Integer i = Integer.valueOf(100)的操作。来看Integer.class源码这个方法的首先断言了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,102,668
精华内容 2,441,067
关键字:

当a=3,b=2,c=1时

友情链接: tapi_code.zip