c++primer Plus 6 的课后题(第三章3.6)

简介: c++primer Plus 6 的课后题(第三章3.6)

3.6复习题

1. 为什么c++有多种整型?

为了表示不同长度的整数。

2. 声明与下面描述相符的变量

a. short 整数,值为 80          short n = 80;

b. unsigned int 整数, 值为 42110   unsigned int n =42110

c. 值为3000000000 整数 long long n = 3000000000

3. C++提供了什么措施防止超过整型的范围?

C++没有提供自动防止找出整型范围的功能,可以使用climits来确定限制。

4.33L和33有什么区别?

33L是浮点数,33是整数

5.下面两条C++语句是否等价?

char grade = 65 ;

char grade = ‘A’;

不真正等价,但是对某些系统,它们是等效的。

6. 如何使用C++找出编码为88表示的字符?至少使用两种方法

(1)记住A编码为65,往后加到88可以手动算出88的字符

(2)char c = 88 ; cout<<c;

(3)cout.put(char(88))

(4)cout<<char(88)<<endl;

(5)cout<<(char)88<<endl;

7. 将long值赋值给float变量会导致舍入误差,将long赋值给double变量呢?long long 赋值给 double呢?

取决于变量的长度,long 给 double 不会有舍入误差,

而long long 可以有19位,可能超过double的13位。

8. 下面C++表达式的结果分别是多少?

a.8*9 +2   // 8*9+2 = 72 +2 =74

b.6*3/4   // 6*3/4 = 18/4 = 4

c.3/4*6  // 3/4*6= 0*6 =0

d. 6.0*3 / 4 // 6.0*3 /4 = 18.0/4 = 4.5

e. 15%4  //15%4 = 3

9. 假设x1和x2是两个double变量,您要将它们作为整数相加,再将结果赋值给另一个整型。写出该语句。如果将它们作为double相加并转化成int呢?

(1)int pos = (int) x1 + (int)x2;  //或者int pos = int (x1) + int(x2);

(2) int pos = (int) (x1+x2); //或者 int pos = int(x1+x2);

10. 下面语句声明的变量是什么类型?

a. auto cars =15 // int

b. auto iou = 150.37f //float

c. auto level =’B’ //char

d. auto crat = U’/U00002155’//char32_t

e. auto fract = 8.25f/2.5 //double


相关文章
|
编译器 数据安全/隐私保护 C++
c++primer plus 6 读书笔记 第十三章 类继承
c++primer plus 6 读书笔记 第十三章 类继承
319 0
C++ Primer Plus (第6版)中文版 (使用XMind整理)
C++ Primer Plus (第6版)中文版 (使用XMind整理)
257 2
C++ Primer Plus (第6版)中文版 (使用XMind整理)
c++primer plus 6 读书笔记 第十四章 C++中的代码重用
c++primer plus 6 读书笔记 第十四章 C++中的代码重用
288 1
c++primer plus 6 读书笔记 第十一章 使用类
c++primer plus 6 读书笔记 第十一章 使用类
164 1
|
SQL 人工智能 算法
技术心得记录:模板函数函数模板FunctionTemplate(C++Primer
技术心得记录:模板函数函数模板FunctionTemplate(C++Primer
|
程序员 C++
c++primer plus 6 读书笔记 第十二章 类和动态内存分配
c++primer plus 6 读书笔记 第十二章 类和动态内存分配
252 0
|
编译器 C++ 开发者
【C++篇】深度解析类与对象(下)
在上一篇博客中,我们学习了C++的基础类与对象概念,包括类的定义、对象的使用和构造函数的作用。在这一篇,我们将深入探讨C++类的一些重要特性,如构造函数的高级用法、类型转换、static成员、友元、内部类、匿名对象,以及对象拷贝优化等。这些内容可以帮助你更好地理解和应用面向对象编程的核心理念,提升代码的健壮性、灵活性和可维护性。
|
编译器 C++ 容器
【c++11】c++11新特性(上)(列表初始化、右值引用和移动语义、类的新默认成员函数、lambda表达式)
C++11为C++带来了革命性变化,引入了列表初始化、右值引用、移动语义、类的新默认成员函数和lambda表达式等特性。列表初始化统一了对象初始化方式,initializer_list简化了容器多元素初始化;右值引用和移动语义优化了资源管理,减少拷贝开销;类新增移动构造和移动赋值函数提升性能;lambda表达式提供匿名函数对象,增强代码简洁性和灵活性。这些特性共同推动了现代C++编程的发展,提升了开发效率与程序性能。
696 12
|
编译器 C语言 C++
类和对象的简述(c++篇)
类和对象的简述(c++篇)
|
设计模式 安全 C++
【C++进阶】特殊类设计 && 单例模式
通过对特殊类设计和单例模式的深入探讨,我们可以更好地设计和实现复杂的C++程序。特殊类设计提高了代码的安全性和可维护性,而单例模式则确保类的唯一实例性和全局访问性。理解并掌握这些高级设计技巧,对于提升C++编程水平至关重要。
382 16