内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础——C语言》(高教版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《编程语言基础——C语言》(高教版)一课一练的第2章的第9练,内容涵盖第2章 基本数据类型与简单程序设计的2.5 数据的输入。
《编程语言基础——C语言》(高教版)第9练
第2章 基本数据类型与简单程序设计
2.5 数据的输入(解析版)
一、单项选择题(本题共5小题)
1、在使用scanf函数输入数据时,下列选项中正确的是( )
A. 变量名前面必须加取地址运算符&
B. 数组名前面必须加取地址运算符&
C. 指针变量名前面必须加取地址运算符&
D. 所有变量名前面都必须加取地址运算符&
【答案】A
【解析】 scanf函数的参数要求是变量的地址。对于普通变量,必须使用&;数组名本身就代表地址,因此不需要加&;对于指针变量,本身已经是地址,也不需要加&。
2、若有定义int a;,执行语句scanf("%d", &a);,从键盘输入123后,变量a的值是( )
A. 123
B. 123.0
C. 不确定
D. 0
【答案】A
【解析】 scanf函数按照格式说明符%d将用户输入的整数123正确读取并存入变量a中,因此a的值为123。这是scanf的基本用法。
3、执行下列程序段:
int a;
char ch;
scanf("%d", &a);
scanf("%c", &ch);
若输入为123A(回车),则变量ch的值是( )
A. 'A'
B. 空格
C. 换行符'
'
D. 不确定
【答案】A
【解析】 第一个scanf读取整数时,会从输入缓冲区中读取数字123,第二个scanf读取字符,将A读到变量ch中。
4、关于getchar函数,下列说法正确的是( )
A. getchar只能读取一个字符,且无法读取换行符
B. getchar函数的返回值类型是char
C. getchar函数可以一次读取多个字符
D. getchar函数从标准输入读取一个字符,返回其ASCII码值
【答案】D
【解析】 getchar函数的原型是int getchar(void);,它从标准输入读取一个字符,返回该字符的ASCII码值,它可以读取任何字符,包括换行符。一次只能读取一个字符。
5、若要将从键盘输入的字符串(不含空格)存入字符数组str中,正确的scanf调用是( )
A. scanf("%s", str);
B. scanf("%s", &str);
C. scanf("%c", str);
D. scanf("%s", str[0]);
【答案】A
【解析】 输入字符串使用%s格式符,且字符数组名str本身就代表数组首元素的地址,因此不需要加&。选项B加了&是错误的,选项C的%c只能输入单个字符,选项D的str[0]是字符变量,不是地址。
二、判断题(本题共5小题)
1、scanf函数中的格式控制字符串可以包含普通字符,输入时必须原样输入这些字符。( )
【答案】√
【解析】 例如`scanf("a=%d", &a);`,输入时必须输入"a=123"这样的形式,普通字符"a="必须原样输入,否则会导致匹配失败。这是scanf格式控制字符串的特点。
2、使用scanf输入整型数据时,变量前面必须加取地址符&。( )
【答案】√
【解析】 scanf需要知道变量的存储地址才能将输入的值存入该变量,对于普通整型变量,必须使用&运算符获取地址。
3、getchar函数只能用于输入单个字符,无法读取用户按下的回车键。( )
【答案】×
【解析】 getchar可以读取任何字符,包括回车键(换行符'
')。当用户按下回车键时,换行符会进入输入缓冲区,getchar可以读取该字符。
4、当使用多个scanf连续输入时,缓冲区中的回车符可能会影响后续字符输入。( )
【答案】√
【解析】 在输入数字后输入字符时,数字输入后留下的回车符可能会被后续的%c格式符读取,导致程序行为异常。
5、使用scanf("%c", &ch)输入字符时,空格和回车符都会被作为有效字符输入。( )
【答案】√
【解析】 %c格式符会读取输入缓冲区中的第一个字符,包括空格、制表符、换行符等任何字符。这与%d等格式符不同,后者会自动跳过空白字符。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础——C语言》(高教版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《编程语言基础——C语言》(高教版)一课一练的第2章的第9练,内容涵盖第2章 基本数据类型与简单程序设计的2.5 数据的输入。
《编程语言基础——C语言》(高教版)第9练
第2章 基本数据类型与简单程序设计
2.5 数据的输入(原卷版)
一、单项选择题(本题共5小题)
1、在使用scanf函数输入数据时,下列选项中正确的是( )
A. 变量名前面必须加取地址运算符&
B. 数组名前面必须加取地址运算符&
C. 指针变量名前面必须加取地址运算符&
D. 所有变量名前面都必须加取地址运算符&
2、若有定义int a;,执行语句scanf("%d", &a);,从键盘输入123后,变量a的值是( )
A. 123
B. 123.0
C. 不确定
D. 0
3、执行下列程序段:
int a;
char ch;
scanf("%d", &a);
scanf("%c", &ch);
若输入为123A(回车),则变量ch的值是( )
A. 'A'
B. 空格
C. 换行符'
'
D. 不确定
4、关于getchar函数,下列说法正确的是( )
A. getchar只能读取一个字符,且无法读取换行符
B. getchar函数的返回值类型是char
C. getchar函数可以一次读取多个字符
D. getchar函数从标准输入读取一个字符,返回其ASCII码值
5、若要将从键盘输入的字符串(不含空格)存入字符数组str中,正确的scanf调用是( )
A. scanf("%s", str);
B. scanf("%s", &str);
C. scanf("%c", str);
D. scanf("%s", str[0]);
二、判断题(本题共5小题)
1、scanf函数中的格式控制字符串可以包含普通字符,输入时必须原样输入这些字符。( )
2、使用scanf输入整型数据时,变量前面必须加取地址符&。( )
3、getchar函数只能用于输入单个字符,无法读取用户按下的回车键。( )
4、当使用多个scanf连续输入时,缓冲区中的回车符可能会影响后续字符输入。( )
5、使用scanf("%c", &ch)输入字符时,空格和回车符都会被作为有效字符输入。( )
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$