(21)有以下程序
#include
main()
{char
*s=(“ABC.;
do
{printf(“%d”,*s%10);s++;
}while(*s);
}
注意,字母A的ASCII码值为65。程序运行后的输出结果是
A.5670
B.656667
C.567
D.ABC
(22)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是
A.n=0;while((ch=getchar())!=’\n’)n++;
B.n=0;while(getchar()!=’\n’)n++;
C.for(n=0; getchar()!=’\n’;n++);
D.n=0;for(ch=getchar();ch!=’\n’;n++);
(23)有以下程序
#include
main()
{ int a1,a2;char c1,c2;
scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);
printf(“%d,%c,%d,%c”,&1,c1,a2,c2);
}
若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是(以下
代表空格,代表回车)
A.12a34b
B.12a34b
C.12,a,34,b
D.12a34b
(24)有以下程序
#include
int f(int x,int y)
{return()y-x)*x);}
main()
{int a=3,b=4,c=5,d;
d=f(f(a,B.,f(a,C.);
printf(“%d\n”,D.;
}
程序运行后的输出结果是
A.10
B.9
C.8
D.7
(25)有以下程序
#include
void fun(char
*s)
{while(*s)
{ if(*s%2==0)
printf(“%c”,*s);
s++;
}
}
main()
{ char
a[]={“good”};
fun(A.;printf(“\n”);
}
注意:字母a的ASCⅡ码值为97,程序运行后的输出结果是
A.d
B.go
C.god
D.good
(26)有以下程序
#include
void fun( int *a,int *B.
{int *c;
c=a;a=b;b=c;
}
main()
{int x=3,y-5,*P=&x,*q=&y;
fun(p,q);printf(“%d,%d,”,*p,*q);
fun(&x,&y);printf(“%d,%d\n”,*p,*q);
}
程序运行后的输出结果是
A.3,5,5,3
B.3,5,3,5
C.5,3,3,5
D.5,3,5,3
(27)有以下程序
#include
viod f(int *p,int *q);
main()
{ int m=1,n=2,*r=&m;
f(r,&n);printf(“%d,%d”,m,n);
}
void f(int *p,int *q)
{p=p+1;*q=*q+1;}
程序运行后输出的结果是
A.1,3
B.2,3
C.1,4
D.1,2
(28)以下函数按每行8个输出数组中的数据
void fun( int *w,int n)
{ int i;
for(i=0;i{_________________
printf(“%d”,w);
}
printf(“\n”);
}
下划线处应填入的语句是
A.if(i/8==0)print(“\n”);
B.if(i/8==0)continue;
C.if(i%8==0)print(“\n”);
D.if(i%8==0)continue;
(29)若有以下定义
int x[10],*pt=x;
则对x数组元素的正确应用是
A.*&x[10]
B.*(x+3)
C.*(pt+10)
D.pt+3
(30)设有定义:char s[81];int i=10;,以下不能将一行(不超过80个字符)带有空格的字符串真确读入的语句或语句组是
A
gets(s)
B.while((s[i++]=getchar())!=”\n”;s=”\0”;
C.scanf(“%s”,s);
D.do{scanf(“%c”,&s);}while(s[i++]!=”\n”);s=”\0”;