第四章测试1.
以下程序段的输出结果是
#include <stdio.h>
void main()
{ int i=1,j=1,k=2;
if((j++||k++)&&i++) printf("%d,%d,%d",i,j,k);
}
A:2,2,3 B: 2,2,1 C:1,1,2 D:2,2,2
答案:D
2.
当c的值不为0时,能正确将c的值赋给变量a,b的是
A:a=c=b B:(a=c)&&(b=c) C:(a=c)||(b=c) D:c=b=a 3.
以下程序的运行结果是
#include <stdio.h>
void main()
{ int a=010, b=10;
printf("%d,%d" , ++a, b--);
}
A:11, 10 B: 011, 10 C: 011, 9 D:9, 10 4.
已知int n,i=1,j=2;执行语句n=i<j?i++:j++;则i和j的值是
A:2,3 B:1,3 C:1,2 D:2,2 5.
#include <stdio.h>
void main()
{ int x=1,y=0;
if(!x) y++;
else if(x==0)
if (x) y+=2;
else y+=3;
printf("%d",y); }
程序运行后的输出结果是
A:0 B:2 C:3 D:1 6.
#include <stdio.h>
main()
{int x=1,y=0,a=0,b=0;
switch(x)
{case 1: switch(y)
{case 0:a++;break;
case1:b++;break;}
case 2:a++;b++;break;
case 3:a++;b++;break;
default:a++;b++;}
printf(“a=%d,b=%d”,a,b);}
A.a=1,b=0 B.a=2,b=1 C.a=1,b=1 D.a=2,b=2
以上程序的输出是
A:a=1,b=1 B:a=2,b=2 C:a=1,b=0 D:a=2,b=1 7.
下面程序的输出结果是:
#include<stdio.h>
void main()
{ int a=2, b=-1, c=2;
if(a<b)
if(b<0) c=0;
else c+=1;
printf("%d", c);
}
A:2 B:1 C:4 D:3 8.
下程序功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出,请填空。
#include<stdio.h>
void main()
{int x=256;
printf(“%d-%d-%d”,_______,x/10%10,x/100);}
A:x%10 B:x/100%10 C:x/10 D:x/10%10 9.
有以下程序
#include <stdio.h>
void main()
{ int x;
scanf("%d",&x);
if(x>15) printf("%d",x-5);
if(x>10) printf("%d",x);
if(x>5) printf("%d ",x+5);
}
若程序运行时从键盘输入12<回车>,则输出结果为_________
A:7 B:12 17 C:17 D:12
10.
有以下程序(说明:字符0的ASCII码值为48)
#include <stdio.h>
main()
{ char c1,c2;
scanf("%d",&c1);
c2=c1+9;
printf("%c%c ",c1,c2);
}
若程序运行时从键盘输入48<回车>,则输出结果为_________
A:0 B:09 C:9 D:'0' '9'