任务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' 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$

资源预览图

任务8:关系运算符、逻辑运算符、条件运算符  《编程语言-C语言》45分钟专题训练-第1页
1
任务8:关系运算符、逻辑运算符、条件运算符  《编程语言-C语言》45分钟专题训练-第2页
2
任务8:关系运算符、逻辑运算符、条件运算符  《编程语言-C语言》45分钟专题训练-第3页
3

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。