一道基础的c语言编程题怎么给分

1、 要看懂今天的代码需要一点储備知识

2、 题目及分析 话不多说上代码:

你算出的结果是什么? 估计大部分的朋友算出的结果都是 2

初步分析 让我们一起来看一下,大致汾析这个代码可以发现这个代码考察了两个知识点: 一是数据类型转换问题 二是运算符的优先级问题 上面这行代码,~的优先级最高首先肯定是对a进行按位取反,然也解放了自己的思维方式。 代码大全(第二版)

image 本书从软件质量、编程思想等方面阐述了软件构建的各种問题并论述了紧跟潮流的新技术、高屋建瓴的观点,而且还有丰富的程序示例看完这本书,可以打开自己的思维方式有种柳暗花明叒一村的感觉。 程序员修炼之道

image 这本书主要讲述了使代码保持灵活并且易于改变和复用的各种框架技术利用了许多富有娱乐型的奇闻异倳,具有思想性的例子及有趣的类比全面阐述了软件开发的许多不同方面的最佳实践和重大陷阱,绝对是程序员必读的书之一 计算机程序的构造和解释

image 本书成型于麻省理工学院多年使用的一本教材,世界各地已有100多所院校采用本书作为教材包括美国福斯坦大学、普林斯顿大学、牛津大学、东京大学等。 这本书能赋予你智慧。 C程序设计语言

image 由C语言设计读的一本书其他开发者也不妨看看,非常有价值 重构:改善既有代码的设计

image 实用性书籍,清晰揭示了重构的过程解释了重构的原理和最佳实践方式,并给出了何时、何地应该开始挖掘代码以求改善书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换首发的动机和技术 这本书可以帮助你减少开發过程中的风险,是很有价值的参考读物 人月神话

image 本书蕴藏了很多发人深省的观点,而且有大量的软件工程的实践为每个复杂项目的管理着给出了自己的真知灼见。这本书适合软件开发行业的从业人员阅读对软件开发、软件项目经理、系统分析师更是必读之作。 代码簡洁之道

image 《代码整洁之道》提出一种观念:代码质量与其整洁度成正比干净的代码,既在质量上较为可靠也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者这些实践在《代码整洁之道》中体现为一

力程序员,做软件开发的话就来学习C/C++吧!你如果感觉自学C/C++語言有困难的话。我自己也是一名从事了多年开发的C/C++程序员组建了一个零基础编程交流裙!不管你是大牛还是小白,大家都一起成长进步这里是小白聚集地,欢迎初学和进阶中的小伙伴

企鹅群:(持续招募中)

image 因此上面的代码等价于: 也就是先对a进行逐位取反,~0xa5 = ~ (b) = b = 0x5a 再右移5位得到0x2结果算出来是2? 让我们直接运行代码来查看结果:

怎么回事答案并不是预期中的2,b忽然等于250!这是为什么呢?

隐式数据类型轉换和整值提升 让我们再来仔细观察上面这行代码发现出现了不同类型之间的运算:a的数据类型是char,4和1的数据类型没有指定c语言编译器会默认其为int类型。 相信大家都知道在C语言的运算过程中,如果运算符两边的数据类型不一致编译器会自动进行隐式数据类型转换。 這种数据类型转换总体来说比较复杂但是总体遵循这个原则:尽量避免数据精度损失 上面的原则意味着什么呢? 如果运算符两边的数据類型不一致编译器总是尽量往较宽的数据类型进行转换。 如果计算过程中的计算数不是浮点数那么他们肯定都是整型,编译器一般会將所有小于int类型宽度的数据类型提升到int这种现象被称为“整值提升” 进一步分析

知道了整值提升,让我们再来重新看看上面这行代码: a昰unsigned char数据宽度小于 int,所以编译器数据类型转换不熟悉就很容易上套。 另外运算符的优先级还是比较难记的,建议还是使用括号明确执荇顺序

C语言经典编程题75道 (南京大学一個高手整理的 适合有一定数据结构基础的用)

南京大学一个高手整理的 我偷来给大家分享 适合想接触ACM但ACM又难的编程者使用 题目全中文的 只偠把题目在GOOGLE上一搜就有答案了

我要回帖

更多关于 c语言编程题怎么给分 的文章

 

随机推荐