Files

3.8 KiB
Raw Permalink Blame History

C++ 整数提取与格式化输入输出 课后习题

姓名: ___________________

一、 填空题

  1. C++ 中,获取一个整数个位数的“提取器”是 % 10,砍掉个位数的“削减器”是 ___________。

  2. 表达式 456 % 10 的计算结果是 6,表达式 456 / 10 的计算结果是 ___________。

  3. 要使用 printf 和 scanf,必须在代码顶部包含头文件 #include <________________>。

  4. 在使用 scanf 读取数据时,必须在变量名前面加上符号 ________,它叫做取地址符。

  5. 格式说明符 %d 用来对应 int 类型的整数,%c 用来对应 char 类型的字符,而 %lf 用来对应 ________ 类型的变量。

  6. 阅读代码 printf("User ID: %d", 99);,它的输出结果是:________________。

  7. 如果想用 printf 输出一个浮点数,并严格保留 1 位小数,应该使用的格式说明符是 ___________。

  8. int n = 87; printf("%d", n % 10); 这段代码的输出结果是 ___________。

  9. int n; scanf("%d", &n); 如果用户输入 123,那么表达式 n / 100 的结果是 ___________。

  10. 表达式 (528 / 10) % 10它的计算结果是 ___________。

二、 单项选择题

( ) 1. 为了获取整数 921 的个位数 1,应该使用哪个表达式? A. 921 / 10 B. 921 % 10 C. 921 / 100 D. 921 % 100

( ) 2. 下列哪条语句可以正确地用 printf 输出整数变量 score 的值? A. printf(score); B. printf("score"); C. printf("%d", score); D. printf("%d", &score);

( ) 3. 下列哪条语句可以正确地用 scanf 读取一个整数并存入变量 age 中? A. scanf("%d", age); B. scanf("%c", &age); C. scanf("%d", &age); D. scanf("%d", &age)

( ) 4. int a = 5, b = 2;,printf("结果是%d", a / b); 的输出是? A. 结果是2.5 B. 结果是2 C. 结果是%d D. 结果是3

( ) 5. int n = 73; n = n / 10; 执行后,n 的值变成了? A. 73 B. 7 C. 3 D. 7.3

( ) 6. 忘记在 scanf 的变量前加 & 符号,最可能导致什么后果? A. 程序正常运行 B. 程序会卡住 C. 程序在运行时会崩溃或读入错误数据 D. 电脑会蓝屏

( ) 7. int num; scanf("%d", &num); 如果用户输入 365,那么 printf("%d", (num/10)%10); 会输出什么? A. 3 B. 6 C. 5 D. 36

( ) 8. 要输出一个浮点数并保留两位小数,应该用哪个格式说明符? A. %f B. %.2f C. %2f D. %d.2

( ) 9. 拆分一个正整数 n 的所有位的通用步骤是? A. 不断地:先用 / 10 削减,再用 % 10 提取 B. 不断地:先用 % 10 提取,再用 / 10 削减 C. 只需不断地 / 10 D. 只需不断地 % 10

( ) 10. int x=8, y=3; printf("%d %d", x/y, x%y); 的输出结果是? A. 2.66 2 B. 2 2 C. 3 2 D. 2 3

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

( ) 1. 运算符 / 是用来求余数的,运算符 % 是用来做除法的。 ( ) 2. printf 中的占位符(如 %d)和后面的变量,它们的顺序和类型都必须一一对应。 ( ) 3. scanf("%d,%d", &a, &b); 是一个安全的写法,用户输入 10 20 就能正确读取。 ( ) 4. 对于任何正整数 n,n / 10 都能去掉它的个位数。 ( ) 5. printf 和 scanf 都是 C++ 自带的核心功能,不需要包含任何头文件。 ( ) 6. 整数 5 % 10 的结果是 5。 ( ) 7. printf 只能输出一个变量,不能同时输出多个。 ( ) 8. 拆分整数 520 时,520 % 10 的结果是 0。