关于C语言的几个很基础问题

1.改变大纲后的考试内容跟原来有什么区别?主要的就可以了,关系到考试的对错问题的2.教材18页赋值表达式问题。当赋值号左边的变量为无符号整型,右边的值为有符号整型时,把内... 1.改变大纲后的考试内容跟原来有什么区别?主要的就可以了,关系到考试的对错问题的
2.教材18页赋值表达式问题。当赋值号左边的变量为无符号整型,右边的值为有符号整型时,把内存中的内容原样复制。右边数值的范围不应该超出左边变量可以接受的数值范围。同时需要注意,这时负数将转换为正数。例如,变量a被说明为unsigned类型,在进行了a=-1的赋值操作后,将使a中的值为65535. 为什么是这个结果呢?请教大家了
3.关于自加和自减符号。++i,i++的区别,例如,若变量i为int类型,且已有值为5;则表达式++i,先进行i增1运算,表达式的值为6;i++表达式的值为5,i进行增1运算,使i中的值为6。 这是课本中的解释,不过我还是没看明白!
3.自加自减运算符的运算方向为自右向左。例如,有一表达式-i++,其中i原值为3.此时自加运算符为后缀运算符,(i++)值为3,因此-(i++)的值为-3,然后i自增为4.这个也不理解是为什么

希望大家不吝赐教!!!谢谢朋友们了!!!
展开
 我来答
仍游力鸿达
2019-05-06 · TA获得超过3974个赞
知道大有可为答主
回答量:3122
采纳率:24%
帮助的人:429万
展开全部
1.
\t是制表符一般空开的距离比较大“


空白键只空开“

2.
return的作用是
错误的时候输出非0
正确的时候输出0
3.符号扩展有什么用
你不能在一个包含16位数的表达式中随意地使用8位有符号数,转换是必需的。这种转换,以及其逆操作(将16位数转换为8位)就是符号扩展(sign
extension)
月光爱人佳人2W
2008-05-12 · TA获得超过256个赞
知道小有建树答主
回答量:372
采纳率:0%
帮助的人:124万
展开全部
第一个问题不清楚,只是对于C来说指针是最重要的,也是最难学的.
第二个问题,因为有一个负号,而负号在二进制中是第一位是1,把-1赋给a时,是先把-1取反加1再赋值给a而a是无符号的,所以是65535.
第三个,i++是先取i再++,而++i是先++再取i.
比如说:i=1;printf("%d",i++);输出是1
i=1;printf("%d",++i);输出是2.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
s317410721
2008-05-11
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
我来帮你解决下面两个题吧..上面的我也不会...
其实不管是++i 或是i++ i的值都自加了1..所以i的值就为六..
不同的是++i是i先进行自加了以后再取的表达式的值..而i++是先取的
表达式的值再自加1的..所以 ++i=6 i=6 i++=5 i=6

最下面的题:

就跟上面我说的那个题一样....他是先把i++的值取出来=3再取负就为-3
而i的值还是自加了1所以就为4
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式