第三章测试1.
已知a,b,c的值分别是1,2,3,则执行下列语句后a,b,c的值分别是( )
if (a++<b ){c=a; a=b; b=c; }
else a=b=c=0;
A:1,2,3
B:1,2,1
C:0,0,0
D:2,2,2
答案:D
2.
以下if语句中格式正确的是( )
A:if(a>b) b++ else a++; B:if(a>b)b++;printf("%d",b);
else printf("%d",a); C:if(a>b) {b++;printf ("%d",b);}
else {a++;printf("%d",a);} D:if(a>b) {b++;printf("%d",b)}
else{a++;printf("%d",a);} 3.若i是int型变量,且有下面的程序片段
i=0;
if(i<=0) printf("####")
else printf("****");
上面程序片段的输出结果是( )
A:####**** B:####
C:有语法错误,无输出结果 D:**** 4.
有以下程序:
#include<stdio.h>
main()
{int x,y; printf("Enter an integer(x):");
scarf("%d",&x);
if(x++<0) y=-1;
else if(x==0) y=0;else y=1; printf("%d",y);}
现从键盘上输入-1,则程序的输出是( )。
A:-1 B:不确定的值 C:0
D:1 5.
若执行下面的程序时从键盘上输入10,则输出是( )
main()
{int a;scanf("%d",&a);
if(a++>10)
printf("%d\n",++a);
else printf("%d\n",a--); }
A:11
B:9 C:12
D:10 6.
下面程序的输出结果是( )。
#include<stdio.h>
main()
{int i=2,p;p=f(i,i+1);
printf("%d",p); }
int f(a,b)
int a,b;
{int c; c=a;
if(a>b) c=1;
else
if(a==b)c=0; else c=-1;
return(c); }
A:2 B:1 C:-1 D:0 7.
请读程序:
#include<stdio.h>
main()
{int x=l,y=0,a=0,b=0;
switch(x)
{case l:
switch(y)
{case 0: a++; break;
case 1:b++;break;}
case 2:
a++;b++; break;}
printf("a=%d, b=%d\n",a,b);}
上面程序的输出结果是( )
A:a=l,b=0 B:a=2,b=2 C:a=l,b=l D:a=2,b=l 8.
有以下程序:
#include<stdio.h> .
main()
{int al=0,a2=0,a3=0;
char ch;
while((ch=getchar())!='\n')
switch(ch)
{case 'A':a1++;
case 'B':a2++;
default:a3++; }
printf("%d,%d,%d",a1,a2,a3);}
现从键盘上输入AAAAABBBC<回车>,则程序执行后的输出结果是( )
A:5,8,1 B:5,8,9 C:5,3,9 D:5,3,1 9.
若要求表示a不等于0的关系,错误的表达式是( )
A:a B:a!=0 C:a<0| |a>0 D:a<>0 10.
程序的三种基本结构是( )。
A:选择结构,循环结构,递归结构 B:顺序结构,选择结构,递归结构 C:顺序结构,循环结构,递归结构 D:顺序结构,循环结构,选择结构 11.
C语言中,逻辑真表示为( )。
A:'y'或'Y' B:非零值 C:1 D:TRUE 12.
已知a,b,c,w时int型变量,a,b均以赋值,且满足a<b,先有以下程序段:
scanf (“%d”,&c);
w=a;
if (w<=b) w=b;
if (w<=c) printf (“%d”,w);
else w=c;
为把c的值放入w中,则执行此程序段时,从键盘输入的c的值不应取的范围是( )。
A:b>c B:c>=b C:c>a且c<b D:c>a或c<b 13.
设a,b,w为整型变量,ch为字符型变量,用if语句改写以下的程序段:
switch(ch)
{ case'+':w=a+b;break;
case'-':w=a-b;break;
case'*':w=a*b;break;
case'/':w=a/b;break;}
在下列写法中,错误的是( )
A:
if(ch= ='+') w=a+b;
else if(ch= ='-') w=a-b;
if(ch= ='*') w=a*b;
else w=a/b;
if(ch= ='+') w=a+b;
elseif(ch= ='-') w=a-b;
if(ch= ='*') w=a*b;
else if(ch= ='/') w=a/b;
if(ch= ='*') w=a*b;
else if(ch= ='/') w=a/b;
if(ch= ='+') w=a+b;
else if(ch= ='-') w=a-b;
if(ch= ='+') w=a+b;
if(ch= ='-') w=a-b;
if(ch= ='*') w=a*b;
if(ch= ='/') w=a/b;
以下程序的输出结果是( )
#include<stdio.h>
main()
{ int a=0,b=l,c=0,x=0,y=0;
if(x<=y)
if(y=l0)
if(!b) a=1;
else if(c) a=10;
a=-1;
printf("%d",a);}
A:1 B:-1 C:10 D:不确定的值