一、选择题
1. 以下程序的运行结果是           
#include <stdio.h>
int main( )
{ int m=5, n=10;
printf(%d, %d\n,m++, --n);
return 0;
}
A.5,9          B.6,9        C.5,10        D.6,10
2. 有定义语句int a,b; ,若要通过语句scanf(%d, %d, &a, &b); 使变量a得到数值6,变量b得到数值5,下面形式中错误的是          。(注:代表空格)
A.6,5<回车>                B.6,□□5<回车>
C.6 5<回车>                  D.6,<回车>
                                  5<回车>
3. 以下程序的输出结果是            。(注:代表空格)
#include <stdio.h>
int main( )
{ printf(\n*s1=%15s*, chinabeijing );
  pirntf(\n*s2=%-5s*,chi);
  return 0;
}
A.*s1=chinabeijing□□□*          B.*s1=chinabeijing□□□*
*s2=**chi*                        *s2=chi□□*
C.*s1=*□□chinabeijing*            D.*s1=□□□chinabeijing*
*s2=□□chi*                        *s2=chi□□*
4. 已有如下定义语句和输入语句,若要求a1, a2, c1, c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是            。(注:代表空格)
int a1,a2; char c1, c2;
scanf(%d%c%d%c,&a1,&c1,&a2,&c2);
  A.10A□20B<回车>    B.10c语言scanf能输入中文吗A□20□B<回车>
  C.10A□20B<回车>          D.10A20□B<回车>
5. 已有定义int x; float y; 且执行scanf(%3d%f, &x,&y); 语句,若从第一列开始输入数据12345678<回车>,则x的值为  (1)    ,y的值为    (2)  (注:代表空格)
(1)A.12345      B.123          C.45            D.345
(2)A.无定值      B.45.000000      C.678.000000      D.123.000000
6. 阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为             
#include <stdio.h>
int main( )
{ int x,y,z;
  scanf(%d%d%d, &x, &y, &z);
  printf(x+y+z=%d\n, x+y+z);
  return 0;
}
A.x+y+z=48                  B.x+y+z=35
C.x+z=35                    D.不确定值
8. 以下针对scanf函数的叙述中,正确的是           
A.输入项可以为一实型常量,如scanf(%f,3.5);
B.只有格式控制,没有输入项,也能进行正确输入,如scanf(a=%d, b=%d);
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f,&f);
D.当输入数据时,必须指明变量的地址,如scanf(%f, &f)
10. 有输入语句:scanf(a=%d, b=%d, c=%d, &a, &b, &c);为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是          。(注:代表空格)
A.132<回车>                      B.1,3,2<回车>
C.a=1b=3c=2<回车>            D.a=1, b=3, c=2<回车>
12. 已知ch是字符型变量,下面不正确的赋值语句是         
A.ch=‘a+b’;    B.ch=‘\0’;    C.ch=‘7’+‘9’;    D.ch=5+9;
15. 设x, y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5; 后,x、y和z的值是         
A.x=10      B.x=10      C.x=10        D.x=10
  y=15          y=10        y=10            y=5
  z=10          z=10        z=15            z=10
答案:
1. A  2. C  3. D  4. A  5. B  B  6. D  7. B  8. D  9. A  10. D
12. A  13. C  15. A 
二、填空题
1. 以下程序的输出结果为            。.
#include<stdio.h>
int main()
{printf("*%f,%4.3f*\n",3.14,3.1415);
return 0;
}
2. 已有定义int d=-2; 执行以下语句后的输出结果是         
  printf("*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n",d,d,d);
3. 已有定义float d1=3.5, d2=-3.5; 执行以下语句后的输出结果是         
printf("*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*\n",d1,d1,d1);
printf("*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n",d2,d2,d2);
4. 以下程序的输出结果是         
#include<stdio.h>
int main()
{int x=1,y=2;
printf("x=%dy=%d*sum*=%d\n",x,y,x+y);
printf("10 squared is: %d\n",10*10);
return 0;
}
5. 以下程序的输出结果是           
#include<stdio.h>
int main()
{int x=10; float pi=3.1416;
printf("(1)%d\n",x);
printf("(2)%6d\n",x);
printf("(3)%f\n",56.1);
printf("(4)%14f\n",pi);
printf("(5)%e\n",568.1);
printf("(6)%14e\n",pi);
return 0;
}
6. 以下printf语句中的负号的作用是            ,输出结果是         
#include<stdio.h>
int main()
{int x=12;
printf("%6d##\n",x);
printf("%-6d##\n",x);
return 0;
}
7. 以下程序的运行结果是         
#include<stdio.h>
int main()
{int n=100; char c;
float f=10.0; double x;
x=f*=n/=(c=48);
printf("%d%d%3.1f%3.1f\n",n,c,f,x);
return 0;
}
8. 有以下程序,若运行时从键盘输入:55AB<回车>,则输出结果是         
#include<stdio.h>
int main()
{ int k=0; char c1='a',c2='b';
  scanf("%d%c%c",&k,&c1,&c2);
  printf("%d,%c,%c\n",k,c1,c2);
  return 0;
}
9. 以下程序的运行结果是         
#include<stdio.h>
int main()
{int n=0;
n+=(n=10);
printf("%d\n",n);
return 0;
}
10. 若要求下列程序的输出结果为8.00,则[ ]中应填入的是         
#include<stdio.h>
int main()
{int k=2,m=5;
float s,x=1.2,y=[ ];
s=2/3+k*y/x+m/2;
printf("%4.2f\n",s);
return 0;
}
11. 已知字母A的ASCII码值为65。以下程序的输出结果是         
#include<stdio.h>
int main()
{char a,b;
a='A'+'4'-'3';
b='A'+'6'-'2';
printf("a=%d,b=%c\n",a,b);
return 0;
}
12. 假设变量a、b、c均为整型,以下语句借助中间变量t把中的值进行交换,即把b中的值给a,把c中的值给b,把a中的值给c。请填空。
          ;  a=b;  b=c;            ;
13.已有定义int a; float b, x; char c1, c2; 为使a=3、b=6.5、x=12.6、c1=‘a’、c2=‘A’,正确的scanf函数调用语句是                              ,数据输入的形式应为                           
14. 执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1=‘A’、c2=‘a’,正确的数据输入形式是             

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。