内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础-C语言》(高教版第5版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《编程语言基础-C语言》(高教版第5版)一课一练的第3章的第14练,内容涵盖第3章 分支结构程序设计的3.2 条件语句。
《编程语言基础-C语言》(高教版第5版)第14练
第3章 分支结构程序设计
3.2 条件语句(解析版)
一、单项选择题(本题共5小题)
1、在C语言中,关于if语句的语法,下列说法正确的是( )
A. if后面的条件表达式必须用圆括号括起来
B. if后面的条件表达式只能是关系表达式或逻辑表达式
C. if后面的语句如果只有一条,也必须用花括号括起来
D. if语句中不能使用else if结构实现多分支
2、有以下程序段:
int a=2, b=1;
if(a>b)
if(b>0) a=0;
else a=1;
执行后a的值是( )
A. 0
B. 1
C. 2
D. 不确定
3、若执行以下程序段,输入值为5,则输出结果是( )
int x;
scanf("%d",&x);
if(x>0)
if(x<10) printf("A");
else
printf("B");
A. A
B. B
C. AB
D. 无输出
4、能正确表示“当x的取值在[-5,5]或[10,20]范围内时,y=1;否则y=0”的if语句是( )
A. if(-5<=x<=5 || 10<=x<=20) y=1; else y=0;
B. if((x>=-5 && x<=5) || (x>=10 && x<=20)) y=1; else y=0;
C. if(x>=-5 || x<=5 && x>=10 || x<=20) y=1; else y=0;
D. if(x>=-5 && x<=5) || (x>=10 && x<=20) y=1; else y=0;
5、有以下程序:
int x=1, y=2, z=3;
if(x>y)
if(y>z) z=x;
else
z=y;
printf("%d", z);
输出结果是( )
A. 1
B. 2
C. 3
D. 0
2、 判断题(本题共5小题)
1、在C语言中,任何非零值都被视为真,零被视为假。( )
2、在if语句中,如果条件为真时需要执行多条语句,则必须用花括号将它们括起来形成一个复合语句。( )
3、else子句总是与它前面最近且尚未配对的if配对,无论书写格式如何缩进。( )
4、条件表达式可以嵌套使用,例如 a>b ? (c>d ? c : d) : e 是合法的。( )
5、在if...else语句中,如果if和else后面都只有一条语句,则可以省略花括号。( )
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础-C语言》(高教版第5版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《编程语言基础-C语言》(高教版第5版)一课一练的第3章的第14练,内容涵盖第3章 分支结构程序设计的3.2 条件语句。
《编程语言基础-C语言》(高教版第5版)第14练
第3章 分支结构程序设计
3.2 条件语句(解析版)
一、单项选择题(本题共5小题)
1、在C语言中,关于if语句的语法,下列说法正确的是( )
A. if后面的条件表达式必须用圆括号括起来
B. if后面的条件表达式只能是关系表达式或逻辑表达式
C. if后面的语句如果只有一条,也必须用花括号括起来
D. if语句中不能使用else if结构实现多分支
【答案】A
【解析】 if语句的语法要求条件必须放在圆括号内,这是强制规定。条件可以是任意表达式,不限于关系或逻辑表达式;单条语句可不加花括号;通过else if可以实现多分支。
2、有以下程序段:
int a=2, b=1;
if(a>b)
if(b>0) a=0;
else a=1;
执行后a的值是( )
A. 0
B. 1
C. 2
D. 不确定
【答案】A
【解析】 根据else与最近未配对的if配对的原则,else属于内层if(b>0)。a>b成立,执行内层if,b>0成立,执行a=0,然后跳过else。
3、若执行以下程序段,输入值为5,则输出结果是( )
int x;
scanf("%d",&x);
if(x>0)
if(x<10) printf("A");
else
printf("B");
A. A
B. B
C. AB
D. 无输出
【答案】A
【解析】 else与内层if(x<10)配对。x=5满足x>0,进入内层if,5<10成立,输出"A",不执行else部分。
4、能正确表示“当x的取值在[-5,5]或[10,20]范围内时,y=1;否则y=0”的if语句是( )
A. if(-5<=x<=5 || 10<=x<=20) y=1; else y=0;
B. if((x>=-5 && x<=5) || (x>=10 && x<=20)) y=1; else y=0;
C. if(x>=-5 || x<=5 && x>=10 || x<=20) y=1; else y=0;
D. if(x>=-5 && x<=5) || (x>=10 && x<=20) y=1; else y=0;
【答案】B
【解析】 A中连续比较不符合C语言语法;C选项中逻辑或和逻辑与用反了;D中if条件括号使用错误,导致语法错误。
5、有以下程序:
int x=1, y=2, z=3;
if(x>y)
if(y>z) z=x;
else
z=y;
printf("%d", z);
输出结果是( )
A. 1
B. 2
C. 3
D. 0
【答案】C
【解析】 else与内层if(y>z)配对。外层if(x>y)条件为假,因此整个嵌套if语句不执行任何操作,z保持原值3,输出3。
2、 判断题(本题共5小题)
1、在C语言中,任何非零值都被视为真,零被视为假。( )
【答案】√
【解析】 这是C语言逻辑判断的基本规则,所有非0值均代表真,0代表假。
2、在if语句中,如果条件为真时需要执行多条语句,则必须用花括号将它们括起来形成一个复合语句。( )
【答案】√
【解析】 如果不加花括号,if默认只控制紧随其后的第一条语句,多条语句必须用{}构成语句块。
3、else子句总是与它前面最近且尚未配对的if配对,无论书写格式如何缩进。( )
【答案】√
【解析】 这是C语言中else配对的固定规则,避免悬空else问题。
4、条件表达式可以嵌套使用,例如 a>b ? (c>d ? c : d) : e 是合法的。( )
【答案】√
【解析】 条件运算符允许嵌套,内层条件表达式可作为外层的一个操作数。
5、在if...else语句中,如果if和else后面都只有一条语句,则可以省略花括号。( )
【答案】√
【解析】 单条语句时花括号可省,但为了代码清晰,通常建议加上。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$