任务8:关系运算符、逻辑运算符、条件运算符 《编程语言-C语言》45分钟专题训练
|
2份
|
16页
|
129人阅读
|
2人下载
内容正文:
湖南省职教高考《编程语言—C语言》45分钟专题训练专辑,共43份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有湖南省职教高考《计算机应用基础》《计算机组装与维护》《计算机网络技术》45分钟专题训练专辑,欢迎同学和老师们下载使用。
《编程语言—C语言》
项目二: 分支结构程序设计
第8卷: 关系运算符、逻辑运算符、条件运算符
时间:45分钟 总分:100分
班级___________ 姓名__________ 学号__________ 成绩________
一、选择题(共25小题,每小题2分,共50分)
1. 逻辑运算符两侧运算对象的数据类型( )
A.只能是0或1 B.只能是0或非0正数
C.只能是整型或字符型数据 D.可以是任何类型的数据
2.下列关系表达式中结果为假的是( )
A.0!=0 B.3<=10 C.(a=2*2)==4 D.y=(2+1)==3
3.能正确表示“当 x 的取值在[10,100]和[200,230]范围内为真,否则为假”的表达式是( )
A.(x>=l0)&&(x<=100)&&(x>=200)&&(x<=230)
B.(x>=l0)||(x<=100)||(x>=200)||(x<=230)
C.(x>=l0)&&(x<=100)||(x>=200)&&(x<=230)
D.(x>=l0)||(x<=100)&&(x>=200)||(x<=230)
4.判断char型变量ch是否为大写字母的正确表达式是( )
A.‘A’<=ch<=‘Z’ B.(ch>=‘A’)&(ch<=‘Z’)
C.(ch>=‘A’)&&(ch<=‘Z’) D.(‘A’<=ch) AND (‘Z’>=ch)
5.已有定义:int x=3,y=4,z=5;,则下列表达式中值为0的是( )
A.‘x’&&‘y’ B.x<=y
C.x||y+z&&y-z D.!((x<y)&&!z||1)
6.已有定义:int x=15,y=0;char ch='Y';则表达式:(x>=y&&ch<'Z'&&!y)的值是( )
A.0 B.1 C.语法错 D.True
7.下列表达式中,能正确表示,当a的值为奇数时,表达式的值为“真”,当a的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )
A.a%2==1 B.!(a%2==0) C.!(a%2) D.a%2
8.已有定义:int a=1,b=2,c=3,d=4,m=2,n=2;,则表达式:!(m=a<b)&&(n=c>d)的值为( )
A.0 B.1 C.2 D.3
9.下列表达式中,不能正确表示,当c的值分别为1,3,5三个数时值为“真”,否则值为“假”的表达式是( )
A.!((c<3)&&(c>l))&&!((c<5)&&(c>3))&&(c<=5)&&(c>=l)
B.(c==l)||(c==3)||(c==5)
C.(c!=2)&&(c!=4)&&(c>=1)&&(c<=5)
D.(c=l)||(c=3)||(c=5)
10.已有定义:int a=5,b=6,w=1,x=2,y=3,z=4;,执行语句:(a=w>x)&&(b=y>z);
printf("%d",b);( )
A.0 B.6 C.1 D.4
11.已有定义:int a=3,b=2,c=1;则表达式:f=a>b>c的值是( )
A.0 B.1 C.2 D.3
12.以下表达式中,能正确描述,x,y,z中有两个数为负数的表达式是( )
A.((x<0)&&(y<0)||((x<0)&&(z<0))||(y<0)&&(z<0)
B.((x<0)||(y<0)&&((x<0)||(z<0))&&(y<0)&&(z<0)
C.((x<0)&&(y<0)&&((x<0)&&(z<0))&&(y<0)&&(z<0)
D.((x<0)||(y<0)||((x<0)||(z<0))||(y<0)||(z<0)
13.已有定义:int a=7,b=2,c=3;则表达式:a>b||c>a||a<b&&!c>b 的值为( )
A.0 B.1 C.2 D.3
14.已有定义:int a=7,b=2,c=3;,则表达式:!(a-b)+c-1&&b+c/2 的值为( )
A.0 B.1 C.2 D.3
15.已有定义:int a=6,b=7,c=8,d=9;,执行语句:printf("%d",a>b?a:d>c?d:b);的值为( )
A.6 B.7 C.8 D.9
16.已有定义语句:int x=3,y=4,z=5;则值为0的表达式是( )
A.x>y++ B.x<=++y C.x!=y+z>y-z D.y%z>=y-z
17.已有定义:int a=3,b=4,c=5;则下列表达式中值为0的是( )
A.a||b+c&&b-c B.!(a>b)&&!c||1
C.!(x=a)&&(y=b)&&0 D.!(a+b)+c-1&&b+c/2
18.已有定义:int k=10,a=8,b=6,c=4;,执行语句:printf("%d",k<a?k:c<b?c:a);后的输出结果是( )
A.0 B.1 C.6 D.4
19.已有定义:int w=1,x=2,y=3,z=4,m;,执行以下程序段后,m的值为( )
m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;printf("%d",m);
A.1 B.2 C.3 D.4
20.执行语句:a=1+5<8&&2+6||!10<3;后,a的值为( )
A.1 B.0 C.2 D.6
21.已有定义:int a=4,b=0;char ch=‘M’;则表达式:(a>=b&&ch<‘N’&&!b)的值为( )
A.0 B.1 C.True D.False
22.已有定义:int a=1,b=4,c=3;执行语句:!(a<b)||!c&&++c;后c的值为( )
A.3 B.4 C.0 D.1
23.已有定义:int a=3,b=4;,执行表达式:(a++==4)&&(b++==5)后,变量b的值是( )
A.3 B.4 C.5 D.6
24.下列逻辑运算符中,运算优先级按照从高到低依次为( )
A.&&、!、|| B.!、&&、|| C.||、&& 、! D.||、!、&&
25.以下关于运算符优先顺序的描述中,正确的一项是( )
A.关系运算符<算数运算符<赋值运算符<&&运算符
B.赋值运算符<&&运算符<关系运算符<算数运算符
C.&&运算符<关系运算符<算数运算符<赋值运算符
D.算数运算符<关系运算符<赋值运算符<&&运算符
二、程序运行结果题(本题共5小题,每题5分,共25分)
26.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int al,a2,bl,b2;
int i=5,j=7,k=1;
al=!k;a2=i!=j;
printf("al=%d\ta2=%d
",al,a2);
bl=k&&j;b2=k||j;
printf("bl=%d\tb2=%d
",bl ,b2);
getch();}
27.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=3,b=7,c=10;
printf("%d",c>10?c+100:c-9);
printf("%d",a++||b++);
printf("%d",!a>b);
printf("%d",a&&b);
getch();}
28.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int x=5,y=8;
int a,b,c;
a=(-x==y++)?++x:y--;
b=x++;
c=y&&x==8;
printf("a=%d,b=%d,c=%d",a,b,c);
getch();}
29.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int x,y,z;
x=y=z=-1;
printf("x=%d\ty=%d\tz=%d
",x,y,z);
++y&&++x||++z;
printf("x=%d\ty=%d\tz=%d
",x,y,z);
x=y=-1;
x++||y++&&z;
printf("x=%d\ty=%d\tz=%d
",x,y,z);
getch();}
30.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=-1,b=6,k;
k=(++a<0)&&!(b--<=0);
printf("%d%d%d",k,a,b);
printf("%d",b>a?a:b<=0?k:b);
getch();}
三、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请指出错误代码所在的行号,并给出该行修改后的程序代码。(每处5分,共10分)
31.下面程序的功能是:任意输入一个两位的正整数x,判断正数x是否为同构数,若是同构数,输出“YES”;否则输出“NO”。题目中有两处错误,请你找出并改正。
说明:所谓“同构数”是指这个数出现在它的平方数的右边。例如,输入整数25.25的平方数是625,25是625中右侧的数,所以25是同构数。
L1 #include <stdio.h>
L2 #include<conio.h>
L3 main()
L4 {int x,k;
L5 scanf("%d",&x);
L6 k=x;
L7 (k%100=x)?printf("YES"):printf("NO");
L8 getch();}
四、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空5分,共15分)
32.下列程序的功能是:输出3个变量中的最小值。请将程序补充完整。
#include <stdio.h>
#include<conio.h>
main()
{int a,b,c,t,min;
scanf("%d%d%d",&a,&b,&c);
t= ① ?a:b;
min= ② ?t:c;
printf("%d",min);
getch();}
33.下列程序的功能是:输入一个小写字母,将字母循环后移5个位置后输出。例如‘a’变成‘f’,‘w变成‘b’,若输入不符合要求,则输出字符‘0’,请填空。
L1 #include <stdio.h>
L2 #include<conio.h>
L3 main()
L4 {char c;
L5 c=getchar();
L6 c=((c>='a'&&c<='u')?c+5: ③ );
L7 putchar(c);
L8 getch();}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$
湖南省职教高考《编程语言—C语言》45分钟专题训练专辑,共43份试卷。试卷命题与高考紧密相关,精选具有代表性和典型性的高考常考题。旨在帮助学生系统地复习和巩固计算机类理论知识,熟悉高考题型和命题规律,提高解题能力和应试技巧,为高考取得优异成绩打下坚实的基础,本训练卷适用于即将参加计算机类高考的学生。与本专辑配套的还有湖南省职教高考《计算机应用基础》《计算机组装与维护》《计算机网络技术》45分钟专题训练专辑,欢迎同学和老师们下载使用。
《编程语言—C语言》
项目二: 分支结构程序设计
第8卷: 关系运算符、逻辑运算符、条件运算符
时间:45分钟 总分:100分
班级___________ 姓名__________ 学号__________ 成绩________
一、选择题(共25小题,每小题2分,共50分)
1. 逻辑运算符两侧运算对象的数据类型( )
A.只能是0或1 B.只能是0或非0正数
C.只能是整型或字符型数据 D.可以是任何类型的数据
【答案】D
2.下列关系表达式中结果为假的是( )
A.0!=0 B.3<=10 C.(a=2*2)==4 D.y=(2+1)==3
【答案】A
3.能正确表示“当 x 的取值在[10,100]和[200,230]范围内为真,否则为假”的表达式是( )
A.(x>=l0)&&(x<=100)&&(x>=200)&&(x<=230)
B.(x>=l0)||(x<=100)||(x>=200)||(x<=230)
C.(x>=l0)&&(x<=100)||(x>=200)&&(x<=230)
D.(x>=l0)||(x<=100)&&(x>=200)||(x<=230)
【答案】C
4.判断char型变量ch是否为大写字母的正确表达式是( )
A.‘A’<=ch<=‘Z’ B.(ch>=‘A’)&(ch<=‘Z’)
C.(ch>=‘A’)&&(ch<=‘Z’) D.(‘A’<=ch) AND (‘Z’>=ch)
【答案】
5.已有定义:int x=3,y=4,z=5;,则下列表达式中值为0的是( )
A.‘x’&&‘y’ B.x<=y
C.x||y+z&&y-z D.!((x<y)&&!z||1)
【答案】D
6.已有定义:int x=15,y=0;char ch='Y';则表达式:(x>=y&&ch<'Z'&&!y)的值是( )
A.0 B.1 C.语法错 D.True
【答案】B
7.下列表达式中,能正确表示,当a的值为奇数时,表达式的值为“真”,当a的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )
A.a%2==1 B.!(a%2==0) C.!(a%2) D.a%2
【答案】C
8.已有定义:int a=1,b=2,c=3,d=4,m=2,n=2;,则表达式:!(m=a<b)&&(n=c>d)的值为( )
A.0 B.1 C.2 D.3
【答案】A
9.下列表达式中,不能正确表示,当c的值分别为1,3,5三个数时值为“真”,否则值为“假”的表达式是( )
A.!((c<3)&&(c>l))&&!((c<5)&&(c>3))&&(c<=5)&&(c>=l)
B.(c==l)||(c==3)||(c==5)
C.(c!=2)&&(c!=4)&&(c>=1)&&(c<=5)
D.(c=l)||(c=3)||(c=5)
【答案】D
10.已有定义:int a=5,b=6,w=1,x=2,y=3,z=4;,执行语句:(a=w>x)&&(b=y>z);
printf("%d",b);( )
A.0 B.6 C.1 D.4
【答案】B
11.已有定义:int a=3,b=2,c=1;则表达式:f=a>b>c的值是( )
A.0 B.1 C.2 D.3
【答案】A
12.以下表达式中,能正确描述,x,y,z中有两个数为负数的表达式是( )
A.((x<0)&&(y<0)||((x<0)&&(z<0))||(y<0)&&(z<0)
B.((x<0)||(y<0)&&((x<0)||(z<0))&&(y<0)&&(z<0)
C.((x<0)&&(y<0)&&((x<0)&&(z<0))&&(y<0)&&(z<0)
D.((x<0)||(y<0)||((x<0)||(z<0))||(y<0)||(z<0)
【答案】A
13.已有定义:int a=7,b=2,c=3;则表达式:a>b||c>a||a<b&&!c>b 的值为( )
A.0 B.1 C.2 D.3
【答案】B
14.已有定义:int a=7,b=2,c=3;,则表达式:!(a-b)+c-1&&b+c/2 的值为( )
A.0 B.1 C.2 D.3
【答案】B
15.已有定义:int a=6,b=7,c=8,d=9;,执行语句:printf("%d",a>b?a:d>c?d:b);的值为( )
A.6 B.7 C.8 D.9
【答案】D
16.已有定义语句:int x=3,y=4,z=5;则值为0的表达式是( )
A.x>y++ B.x<=++y C.x!=y+z>y-z D.y%z>=y-z
【答案】A
17.已有定义:int a=3,b=4,c=5;则下列表达式中值为0的是( )
A.a||b+c&&b-c B.!(a>b)&&!c||1
C.!(x=a)&&(y=b)&&0 D.!(a+b)+c-1&&b+c/2
【答案】C
18.已有定义:int k=10,a=8,b=6,c=4;,执行语句:printf("%d",k<a?k:c<b?c:a);后的输出结果是( )
A.0 B.1 C.6 D.4
【答案】D
19.已有定义:int w=1,x=2,y=3,z=4,m;,执行以下程序段后,m的值为( )
m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;printf("%d",m);
A.1 B.2 C.3 D.4
【答案】A
20.执行语句:a=1+5<8&&2+6||!10<3;后,a的值为( )
A.1 B.0 C.2 D.6
【答案】A
21.已有定义:int a=4,b=0;char ch=‘M’;则表达式:(a>=b&&ch<‘N’&&!b)的值为( )
A.0 B.1 C.True D.False
【答案】B
22.已有定义:int a=1,b=4,c=3;执行语句:!(a<b)||!c&&++c;后c的值为( )
A.3 B.4 C.0 D.1
【答案】A
23.已有定义:int a=3,b=4;,执行表达式:(a++==4)&&(b++==5)后,变量b的值是( )
A.3 B.4 C.5 D.6
【答案】B
24.下列逻辑运算符中,运算优先级按照从高到低依次为( )
A.&&、!、|| B.!、&&、|| C.||、&& 、! D.||、!、&&
【答案】B
25.以下关于运算符优先顺序的描述中,正确的一项是( )
A.关系运算符<算数运算符<赋值运算符<&&运算符
B.赋值运算符<&&运算符<关系运算符<算数运算符
C.&&运算符<关系运算符<算数运算符<赋值运算符
D.算数运算符<关系运算符<赋值运算符<&&运算符
【答案】B
二、程序运行结果题(本题共5小题,每题5分,共25分)
26.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int al,a2,bl,b2;
int i=5,j=7,k=1;
al=!k;a2=i!=j;
printf("al=%d\ta2=%d
",al,a2);
bl=k&&j;b2=k||j;
printf("bl=%d\tb2=%d
",bl ,b2);
getch();}
【答案】
al=0 a2=1
bl=1 b2=1
27.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=3,b=7,c=10;
printf("%d",c>10?c+100:c-9);
printf("%d",a++||b++);
printf("%d",!a>b);
printf("%d",a&&b);
getch();}
【答案】1101
28.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int x=5,y=8;
int a,b,c;
a=(-x==y++)?++x:y--;
b=x++;
c=y&&x==8;
printf("a=%d,b=%d,c=%d",a,b,c);
getch();}【答案】a=9,b=5,c=0
29.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int x,y,z;
x=y=z=-1;
printf("x=%d\ty=%d\tz=%d
",x,y,z);
++y&&++x||++z;
printf("x=%d\ty=%d\tz=%d
",x,y,z);
x=y=-1;
x++||y++&&z;
printf("x=%d\ty=%d\tz=%d
",x,y,z);
getch();}
【答案】
x=-1 y=-1 z=-1
x=-1 y=0 z=0
x=0 y=-1 z=0
30.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=-1,b=6,k;
k=(++a<0)&&!(b--<=0);
printf("%d%d%d",k,a,b);
printf("%d",b>a?a:b<=0?k:b);
getch();}
【答案】0060
三、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请指出错误代码所在的行号,并给出该行修改后的程序代码。(每处5分,共10分)
31.下面程序的功能是:任意输入一个两位的正整数x,判断正数x是否为同构数,若是同构数,输出“YES”;否则输出“NO”。题目中有两处错误,请你找出并改正。
说明:所谓“同构数”是指这个数出现在它的平方数的右边。例如,输入整数25.25的平方数是625,25是625中右侧的数,所以25是同构数。
L1 #include <stdio.h>
L2 #include<conio.h>
L3 main()
L4 {int x,k;
L5 scanf("%d",&x);
L6 k=x;
L7 (k%100=x)?printf("YES"):printf("NO");
L8 getch();}
答案:
L6 k=x*x;
L7 (k%100==x)?printf("YES"):printf("NO");
四、程序填空。按照题目要求,将正确的内容填入相应位置,使得程序完整(每空5分,共15分)
32.下列程序的功能是:输出3个变量中的最小值。请将程序补充完整。
#include <stdio.h>
#include<conio.h>
main()
{int a,b,c,t,min;
scanf("%d%d%d",&a,&b,&c);
t= ① ?a:b;
min= ② ?t:c;
printf("%d",min);
getch();}
答案:①a<b ②t<c
33.下列程序的功能是:输入一个小写字母,将字母循环后移5个位置后输出。例如‘a’变成‘f’,‘w变成‘b’,若输入不符合要求,则输出字符‘0’,请填空。
L1 #include <stdio.h>
L2 #include<conio.h>
L3 main()
L4 {char c;
L5 c=getchar();
L6 c=((c>='a'&&c<='u')?c+5: ③ );
L7 putchar(c);
L8 getch();}
答案:③(c>='v'&&c<='z')?c-21:'0'
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$