Files

3.6 KiB

C++ 类型转换 课后习题

姓名: _____________

一、 填空题

  1. 计算机在存储字符(如 'A')时,实际上存的是一个数字,这个数字是根据 _____________ 码表来确定的。
  2. 例如int a = 'A';赋值符两边的类型不一致的情况,会由编译器完成类型转换,叫做 _____________ 转换。
  3. 为了让代码的意图更清晰,我们通过 (目标类型)变量名/数值 的格式去进行类型类型的方式,叫做 **_____________**转换。
  4. 强制类型转换的语法格式是:(_____________)变量名/数值。
  5. 根据ASCII码表的规律,任意一个大写英文字母和它对应的小写字母,它们对应的数字相差 _____________。
  6. 要把一个表达式 a + b 的计算结果整体转换为 char 类型,正确的写法是 (char)_____________。

二、 单项选择题

( ) 1. 执行 cout << (char)65; 这行代码,屏幕上会输出什么? A. 65 B. 'A' C. 'a' D. 无法输出

( ) 2. 执行 cout << (int)'a'; 这行代码,屏幕上会输出什么? A. 'a' B. 65 C. 97 D. 32

( ) 3. 要将大写字母 'C' 转换为小写字母 'c',正确的计算方法是? A. 'C' + 32 B. 'C' - 32 C. 'C' + 'a' D. 'C' - 'A'

( ) 4. 要将小写字母 'z' 转换为大写字母 'Z',正确的计算方法是? A. 'z' + 32 B. 'z' - 32 C. 'z' + 'A' D. 'z' - 'a'

( ) 5. 当一个 double 类型的变量(如 3.14)被转换为 int 类型时,会发生什么? A. 四舍五入,变为 3 B. 丢失小数部分,变为 3 C. 四舍五入,变为 4 D. 程序会报错

( ) 6. 表达式 (char)('B' + 1) 的计算结果是什么? A. 'B' B. 'A' C. 'C' D. 2

( ) 7. 相比于 char c = 97;,使用 char c = (char)97; 这种写法的优点是? A. 运行速度更快 B. 程序占用的内存更小 C. 代码的意图更清晰明确 D. 没有任何区别

( ) 8. 差值计算法中,'D' - 'A' 这个表达式的含义是? A. 字母D减去字母A B. 计算D和A的ASCII码值的差 C. 这是一个错误写法 D. 结果等于 'C'

( ) 9. 当一个 int 类型的数和一个 double 类型的数做加法时,int 类型会自动转换为哪个类型? A. char B. int C. double D. 不会转换

( ) 10. cout << (char)48; 会在屏幕上输出什么字符? A. 'a' B. 'A' C. '0' D. '1'

三、 判断题 (对的打“√”,错的打“×”)

( ) 1. 计算机在保存字符 'A' 时,就是保存了字母A的图片信息。 ( ) 2. char c = 65; 这种写法属于强制类型转换。 ( ) 3. 在ASCII码表中,所有小写字母对应的数字都比对应的大写字母要大。 ( ) 4. 表达式 'a' - 'A' 的计算结果是 32。 ( ) 5. 把一个小数(double)赋值给一个整数(int)是一种安全的操作,不会丢失任何数据。 ( ) 6. (char)x + y 和 (char)(x + y) 的计算过程和结果是完全一样的。 ( ) 7. 'Y' + 32 的计算结果是小写字母 'y'。 ( ) 8. 使用 (char)num 进行强制类型转换前,我们不需要关心 num 的值是多少,转换总是安全的。 ( ) 9. 'a' + ('C' - 'A') 这个表达式可以把大写字母 'C' 转换为小写字母 'c'。 ( ) 10. 字符不仅可以和数字进行转换,字符之间也可以进行加减运算。