一、选择题
1.在 scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型不匹配,系统  。
      A)不予接收
      B)并不给出出错信息,但不可能得出正确信息数据
      C)能接受正确输入
      D)给出出错信息,不予接收输入
2.下列说法正确的是    。
      A)输入项可以是一个实型常量,如scanf("%f",4.8);
      B)只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d");
      C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f);
      D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);
3.若有定义:int x,y;char a,b,c;并有以下输入数据(此处,<cr>代表换行符)
1 2<cr>
A B C<cr>
则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是    。
A)scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();
B)scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();
C)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);
D)scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);
4. 根据定义和数据的输入方式,输入语句的正确形式为:      。
已有定义:float  a1,  a2;
数据的输入方式:  4.523
                  3.52
A)scanf(“%f %f ”, &a1,&a2);
B)scanf(“%f ,%f ”, a1, a2);
C)scanf(“%4.3f ,%3.2f ”, &a1,&a2);
D)scanf(“%4.3f %3.2f ”, a1,a2);
5.若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是      。
A)10<回车>22<回车>33<回车>                B)10.0,22.0,33.0<回车>
C)10.0<回车>22.0  33.0<回车>            D)10  22<回车>33<回车>
6. x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是      。
A)INPUT x、y、z;                        B)scanf("%d%d%d",&x,&y,&z);
C)scanf("%d%d%d",x,y,z);                D)read("%d%d%d",&x,&y,&z);
7.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将          ;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。
      A)不予输出        B)输出空格
      C)照样输出        D)输出不定值或0
8.以下程序的输出结果是      。
main()
{
int i=010,j=10,k=0x10;
printf("%d,%d,%d\n",i,j,k);
A)8,10,16    B)8,10,10    C)10,10,10    D)10,10,16
9.以下程序的输出结果是    。
main()
{
int i=011,j=11,k=0x11;
printf("%d,%d,%d\n",i,j,k);
}
A)9,11,17    B)9,11,11    C)11,11,11    D)11,11,16
10.以下程序的输出结果是    。
#include<stdio.h>
main()
{printf("%d\n",NULL);}
A)不确定的值(因变量无定义)    B)0
C)-1                            D)1
11.以下程序的输出结果是      。
main()
{
char c1='6',c2='0';
printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);
}
A)因输出格式不合法,输出出错信息      B)6,0,6,102
C)6,0,7,6                              D)6,0,5,7
12.设有如下定义
int x=10,y=3,z;
则语句
printf("%d\n",z=(x%y,x/y));
的输出结果是      。
A)3        B)0        C)4        D)1
13.设有如下定义
int x=10,y=5,z;
则语句
printf("%d\n",z=(x+=y,x/y));
的输出结果是      。
A)1        B)0        C)4        D)3
14.以下程序的输出结果是      。
main()
{int x=10,y=10;
printf("%d  %d\n",x--,--y);
}
A)10  10      B)9  9        C)9  10      D)10  9
15.写出下面程序的输出结果      。
main()
{int x;
x=-3+4*5-6;printf("%d",x);
x=3+4%5-6;printf("%d",x);
x=-3*4%6/5;printf("%d",x);
x=(7+6)%5/2;printf("%d",x);
}
A)11 1 0 1      B)11 -3 2 1      C)12 -3 2 1    D)11 1 2 1
16.写出下面程序的输出结果      。
main()
{
int x,y,z;
x=y=1;
z=x++-1;printf("%d,%d\t",x,z);
z+=-x++ +(++y);printf("%d,%d",x,z);
}
A)2,0  3,0    B)2,1  3,0      C)2,0  2,1      D)2,1  0,1
17.写出下面程序的输出结果    。
main()
{
int i,j;
i=20;j=(++i)+i;printf("%d",j);
i=13;printf("%d %d),i++,i);
}
A)42 14,13      B)41 14,14      C)42 13 13      D)42 13 14
18.printf函数中用到格式符"%4s",其中数字4表示输出的字符串站用4列。如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为    。
A)从左起输出该字符串,右补空格    B)按原字符长从左向右全部输出
C)右对齐输出该字符,左补空格      D)输出错误信息
19.以下C程序,正确的运行结果是      。
main()
{
long y=-34567;
printf("y=%-8ld\n",y);
printf("y=%-08ld\n",y);
printf("y=%08ld\n",y);
printf("y=%+8ld\n",y);
}
A)y=  -34567                B)y=-34567
          y=-  34567                  y=-34567
          y=-0034567                  y=-0034567
          y=-34567                    y=+ -34567
C)y=-34567                  D)y=  -34567
          y=-34567                    y=-0034567
          y=-0034567                  y=00034567
y=-34567                    y=+34567
printf函数打印字符串20. 设有如下定义和执行语句,其输出结果为:    。
  int a=3,b=3;
  a = --b + 1; printf(“%d  %d”,a,b);
      A)3  2      B)4  2      C)2  2      D)2  3
21. 以下程序的输出结果是:        。
main( )
{ int  I=012, j=12, k=0x12;
printf(“%d,%d,%d\n”,I, j, k );
A)10, 12, 18              B)12, 12, 12
C)10, 12, 12              D)12, 12, 18
22. 以下程序的输出结果是:(注:▂表示空格)        。
main( )
{ printf(“\n*s1=%8s*”, “china”);
printf(“\n*s2=%-5s*”, “chi”) ;    }
A)*s1=china▂ ▂ ▂*          B)*s1=china▂ ▂ ▂*
          *s2=chi*                        *s2=chi▂ ▂*
C)*s1=▂ ▂ ▂china*          D)*s1=▂ ▂ ▂china*
          *s2=▂ ▂chi *                  *s2=chi▂ ▂*
23. 已有定义int a=-2;和输出语句 printf("%8lx",a);以下正确的叙述是      。
A)整型变量的输出形式只有%d一种