当前位置:文档之家› 选择结构练习题

选择结构练习题

y=0;
if (x>=0)
{if (x>0) y=1;}
else y=-1;
printf (“%d”,y);
}
当从键盘输入32时,程序输出结果为()
A.0 B.-1 C. 1 D.不确定值
2.以下程序的输出结果是()
#include <stdio.h>
main()

int a=2,b=-1,c=2;
#include<stdio.h>
main()
{int x;
scanf(“%d”,&x);
if(x--<5) printf(“%d”,x);
else print(“%d”,x++);

A.3 B.4 C. 5 D.6
9.如下程序的输出结果是()
#include<stdio.h>
main()
{ int a=15,b=21,m=0;
A.**0** B.**0****2** C. **0****1****2**
D.有语法错误
二.填空题
1.在C语言中,关系运算符的优先级别是,逻辑运算符的优先级别是。
2.写出下列程序运行结果
#include<stdio.h>
main()
{ int a=100;
if (a>100)
printf(“%d\n”,a>100);
c=(a-=(b-5)); c=(a%11)+(b=3);
6.表示“整数x的绝对值大于5”时值为“真”的C语言表达式是
7.下列程序的输出结果是16,请填空
#include<stdio.h>
main()
{ int a=9,b=2;
float x=,y=1.1,z;
z=a/2+b*x/y+1/2;
printf(“%5.2f\n”,z);
}
8.若从键盘输入58,则以下程序输出的结果是
#include<stdio.h>
main()
{ int a ;
scanf (“%d”,&a);
if (a>50) printf(“%d”,a);
if (a>40) printf(“%d”,a);
if (a>30) printf(“%d”,a);}
9.以下程序输出结果是
if (a>b)
if (b<0 ) c=0;
else c+=1;
printf(“%d\n”,c);

A.0 B.1C.2 D.3
4.以下程序的输出结果是()
#include <stdio.h>
main()
{int k=2;
switch(k)
{case 1:printf(“%d\n”,k++);break;
14.假定所有变量均已正确说明,下列程序段运行后x的值是()
a=b=c=0;x=35;
if (!a) x--;
else if (b);
if (c) x=3;
else x=4;
A. 34 B.4 C35 D 3
15.表示关系X≤Y≤Z的C语言表达式为()
A.(X<=Y)&&(Y<=Z) B. (X<=Y) and (Y<=Z)
if (x=z+y) printf(“****”);
else printf(“####”);}
A.有语法错误不能通过编译
B.输出****
C.可以通过编译,但是不能通过连接,因而不能运行
D.输出####
11.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()
#include<stdio.h>
C.其之后最近的if D.同一行上的if
20.设有说明语句int a=1,b=0;,则执行下列语句后,输出为()
switch(a)
{ case 1:
switch(b)
{case 0: printf(“**0**”);break;
case 1: printf(“**1**”);break;
}
case 2: printf(“**2**”); break;}
k=(++a<0)&&(b--<=0);
printf(“%d%d%d\n”,k,a,b);}
A. 104 B.003 C.103 D. 004
13.能正确表示a≥10或a≤0的关系表达式是()
A. a>=10 or a<=0 B. a>=10 | a<=0
C.a>=10 && a<=0 D.a>=10 || a<=0
#include<stdio.h>
main()
{int a=5,b=4,c=3,d;
d=(a>b>c);
printf(“%d\n”,d);

10.以下程序输出结果是
#include<stdio.h>
main()
{int x=10,y=20,t=0;
if(x= =y)t=x;x=y;y=t;
printf (“%d,%d\n”,x,y);
main()
{ int a=2,c=5;
printf(“a=%d,b=%d\n”,a,c);
}
A. a=%2,b=%5 B. a=2,b=5
C.a=c,b=d D a=%d,b=%d
6.语句pritnf(“a\bre\’hi\’y\\\bou\n”);的输出结果是()
A. a\bre\\’hi\’y\\bou B.a\bre\’hi\’y\bou

11.设a,b,c为整型数,且a=2,b=3,c=4,则执行完语句a*=16+(b++)-(++c);后,a的值是
12.若inti=10;,则执行完下列程序后,变量i的正确结果是
switch(i)
{case 9:i+=1;
case 10:i+=1;
case 10:i+=1;
default: i+=1;
else
printf(“%d\n”,a<=100);
}
3.写出与以下表达式等价的表达式(1)!(x>0)(2)!0
4.当a=1,b=2,c=3时,以下语句执行后,a,b,c中的值分别为
if(a>c)
b=a;a=c;c=b;
5.若有定义:int a=10,b=9,c=8;,接着顺序执行下列语句后,变量b中的值是
C.(X<=Y<=Z) D.(X<=Y)&(Y<=Z)
16.如下程序的输出结果为()
#include<stdio.h>
main()
{int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf(“%d,%d\n”,a,b);

A.2,1 B 3,2 C4,3 D 2,-1
17.以下程序输出结果是()
scanf(“%d”,&x);
y=x>12 ? x+10: x-12;
printf(“%d\n”y);

15.设x,y,z均为int型变量,请与出描述“x或y中至少有一个小于z”的表达式
16.已知A=7.5,B=2,C=3.6,表达式A>B&&C>A || A<B && !C的值是
C.re’hi’you D. abre’hi’y\bou
7.如下程序的输出结果是()
#include<stdio.h>
main()
{int a=12,b=5,c=-3;
if(a>b)
if(b<0) c=0;
else c++;
printf(“%d\n”,c);
}
A.0 B.1 C. -2 D.-3
8.从键盘输入5,下列程序运行结果是()
}
13.以下程序输出结果是
#include<stdio.h>
main()
{int x=2,y=-1,z=2;
if (x<y)
if(y<0) z=0;
else z+=1;
printf(“%d\n”,z);

14.若运行时输入12,则以下程序的运行结果是
#include<stdio.h>
main()
{int x,y;
#include<stdio.h>
main()
{int a=-1,b=1,k;
if( (++a<0)&&!(b--<=0))
printf(“%d%d\n”,a,b);
else
printf(“%d%d\n”,b,a);

A.-1 1 B. 01 C. 1 0 D 0 0
18.下列关于switch语句和break语句的结论中,正确的是()
switch(a%3)
{case 0: m++;break;
case 1: m++;
switch(b%2)
{default: m++;
case 0: m++; break;
}}Biblioteka printf(“%d\n”,m); }
10.下面的程序()
相关主题