float fun(int a,int b){??} 答案:A
21) 在以下给出的表达式中,与while(E)中的(E)不等价的表达式是 A)(!E==0) B)(E>0||E<0) C)(E==0) D)(E!=0) 答案:C
22) 要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是
A)while((ch=getchar())!='N')printf(\B)while(ch=getchar()!='N')printf(\ C)while(ch=getchar()=='N')printf{\D)while((ch=getchar())=='N')printf(\ 答案:A
23) 已定义以下函数 int fun(int *p) { return *p;} fun函数返回值是
A)不确定的值 B)一个整数 C)形参p中存放的值 D)形参p的地址值 答案:B
24) 若有说明语句:double *p,a; 则能通过scanf语句正确给输入项读入数据的程序段是 A)*p=&a;scanf(\ D)p=&a; scanf{\ 答案:D 25)
A)q->next=r->next;p->next=r;r->next=q; B)p->next=r;q->next=r->next;r->next=q; C)q->next=r->next;r->next=q;p->next=r; D)r->next=q;p->next=r;q->next=r->next; 答案:D
26) 有以下程序段 struct st
{int x; int *y;} *pt; int a[]={1,2},b[]={3,4}; struct st c[2]={10,a,20,b}; pt=c;
以下选项中表达式的值为11的是
A)*pb->y B)pb->x C)++pt->x D)(pt++)->x
答案:C
27) 设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为 A)EOF B)非0值 C)0 D)NULL 答案:B
28) 设有以下语句 int a=1,b=2,c; c=a^(b<<2); 执行后,c的值为
A)6 B)7 C)8 D)9 答案:D
29) 有以下程序
#include
{char c1,c2,c3,c4,c5,c6;
scanf(\ c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(\
程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车> 则输出结果是
A)1267 B)1256 C)1278 D)1245 答案:D
30) 有以下程序 main()
{ int y=10;
while(y--); printf(\ }
程序执行后的输出结果是
A)y=0 B)y=-1 C)y=1 D)while构成无限循环 答案:B
31) 有以下程序 main()
{ int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3;
printf(\ } 程序输出
A)0,1,2,0 B)0,0,0,3 C)1,1,2,0 D)编译有错 答案:D
32) 有以下程序 main()
{ int i,j,x=0; for(i=0;i<2;i++) { x++;
for(j=0;j<=3;j++) { if(j%2) continue; x++; } x++; }
printf{\ }
程序执行后的输出结果是
A)x=4 B)x=8 C)x=6 D)x=12 答案:B
33) 有以下程序
int fun1(double a){return a*=a;} int fun2(double x,double y) { double a=0,b=0;
a=fun1(x);b=fun1(y);return(int)(a+b); }
main()
{double w; w=fun2(1,1,2.0); ??} 程序执行后变量w中的值是 A)5.21 B)5 C)5.0 D)0.0 答案:C
34) 有以下程序 main()
{int i,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;j<3;i++) printf(\ }
程序执行后的输出结果是
A)7 5 3 B)3 5 7 C)3 6 9 D)7 5 1 答案:B
35) 有以下程序
fun(char p[][10]) {int n=0,i;
for(i=0;i<7;i++)
if(p[i][0]=='T')n++; return n; }
main()
{ char str[][10]={\ printf(\ }
程序执行后的输出结果是 A)1 B)2 C)3 D)0 答案:B
36) 有以下程序 main()
{ int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2) s+=*(t+i); printf(\ }
程序执行后的输出结果是 A)45 B)20 C)25 D)36 答案:C
37) 有以下程序
void fun1(char *p) { char *q; q=p;
while(*q!='\\0') { (*q)++;q++;} }
main()
{ char a[]={\
p=&a[3]; fun1(p); printf{\ }
程序执行后的输出结果是
A)Prohsbn B)Prphsbn C)Progsbn D)Program 答案:A
38) 有以下程序
void swap(char *x, char *y) { char t;
c=*x; *x=*y; *y=t; }
main()
{ char *s1=\
swap(s1,s2); printf(\ }
程序执行后的输出结果是
A)123,abc B)abc,123 C)1bc,a23 D)321,cba 答案:C
39) 有以下程序 int fun(int n)
{ if(n==1) return 1; else
return(n+fun(n-1)); }
main() { int x;
scanf(\ }
执行程序时,给变量x输入10,程序的输出结果是 A)55 B)54 C)65 D)45 答案:A
40) 有以下程序
int fun(int x[],int n)
{ static int sum=0,i;
for(i=0;i main() { int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0; s=fun(a,5)+fun(b,4); printf(\ } 程序执行后的输出结果是 A)45 B)50 C)60 D)55 答案:C 41) 有以下程序 main() {union {char ch[2]; int d; }s; s.d=0x4321; printf(\ } 在16位编译系统上,程序执行后的输出结果是 A)21,43 B)43,21 C)43,00 D)21,00 答案:A 42) 有以下程序 main() {char *p[]={\ int i,j; long num=0; for(i=0;i,2;i++) { j=0; while(p[i][j]!='\\0') { if((p[i][j]-'0')%2) num=10*num+p[i][j]-'0'; j+=2; } } printf(\ } 程序执行后的输出结果是 A)35 B)37 C)39 D)3975 答案:C 43) 执行以下程序后,test.txt文件的内容是(若文件能正常打开) #include { FILE *fb; char *s1=\ if(fb=fopen(\ {printf(\ fwrite(s1,7,1,fp); /* 把从地址s1开始的7个字符写到fp所指文件中 */