内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(电子工业出版社)一课一练的第4章的第15练,内容涵盖第4章选择结构程序设计的4.2 逻辑运算符与逻辑表达式。
《C语言程序设计》(电子工业出版社)一课一练 第15练
第4章 选择结构程序设计
4.2 逻辑运算符与逻辑表达式
1、 单项选择题(本题共4小题)
1、执行语句int a = 5; printf("%d", !a);,输出的结果是( )
A. 5
B. 1
C. 0
D. -1
【答案】C
【解析】C 语言规定非 0 值视为逻辑真,逻辑非运算符!对真取反结果为假,假在 C 语言中用整数 0 表示,因此输出 0。
2、表达式3>2 && 1<0 || 4>1的运算结果是( )
A. 0
B. 1
C. 3
D. 4
【答案】B
【解析】逻辑与&&的优先级高于逻辑或||,先计算3>2 && 1<0,结果为1 && 0=0;再计算0 || 4>1,结果为0 || 1=1,因此整个表达式最终结果为 1。
3、执行语句int a=1,b=1; int c=(a==0)&&(b=2); printf("%d,%d",b,c);,输出的结果是( )
A. 1,0
B. 2,0
C. 1,1
D. 2,1
【答案】A
【解析】逻辑与&&具有短路求值特性:当左边子表达式a==0结果为 0(假)时,可直接确定整个表达式为假,右边的b=2不会执行,因此 b 的值保持 1,c 的值为 0。
4、执行语句int x=0,y=5; int res=x||y; printf("%d",res);,输出的结果是( )
A. 0
B. 6
C. 5
D. 1
【答案】D
【解析】逻辑或||只要有一个运算对象为真(非 0),结果就为真。y=5 是非 0 值,视为真,因此x||y的结果为 1。
2、 判断题(本题共3题)
1、C 语言中逻辑运算符的优先级从高到低依次是:逻辑非!、逻辑与&&、逻辑或||。( )
【答案】√
【解析】这是 C 语言运算符优先级的明确规定,单目运算符!优先级最高,双目逻辑运算符中&&高于||。
2、执行语句int a=6,b=3; int d=(a>5)||(b=4);后,变量 b 的值为 4。( )
【答案】×
【解析】逻辑或||具有短路求值特性,左边子表达式a>5结果为真,可直接确定整个表达式为真,右边的b=4不会执行,因此 b 的值仍为 3。
3、逻辑表达式的运算对象只能是关系表达式的结果,不能是普通整数或字符。( )
【答案】×
【解析】C 语言中任何数值都可作为逻辑表达式的运算对象,0 视为假,非 0 值视为真,运算对象可以是整数、字符等多种类型。
3、 填空题(本题共2题)
1、C 语言中,三种逻辑运算符的优先级从高到低依次是____、逻辑与(&&)、逻辑或(||)。
【答案】逻辑非(!)
【解析】逻辑非是单目运算符,优先级高于双目逻辑运算符 && 和 ||,这是 C 语言运算符优先级的固定规则。它的高优先级确保在混合运算中会先执行逻辑非的取反操作。
2、在逻辑与(&&)运算中,当左边的子表达式结果为____时,右边的子表达式将不会被计算,这一特性称为短路求值。
【答案】0(假)
【解析】逻辑与运算要求两边都为真结果才为真,若左边为假,无论右边结果如何,整个表达式结果都是假。C 语言会直接跳过右边子表达式的计算,以此提升程序的执行效率。
4、 读程序写结果题(本题共1题)
1、阅读下面的 C 语言程序,写出程序运行后的输出结果。
【程序代码】
#include <stdio.h>
int main() {
int x=1, y=2, z;
z = !x && (y++);
printf("z=%d, y=%d", z, y);
return 0;
}
【答案】
程序运行结果:
z=0, y=2
【解析】
首先计算!x,x 为 1(非 0),取反后结果为 0(假)。由于逻辑与&&的短路求值特性,左边为假时右边的y++不会执行,y 的值保持 2,整个逻辑表达式结果为 0 并赋值给 z,最终输出对应结果。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(电子工业出版社)一课一练的第4章的第15练,内容涵盖第4章选择结构程序设计的4.2 逻辑运算符与逻辑表达式。
《C语言程序设计》(电子工业出版社)一课一练 第15练
第4章 选择结构程序设计
4.2 逻辑运算符与逻辑表达式
1、 单项选择题(本题共4小题)
1、执行语句int a = 5; printf("%d", !a);,输出的结果是( )
A. 5
B. 1
C. 0
D. -1
2、表达式3>2 && 1<0 || 4>1的运算结果是( )
A. 0
B. 1
C. 3
D. 4
3、执行语句int a=1,b=1; int c=(a==0)&&(b=2); printf("%d,%d",b,c);,输出的结果是( )
A. 1,0
B. 2,0
C. 1,1
D. 2,1
4、执行语句int x=0,y=5; int res=x||y; printf("%d",res);,输出的结果是( )
A. 0
B. 6
C. 5
D. 1
2、 判断题(本题共3题)
1、C 语言中逻辑运算符的优先级从高到低依次是:逻辑非!、逻辑与&&、逻辑或||。( )
2、执行语句int a=6,b=3; int d=(a>5)||(b=4);后,变量 b 的值为 4。( )
3、逻辑表达式的运算对象只能是关系表达式的结果,不能是普通整数或字符。( )
3、 填空题(本题共2题)
1、C 语言中,三种逻辑运算符的优先级从高到低依次是____、逻辑与(&&)、逻辑或(||)。
2、在逻辑与(&&)运算中,当左边的子表达式结果为____时,右边的子表达式将不会被计算,这一特性称为短路求值。
4、 读程序写结果题(本题共1题)
1、阅读下面的 C 语言程序,写出程序运行后的输出结果。
【程序代码】
#include <stdio.h>
int main() {
int x=1, y=2, z;
z = !x && (y++);
printf("z=%d, y=%d", z, y);
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$