Initial commit: C++ courseware
This commit is contained in:
commit
4a4ee7c287
1789 files changed
+373489
No files matched your search
@@ -0,0 +1,65 @@
|
||||
### 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. 字符不仅可以和数字进行转换,字符之间也可以进行加减运算。
|
||||
Reference in new issue
Block a user