第四章选择结构程序设计一、选择题1.下列运算符中优先级最高的是。(0级)A)B)+C)&&D)!=2.以下关于运算符优先级的描述中,正确的是。(0级)A)!(逻辑非)算术运算关系运算&&(逻辑与)||(逻辑或)赋值运算B)&&(逻辑与)算术运算关系运算赋值运算C)关系运算算术运算&&(逻辑与)||(逻辑或)赋值运算D)赋值运算算术运算关系运算&&(逻辑与)||(逻辑或)3.逻辑运算符的运算对象的数据类型。(0级)A)只能是0或1B)只能是.T.或.F.C)只能是整型或字符型D)任何类型的数据4.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是。(1级)A)(x=-10)||(x=-5)&&(x=0)||(x=100)B)(x=-10)&&(x=-5)||(x=0)&&(x=100)C)(x=-10)&&(x=-5)&&(x=0)&&(x=100)D)(x=-10)||(x=-5)&&(x=0)||(x=100)5.以下程序的运行结果是。(1级)main(){intc,x,y;x=1;y=1;c=0;c=x++||y++;printf(“\n%d%d%d\n”,x,y,c);}A)110B)211C)011D)0016.以下程序的运行结果是。(1级)main(){intc,x,y;x=0;y=0;c=0;c=x++&&y++;printf(“\n%d%d%d\n”,x,y,c);}A)100B)211C)011D)0017.判断字符型变量ch为大写字母的表达式是。(1级)A)’A’=ch=’Z’B)(ch=’A’)&(ch=’Z’)C)(ch=’A’)&&(ch=’Z’)D)(ch=’A’)AND(ch=’Z’)8.判断字符型变量ch为小写字母的表达式是。(1级)A)’a’=ch=’z’B)(ch=a)&&(ch=z)C)(ch=’a’)||(ch=’z’)D)(ch=’a’)&&(ch=’z’)9.以下if语句书写正确的是。(1级)A)if(x=0;)B)if(x0)printf(”%f”,x);{x=x+1;printf(”%f”,x);}elseprintf(”%f”,-x);elseprintf(”%f”,-x);C)if(x0);D)if(x0){x=x+1;printf(”%f”,x);}{x=x+1;printf(”%f”,x)}elseprintf(”%f”,-x);elseprintf(”%f”,-x);10.分析以下程序:main(){intx=5,a=0,b=0;if(x=a+b)printf(“****\n”);elseprintf(“####\n”);以上程序。(1级)A)有语法错,不能通过编译B)通过编译,但不能连接C)输出****D)输出####11.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是。(1级)main(){intx;scanf(“%d”,&x);if(x++5)printf(“%d”,x);elseprintf(“%d\n”,x--);}A)7和5B)6和3C)7和4D)6和412.写出下面程序的执行结果。(1级)main(){intx,y=1;if(y!=0)x=5;printf(“%d\t”,x);if(y==0)x=3;elsex=5;printf(“%d\t\n”,x);}A)13B)15C)53D)5513.写出下面程序的执行结果。(2级)main(){intx=1,y=1,z=0;if(z0)if(y0)x=3;elsex=5;printf(%d\t,x);if(z=y0)x=3;elseif(y==0)x=5;elsex=7;printf(%d\t,x);printf(%d\t,z);}A)170B)370C)550D)15114.假定所有变量均已正确说明,下列程序段运行后x的值是。(1级)a=b=c=0;x=35;if(!a)x=-1;elseif(b);if(c)x=3;elsex=4;A)34B)4C)35D)315.写出下面程序的运行结果是。(2级)main(){intx,y=1,z=0;if(y!=0)x=5;printf(x+%d\t,x);if(y==0)x=3;elsex=5;printf(x=%d\t\n,x);x=1;if(z0)if(y0)x=3;elsex=5;printf(x=%d\t\n,x);if(z=y0)x=5;elsex=7;printf(x=%d\t,x);printf(%d\t\n,z);if(x=y=z)x=3;printf(x=%d\t,x);printf(z=%d\t\n,z);}A)x=5x=5B)x=5x=5x=1x=1x=7z=0x=5z=0x=3z=1x=3z=0C)x=5x=5D)x+5x=5x=5x=1x=7z=0x=7z=0x=3z=1x=0z=016.若有以下函数关系x0→y=2xx0→y=xx=0→y=x+1下面程序段能正确表示以上关系的是。(2级)A)y=2x;B)y=2x;if(x!=0)if(x=0)if(x0)y=x;if(x==0)y=x+1;elsey=x+1;elsey=x;C)if(x=0)(D)y=x+1;if(x0)y=x;if(x=0)elsey=x+1;if(x0)y=2x;elsey=2x;elsey=x;17.若有以下变量定义:floatx;inta,b;则正确的switch语句是。(1级)A)switch(x){case1.0:printf(*\n);case2.0:printf(**\n);}B)switch(x){case1,2:printf(*\n);case3:printf(**\n);}C)switch(a+b){case1:printf(*\n);case2*a:printf(**\n);}D)switch(a+b){case1:printf(*\n);case1+2:printf(**\n);}18.以下关于运算符优先顺序的描述正确的是。(02~03第一学期试题)A)关系运算符算术运算符赋值运算符逻辑运算符B)逻辑运算符关系运算符算术运算符赋值运算符C)赋值运算符逻辑运算符关系运算符算术运算符D)算术运算符关系运算符赋值运算符逻辑运算符19.能正确表示a=10或a=0的关系表达式是。(02~03第一学期试题)A)a=10ora=0B)a=10|a=0C)a=10&&a=0D)a=10||a=020.以下不正确的if语句形式是。(02~03第一学期试题)A)if(xy&&x!=y);B)if(x==y)x+=y;C)if(x!=y)scanf(“%d”,&x)elsescanf(“%d”,&y);D)if(xy){x++;y++;}21.当a=1,b=3,c=5,d=4时,执行完下面程序段后x的值为。(02~03第一学期试题)if(ab)if(cd)x=1;elseif(ac)if(bd)x=2;elsex=3;elsex=6;elsex=7;A)1B)2C)3D)622.以下if语句中语法错误的是。(01~02第二学期试题)A)if(ab)printf(“%f”,a);B)if(ab)printf(“%f”,a);elseprintf(“%f”,b);C)if(ab)printf(“%f”,a)D)if(ab)printf(“%f”,b);elseprintf(“%f”,b);elseprintf(“%f”,a);23.能表示整数x符合下面两个条件的语句是。(01~02第二学期试题)(1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.A)(x%4==0&&x%100!=0)||x%400==0B)(x%4==0||x%100!=0)&&x%400==0C)(x%4==0&&x%400!=0)||x%100==0D)(x%100==0||x%4!=0)&&x%400==024.设有如下定义:charch=’z’,则执行下面语句后变量ch是值为:。(03试题)ch=(‘A’=ch&&ch=‘Z’)?(ch+32):chA)AB)aC)ZD)z25.若I为整型变量,则下列程序段的运行结果为。(03试题)I=322;if(I%2==0)printf(“#####”)elseprintf(“*****”);A)#####B)#####*****C)*****D)有语法错误,无法输出结果26.已知intx=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:。(03试题)if(xy||xz&&yz)z=x;x=y;y=z;A)x=50,y=80,z=80B)x=50,y=30,z=30C)x=30,y=50,z=80D)x=80,y=30,z=5027.C语言中,要求运算对象必须是整型的运算符是:。(往届试题)A)B)++C)%D)!=28.29.以下程序的输出结果是。(04~05第二学期试题)main(){intx=2,y=-1,z=2;if(xy)if(y0)z=0;elsez+=1;printf(“%d\n”,z);}A)3B)2C)1D)030.设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是:。(往届试题)A)‘a’+‘b’B)a=bC)a||b+c&&b-cD)!((ab)&&!c||1)31.在C的if语句中,可用作判断的表达式是:。(往届试题)A)关系表达式B)逻辑表达式C)算术表达式D)任意表达式32.下面能正确表示变量a在区间[0,5]或(6,10)内的表达式为:。(往届试题)A)0=a||a=5||6a||a10B)0=a&&a=5||6a&&a10C)(0=a||a=5)&&(6a||a10)D)0=a&&a=5&&6a&&a1033.在C语言中,多分支选择结构语句为:switch(c){case常量表达式1:语句1;……case常量表达式n-1:语句n-1;default语句n;}其中括号内表达式c的类型:。(往届试题)A)可以是任意类型B)只能为整型C)可以是整型或字符型D)可以为整型或实型34.以下if语句语法正确的是:。(往届试题)A)if(x0)printf(“%f”,x)elseprintf(“%f”,-x);B)if(x0){x=x+y;printf(“%f”,x);}elseprintf(“%f”,-x);C)if(x0){x=x+y;printf(“%f”,x);};elseprintf(“%f”,-x);D)if(x0){x=x+y;printf(“%f”,x)}elseprintf(“%f”,-x);35.为了表示关系x=y=z,应使用C语言表达式。(1级)A)(x=y)&&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z)36.若欲表示在if后a不等于0的关系,则能够正确表示这一关系的表达式为。(1级)A)a0B)!aC)a=0D)a37.下面程序的输出结果是。(1级)main(){intx,y,z;x=y=1;z=x++-1;printf(“%d,%d\t”,x,z);z+=-x+++(++y||++z);printf(%d,%d”,x,z);}A)2,03,-1B)2,13,0C)2,02,1D)2,10,138.下面程序的输出结果是。(1级)main(){intx=40,y=4,z=4;x=y==z;printf(“%d”,x);x=x==(y-z);printf(%d”,x);}A)40B)41C)11D)1039.若x=3,y=z=4,则下列表达式的值分别为。(1级)(1)(z=y=x)