内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础——C语言》(高教版第五版) 一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《编程语言基础——C语言》(高教版第五版) 一课一练的第2章的第18练,内容涵盖第2章基本数据类型与简单程序设计的2.5.2 格式化输入函数scanf() 。
《编程语言基础——C语言》(高教版第五版) 第18练
第2章 基本数据类型与简单程序设计
2.5.2 格式化输入函数scanf()
1、 单项选择题(本题共5小题)
1、scanf()函数的功能是( )
A. 按指定的格式从键盘接收输入信息
B. 按指定的格式向显示器输出信息
C. 接收一个字符型数据
D. 输出一个字符型数据
【答案】A
【解析】scanf()函数的功能是按指定的格式从键盘接收输入信息,A 选项正确;按指定格式向显示器输出信息的是printf()函数,B 选项错误;接收一个字符型数据只是scanf()函数使用%c格式符时的一种功能,C 选项不全面;scanf()是输入函数,不是输出函数,D 选项错误。
2、若要使用scanf()函数接收一个双精度浮点型数据,应使用的格式符是( )
A. %f
B. %lf
C. %d
D. %c
【答案】B
【解析】%f用于接收单精度浮点型数据(float),%lf用于接收双精度浮点型数据(double),%d用于接收整型数据,%c用于接收字符型数据,所以选 B。
3、若有int x, y;,执行scanf("x=%d,y=%d", &x, &y);,正确的输入格式是( )
A. 123 500
B. 123,500
C. x=123,y=500
D. x123,y500
【答案】C
【解析】在scanf()函数中,只要遇到非格式符,就要按原样输入,这里格式串中有 “x=” 和 “y=”,所以正确的输入格式是 x=123,y=500,选 C。
4、执行scanf("%d %d", &x, &y);时,输入数据的分隔符可以是( )
A. 逗号
B. 分号
C. 空格
D. 句号
【答案】C
【解析】当scanf()函数有多个输入项时,键盘输入的各项信息之间可以用空格、Tab 键或回车键作为分隔符,逗号、分号、句号等标点符号不能作为分隔符,因为它们未出现在格式串中,所以选 C。
5、scanf()函数中,%c格式符的作用是( )
A. 接收一个字符型数据
B. 接收一个整型数据
C. 接收一个浮点型数据
D. 接收一个字符串
【答案】A
【解析】%c在scanf()函数中的作用是接收一个字符型数据,选 A。
2、 判断题(本题共3题)
1、scanf()函数只能输入整型数据。( )
【答案】×
【解析】scanf()函数可以根据不同的格式符输入多种类型的数据,如字符型、整型、浮点型等,并非只能输入整型数据,所以该说法错误。
2、在scanf("x=%d,y=%d", &x, &y);中,输入时 “x=” 和 “y=” 必须原样输入。( )
【答案】√
【解析】在scanf()函数中,只要遇到非格式符,就要按原样输入,所以输入时 “x=” 和 “y=” 必须原样输入,该说法正确。
3、scanf("%f", &x);可以接收双精度浮点型数据。( )
【答案】×
【解析】%f用于接收单精度浮点型数据(float),接收双精度浮点型数据(double)应使用%lf,所以该说法错误。
3、 读程序写结果题(本题共1小题)
1、以下程序运行时,若输入 “20”,程序会输出什么结果?
#include <stdio.h>
#define PI 3.1415926
int main() {
float d, r;
double len, area;
printf("请输入直径的值:");
scanf("%f", &d);
r = d / 2;
area = PI * r * r;
len = 2 * PI * r;
printf("半径R = %f, 面积S = %f, 周长L = %f
", r, area, len);
return 0;
}
【答案】半径 R = 10.000000, 面积 S = 314.159260, 周长 L = 62.831852
【解析】程序运行时,若输入 “20”,首先将 20 赋值给变量d,然后计算半径r = d / 2 = 10,面积area = PI * r * r = 3.1415926 * 10 * 10 = 314.15926,周长len = 2 * PI * r = 2 * 3.1415926 * 10 = 62.831852。最后输出 “半径 R = 10.000000, 面积 S = 314.159260, 周长 L = 62.831852”。
4、 程序设计题(本题共1小题)
1、编写一个程序,使用scanf()函数从键盘输入一个字符型数据存入变量ch,一个整型数据存入变量num,一个单精度浮点型数据存入变量f,然后使用printf()函数输出这些变量的值。
【答案】
#include <stdio.h>
int main() {
char ch;
int num;
float f;
printf("请输入一个字符、一个整数和一个浮点数,用空格分隔:");
scanf("%c %d %f", &ch, &num, &f);
printf("输入的字符是:%c,整数是:%d,浮点数是:%f
", ch, num, f);
return 0;
}
【解析】程序首先定义了字符型变量ch、整型变量num和单精度浮点型变量f。然后使用printf()函数提示用户输入一个字符、一个整数和一个浮点数,用空格分隔。接着使用scanf()函数按照指定格式从键盘接收输入信息,分别存入对应的变量中。最后使用printf()函数输出这些变量的值。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础——C语言》(高教版第五版) 一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《编程语言基础——C语言》(高教版第五版) 一课一练的第2章的第18练,内容涵盖第2章基本数据类型与简单程序设计的2.5.2 格式化输入函数scanf() 。
《编程语言基础——C语言》(高教版第五版) 第18练
第2章 基本数据类型与简单程序设计
2.5.2 格式化输入函数scanf()
1、 单项选择题(本题共5小题)
1、scanf()函数的功能是( )
A. 按指定的格式从键盘接收输入信息
B. 按指定的格式向显示器输出信息
C. 接收一个字符型数据
D. 输出一个字符型数据
2、若要使用scanf()函数接收一个双精度浮点型数据,应使用的格式符是( )
A. %f
B. %lf
C. %d
D. %c
3、若有int x, y;,执行scanf("x=%d,y=%d", &x, &y);,正确的输入格式是( )
A. 123 500
B. 123,500
C. x=123,y=500
D. x123,y500
4、执行scanf("%d %d", &x, &y);时,输入数据的分隔符可以是( )
A. 逗号
B. 分号
C. 空格
D. 句号
5、scanf()函数中,%c格式符的作用是( )
A. 接收一个字符型数据
B. 接收一个整型数据
C. 接收一个浮点型数据
D. 接收一个字符串
2、 判断题(本题共3题)
1、scanf()函数只能输入整型数据。( )
2、在scanf("x=%d,y=%d", &x, &y);中,输入时 “x=” 和 “y=” 必须原样输入。( )
3、scanf("%f", &x);可以接收双精度浮点型数据。( )
3、 读程序写结果题(本题共1小题)
1、以下程序运行时,若输入 “20”,程序会输出什么结果?
#include <stdio.h>
#define PI 3.1415926
int main() {
float d, r;
double len, area;
printf("请输入直径的值:");
scanf("%f", &d);
r = d / 2;
area = PI * r * r;
len = 2 * PI * r;
printf("半径R = %f, 面积S = %f, 周长L = %f
", r, area, len);
return 0;
}
4、 程序设计题(本题共1小题)
1、编写一个程序,使用scanf()函数从键盘输入一个字符型数据存入变量ch,一个整型数据存入变量num,一个单精度浮点型数据存入变量f,然后使用printf()函数输出这些变量的值。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$