C++习题之变量和基本类型

(习题主要选自C++ Primer,方便自己以后复习才写到博客上)

1. 当给16位的unsigned short对象赋值100000的时候,最终赋值结果是?

解:首先了解超出变量范围的时候,编译器的处理策略是二进制截取低16位

  unsigned short的取最大值2^16-1=65535,那么大于16位的时候,肯定可以写成i*2^16这种形式,所以赋值结果相当于100000对2^16进行取余,结果就是34464

2. float和double的差别在哪里?

解:二者的存储位数不同,float是32位,double是64位,因此取值范围不同,精度也不同,float最多6~7位有效数字,double最少10位有效数字,一般是16位,指数位,尾数位因机器而异

3. 银行系统中,偿还金额,利率,本金和付款金额选择什么类型,说明原因?

解: 利率选择float,因为利率比较小

  本金选择long类型,因为本金一般为整数,long最大数2^31-1

  付款选用double类型

4. 常用的转义字符解释?

解:\n 换行 010     \r 回车(回到本行行首) 013 

  \t 水平制表 009    \“ 双引号 034  \b 退格 008

  \v 垂直制表 011  \0 空字符 000

  \\ 反斜杠 092   \' 单引号 039

5. 编写程序,用户输入底数(base)和指数(exponent),输出结果?

解:考查点是exponent是负数的的情况

6. 合法性判断

解:const int buf 不合法,const变量声明就必须被赋值

  int &vall=1.01 不合法,非const引用不得绑定右值,可以绑定到一个已经被赋值的变量

  const int &vall = 1; 合法

7. C++声明与定义的区别

解:在一个程序中,变量只能定义一次,可以被声明多次,参见此文

  http://www.cnblogs.com/wangliang651/archive/2009/04/06/1430098.html

posted @ 2014-07-07 11:06  码农-CR7  阅读(508)  评论(0编辑  收藏  举报