C语言基础,这道题是什么意思呢?

c语言:这道题什么意思?~

选D,要跳出while循环,y必须为0,在y减小到0以后,while循环结束,但--是在操作后执行,所以y还会再自减1,所以变成了-1。

题目呢
这段代码并没有什么意义吧
就是把a和3按位与的结果输出了而已

这个运算符的优先级别 就好比我们小学学过的数学“先乘除后加减”是一个意思的

你还要知道运算符的种类 看你书中说到关系运算符的优先级低于算术运算符 算数运算符高于赋值运算符那么这句话什么意思呢?

首选你要理解什么是算数运算符什么是关系运算符

  • 算数运算符就是运算对象要是数字常理或者变量 (其它例如指针变量)

        例如 a * b 或者 a % 3这里的*和%都是算术运算符

  • 关系运算符就是判断两个值是什么(例如谁大谁小啊)关系不过关系运算表达式的值是0或者1即真和假

    例 a > b   或者 a != b  这里的'>'  '!='就是关系运算符

  • 赋值运算符就简单理解就是说,赋值运算符右边的值(也称之为右值)赋值给左值(等号左边的变量名)

    例a = a * b    a *= b 这里的'='  '*='都是赋值运算符不过后面的'*='是赋值运算符中的复合运算符了

    知道怎么区分这几个运算符了 那么他们之间是有优先级的概念的

    这里的优先级是说在一个表达式里出现了不同的运算符哪个运算符先运算的而言的

    可以看出所谓赋值运算符,算数运算符,关系运算符,逻辑运算符,位运算符···等、

    各自代表一类运算符各自有各自的运算对象,有个自的运算结果

      以下代码:

int a = 1 * 2 + 3

以上代码中有两个三个运算符‘*’‘=’‘+’

由于‘*’也就是乘号优先级别最高(其实就是说最先运算的意思) 又根据‘*’运算符是是双目运算符(这个双目就是指必须运算对象要有两个 即‘*’两边的1和2了)

  1. 计算1*2得2

  2. 表达式变成int a = 2 + 3  此时表达式里面‘+’号运算符优先级最高所以先运算(也是双目运算符)

  3. 计算2+3得5

  4. 表达式变成int a =5 此时就只剩下‘=’赋值运算符了

  5. a = 5了 就把整个右值(就是赋值运算符右边的最后结果)赋值给变量a了

总结:优先级别高于低对于运算而言就是谁先谁后的问题

还有个概念那就是运算符的结合性(这个你自己看书)  运算符的结合性和运算符的优先级 能够让我们程序员准确写出我们需要的表达式。



这道题告诉你先进行算数,再进行关系比较,最后输出真假(1/0)。
a=5 b=6;
a>(b-1);
5>(6-1);
5>5; 为假,结果为0.

C语言基础题,解释一下过程谢谢,上面答案写的是错误的
答:2.x=a/2+b*y/z+1/3=7/2+4*27.2/3.4+1/3=3+4*27.2/3.4+0=3+32=35 其中在计算a/2时,由于分子分母都是整数,所以按照整数来计算,1/3也是 3.x=-3+4*5-6=-3+20-6=20-9=11,输出11 x=3+4%5-6=3+4-6=1,输出1,其中4%5是求4除以5的余数 x=(7+6)%5/...

c语言基础问题求解
答:--p就是取p-1的值,这里p是指针,因此就是指针前移1,结果是a[0]的地址 取地址的值,就是取a[0]y = a[0]++; 就是a[0]的值。这个程序*p=a[1]在大部分编译器都会报错,类型不匹配

c语言程序设计的基础题目求教,请给解析(多追积分)
答:4:若有定义:int a=10,b=9,c=8;接着顺序执行后下列语句是,变量b中的值是()c=(a-=(b-5));c=(a%11)+(b=3);由上面的几题为基础,c=(a-=(b-5))相当于c=(a=a-(b-5)),c=(a=10-(9-5)),c=(a=6),所以a=6,c=6,b=9(表达式b-5并没有改变b的值)c=(a%11)+...

c语言基础问题,++数组表达什么意思?
答:b[a - '0']是数组中的一个元素,该元素自增1而已。类似于++a

C语言基本问题,%5d 是什么意思?
答:C语言中,“%5d”是的意思是以整形来格式化参数,并且当整数字符数少于5个情况下,多格式化一定数量空格来填充,以使得空格和整数所用字符数的总和达到至少5个。C语言中,“%5d”一般用于printf函数和sprintf函数。它们格式化字符串时,可以指定串的格式,在格式串内部使用一些以“%”开头的格式说明符来...

关于C语言基础的,最好解释得详细点。
答:这个有点儿抽象。首先,fun中a,b,c是新建的指针,与main中的a,b,c的指针不一样;temp=a; a=b; b=temp;将a,b所指向的地址交换,即b->5,a->7,c->3;上一步有一点非常关键,temp=a;即temp指向第一个内存单元,即*temp=5,这是后面正确与否的关键;temp=*b; *b=*c; *c=*temp;...

c语言基础题解释一下过程谢谢
答:y--,--在后面,先不管,只有在后面遇到y的时候才是--后的值,所有这里y还是2,2<=1,是不成立的,这里是||,所有看右边的,x+y,之前说了,在以后遇到y才是y--的值,这个y是1,1+1!=3成立,||结果为1,然后赋值给x,x的最终结果为1,最后输出的y也是y--以后,所以y最终结果为1,...

c语言基础求解释,详细的给分
答:double x,s 是定义变量 printf 是提示语言,双引号内语言原样输出 scanf为输入语句,输入x的值 s=sin(x)为赋值语句,把sin x赋值给s 最后printf为输出语句,%lf为双引号后面的x,s占位,运行时,x,s就会在%lf除输出 满意请采取 ...

c语言基础题麻烦解释一下过程
答:输出结果是:6 程序运行时指针p指向s的字符,当未遇到'\0'时不停后移,遇'\0'退出循环。然后返回p与s的差,即"ABCDEF"的字符数,就是6

C语言基础,这道结果的b为啥是-3,求细解。帮帮我呜呜呜
答:\x表示十六进制 \xFD转化为二进制,为11111101 由此可知,此数为负,负数的计算机表示是补码,是原码取反后加一所得 这里已经知道了补码为11111101,求原码,就是补码减一后,再取反,所以最后的结果为00000011,转为十进制就是3 所以最后的输出结果是-3 ...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网