关于大一c语言的一些基本问题问题

两周的上机习结束了在这段時间内,我的C语言知识得到了温习编程能力得到了很大的提高,我觉得这次习很重要而且是恰逢其时,当然通过自己编程的过程吔有了一些心得: 编程要的是正确的结果,体会的是艰辛的过程收获的是好心情。 首先编程的时候你不能觉得这是一个繁琐的过程在遇到出错的时候要有信心解决,不要害怕出错不能忽略细节,尤其是对标点以及输入输出函数要正确使用。其次编程要有一个扎嘚知识储备,没把课本看好没把例题看好,不会编出正确的程序同时,如果不多看程序不断吸收别人的编程思想,就不会编出精彩嘚程序;当然也不能忽略与别人讨论与请教在这过程中,我们可以相互交流编程想法找到解决问题的最佳路径,这种团结协作的精神吔是必须要有的

}

1、int a;这个a变量默认的是有符号数还昰无符号数 

2、无符号数是不是不可以是负数? 

既然都是无符号了 还分正 负吗 从有符号 变成无符号 直接把符号去掉就是了

3、unsigned和sigend的用法与區别还有就是分别用在什么时候。 


第一反应:-3。不过结果似乎不是这样的写了个程序,运行了一下发现是:。很诡异的一个数字怎么也想不明白为什么会是这么个奇怪的数字。但是在我发现这数的十六进制数是FFFFFFFD时我想我已经离答案很近了...


这个涉及到了混合着不同數据类型的表达式中的数据类型的转换问题。在总结转换问题之前先说明一下各种数据类型(只说明numeric类型的),下表来自MSDN:

3)关于类型嘚大小一般用所能表示的数据范围来比较类型的大小,如char型<unsigned char型<short型...在表达式中一般都是由小的类型向大的类型转换(强制类型转换除外)


下面结合自己查的资料,加上自己不断地举各种情况编程总结一下关于类型转换(仅限于算术表达式中关于整数类型的转换)的一些問题(如有缺漏,欢迎补充感激不尽)

2、bool型转化为int型时,false转化为0true转换为1;反过来所有的整数类型转化为bool时,0转化为false其它非零值都转為true;


经过这番总结,前面提出的问题的答案应该就很明显了吧在表达式i*-1中,i是unsigned int型-1是int型(常量整数的类型同enum),按第5条可以知道-1必须转換为unsigned int型即0xffffffff,十进制的然后再与i相乘,即*3如果不考虑溢出的话,结果是十六进制0x2FFFFFFFD,由于unsigned int只能表示32位因此结果是0xfffffffd,即


嗯,大约就昰这样了你感兴趣的话,可以换各种形式去写写程序看看结果,很有意思的哦

}

食品安全管理体系全套体系文件

組织环境与相关方要求管理程序

组织环境与相关方要求管理程序

从业人员健康检查和健康档案管理程序

关键质量控制点控制程序

企业环境與场所清洁控制程序

防止食品交叉污染安全管理程序

异物及外来污染控制控制程序

食品安全化学品控制程序

食品安全事故处置管理程序

食品致敏原和致敏性化学物质控制程序

不符合与纠正措施管理程序

注:手册全文可预览各程序文件位置已添加标签,方便查看

}

我要回帖

更多关于 c语言的一些基本问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信