2013往期回顾:第一期第二期第三期第四期第五期第六期第七期第八期第九期第十期第十一期第十二期

2014往期回顾:第一期第二期第三期第四期第五期第六期第七期第八期第九期第十期第十一期

2015往期回顾:第一期第二期第三期第四期第五期第六期第七期

01

活动简介

/INTRODUCTION

2015 第八期:如何获得完美的类型提升

活动时间:2015年8月1日 - 2015年8月31日

所有问题全部来自于视频,答案显而易见,看过就可轻松的知道正确答案。全部答对者将获得抽奖资格,共计100名获奖者,奖品由Microchip公司提供。

02

活动奖品

/PRIZES

10元京东卡(100名)

03

本期视频

/VIDEO

如何获得完美的类型提升

简 介:在本视频中,我们将了解整型提升的工作原理,通过确定代码中较短的数据类型,按规则逐步进行分析,从而获得完美的类型提升。[点击查看完整视频]



相关知识

2015每月视频有奖问答第七期第七期正确答案:BACCD
2015第七期获奖名单
04

问卷

/QUESTION

2015第八期问题

Q1.下列哪一种数据类型是C语言的首选数据类型?

  • A.signed
  • B.int
  • C.char
  • D.short

Q2.若a=0,b=10,当变量a和变量b分别为哪种类型时,if(a-b<20)中a,b不会进行整型提升?

  • A.a变量为signed int;b变量为signed int
  • B.a变量为char;b变量为char
  • C.a变量为char;b变量为signed int
  • D.a变量为unsigned char;b变量为unsigned char

Q3.定义变量signed char c = 0xff;执行printf("%x",c);定义变量signed char fu = 0x55;用于一个判断语句if(~fu == 0xaa),则执行printf("%x",c);的结果以及判断语句中fu的取反结果分别是:

  • A.ffff,0xffaa
  • B.ff,0xaa
  • C.ffff,0xaa
  • D.ff,0xffaa

Q4.关于类型提升的应用说明有误的是:

  • A.会被用于一元运算符(+、-和~)的操作数
  • B.会被用于移位运算符(< <和> >)的两个操作数
  • C.不会被用于switch语句中的case值
  • D.传递给带有省略号(...)的函数的无原型参数也会进行类型提升

Q5.下面哪一项类型提升规则有错误?

  • A.根据值的长度,有可能被提升为signed int类型或unsigned int类型
  • B.在表达式中,会先进行类型提升,然后才在表达式中使用提升后的值进行其余操作
  • C.使用强制类型转换可以调整编译器选择的类型
  • D.在默认参数提升时,所有float类型会被提升为int类型