c语言习题--输入输出函数
1. 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:
scanf("i=%d,f=%f",&i,&f);
为了把100和分别赋给i和f,则正确的输入为
A)100<空格><回车> B)i=100,f=<回车>
C)100<回车><回车> D)x=100<回车>,y=<回车>
2. 以下程序的输出结果是
main( )
{int a=12,b=12;
printf("%d %d\n",--a,++b);
}
A)10 10 B)12 12 C)11 10 D)11 13
3. 以下程序运行后,输出结果是
main( )
{
char *s="abcde";
s+=2;
printf("%ld\n",s);
}
A)cde B)字符c的ASCII码值 C)字符c的地址 D)出错
4. 以下程序输出结果是
main( )
函数printf
{
int m=5;
if(m++>5)printf("%d\n",m);
else printf("%d\n",m--);
}
A)7 B)6
C)5 D)4
5. 当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为
if(a<b)
if(c<d)x=1;
else if(a<c)
if(b<d)x=2;
else x=3;
else x=6;
else x=7;
A)1 B)2 C)3 D)6
6. 下面能正确进行字符串赋值操作的语句是
A)char s[5]={"ABCDE"}; B)char s[5]={'A'、'B'、'C'、'D'、'E'};
C) char *s;s="ABCDEF"; D)char *s; scanf("%s",s);
7. 以下程序运行后,输出结果是
#include<>
#define PT
#define S(x) PT*x*x
main( )
{
int a=1,b=2;
printf("%4.1f\n",S(a+b))
}
A) B)9.5 C) D)
8. 以下程序的输出结果是
# include <>
main()
{ printf("%d\n",NULL); }
A) 不确定的(因变量无定义) B)0 C)-1 D)1
9. 设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是
A)3 B)0 C)9 D)-12
10. 以下程序的输出结果是
# include <>
# include <>
main()
{ char str[12]={'s','t','r','i','n','g'};
printf("%d\n",strlen(str)); }
A) 6 B) 7 C) 11 D) 12
11. 以下程序的输出结果是
# include <>
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=%%d,b=%%d D) a=%d,b=%d
12. 设有static char str[ ]="Beijing";则执行printf("%d\n", strlen(strcpy(str,"China")));
后的输出结果为
A) 5 B) 7 C) 12 D) 14
13. 若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是
A) 200 B) 100 C) 100 200 D) 输出格式符不够,输出不确定的值
14. 请读程序片段(字符串内没有空格):
printf("%d\n",strlen("ATS\n012\1\\"));
上面程序片段的输出结果是
A) 11 B) 10 C) 9 D) 8
15. 已知字母A的ASCII码为十进制的65,下面程序的输出是
main()
{ char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);}
A) 67,D B) B,C
C) C,D D) 不确定的值
16. 若执行下面的程序时从键盘上输入3和4,则输出是
A) 14 B) 16 C) 18 D) 20
main()
{ int a,b,s;
scanf("%d %d",&a,&b);
s=a;
if(a<b)s=b;
s=s*s;
printf("%d\n",s);}
17. 下面的程序
main()
{ int x=3,y=0,z=0;
if(x=y+z)printf("* * * *");
else printf("# # # #");}
A) 有语法错误不能通过编译
B) 输出* * * *。
C) 可以通过编译,但是不能通过连接,因而不能运行。
D) 输出# # # #。
18. 下面程序的输出是
A) 17 B) 18 C) 23 D) 24
main()
{ int x=023;
printf(%d\n",--x);}
19. 若执行下面的程序时从键盘上输入5,则输出是
A) 7 B) 6 C) 5 D) 4
main()
{ int x;
scanf("%d",&x);
if(x++>5) printf("%d\n",x);
else printf("%d\n",x--);}
20. 下面程序的输出是
A) 0 0 3 B) 0 1 2 C) 1 0 3 D) 1 1 2
main()
{ int a=-1, b=4,k;
k=(a++<=0)&&(!(b--<=0));
printf("%d %d %d\n",k,a,b);}
21. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d\n",x - -); }
A) 7和5 B) 6和3 C) 7和4 D) 6和4
22. 下面程序的输出是
main()
{int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}
A)k=11,k=12,k=11 B)k=11,k=13,k=13
C)k=11,k=013,k=0xb D)k=11,k=13,k=b
23. 若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是
A)*p=&a; scanf("%lf",p);
B)p=(double*)malloc(8);scanf("%f",p);
C) p=&a;scanf("%lf",a);
D)p=&a; scanf("%le",p);
24. 以下说法中正确的是
A) #define和printf都是C语句 B) #define是C语句,而printf不是
C) printf是C语句,但#define不是 D) #define和printf都不是C语句
25. 语句:printf("%d \n",12 &012);的输出结果是
A) 12 B) 8 C) 6 D) 012
26. 语句:printf("%d \n",12 &012);的输出结果是
A) 12 B) 8 C) 6 D) 012
27. 下列程序执行后的输出结果是
main()
{ char x=0xFFFF; printf("%d \n",x--); }
A) -32767 B) FFFE C) -1 D) –32768
28. 语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是
A) a\bre\'hi\'y\\\bou B) a\bre\'hi\'y\bou
C) re'hi'you D) abre'hi'y\bou
(说明:'\b'是退格符)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论