21.下列程序的运行结果为( )。
#include
main()
{struct date
{int year,month,day;
}today;
printf("%d\n",sizeof(struct date));
}
A.8
B.6
C.10
D.12
22.有以下程序:
#include<
struct stu
{ int num;
char name[10]:
int age;}
void fun(struct stu*p)
{printf("%s\n",(*p).name);}
tllain()
{
struct stu students[3]={{9801,"Zhang".20},
{9802,"Wang",19},{9803,"Zhao",1 8}}
fun(students+2);
}
输出的结果是( )。
A.Zhang
B.Zhao
C.Wang
D.18
23.有以下程序:
viod fun(int a,int b,int C)
{ a=456:b=567;c=678;}
main()
{ int x=10,y=20,Z=30;
fun(x,y,z):
printf("%d,%d,%d\n",x,y,z);
}
输出的结果是( )。
A.30,20,10
B.10,20,30
C.456,567,678
D.678,567,456
24.有以下结构说明和变量定义,指针p、q、r分别指向链表中的3个连续结点。
struct node
{ int data;struct node*next;)*p,*q,*r;
现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能按要求完成操作的语句是( )。
A.p->next=q->next;
B.P-next=P->next->next;
C.p->next=r;
D.p=q->next;
25.有定义:“int a=2,b=3,c=4;”,则下列选项中值为0的表达式是( )。
A.(!a==1)&&(!b==O)
B.(a C.a&&b
D.a||(b+b)&&(c-a)
26.设fun()函数的定义形式为
void fun(char ch,float x){…}
则下列对函数fun的调用语句中,正确的是( )。
A.fun("abc",3.0);
B.t=fun(’D’.16.5);
C.fun(’65’,2.8);
D.fun(32,32);
27.有下列程序:
main()
{ char p[]={’a’,’h’,’c’},q[]="a";
printf("%d%d\n".sizeof(P),sizeof(q));
}
程序运行后的输出结果是( )。
A.4 4
B.3 3
C.3 4
D.4 3
28.有下列程序:
main()
{ int k=5,n=0;
while(k>0)
{switch(k)
{dcfault:break;
case 1:n=n+k;
case 2:
case 3:n+=k;
}
k--;
}
printf("%d\n".n);
}
程序运行后的输出结果足( )。
A.0
B.4
C.6
D.7
29.有以下程序:
main()
{ int a[]=(2,4,6,8,10},y=0,x,*P;
p=&a[1];
for(x=1;x<3;x++) y+=p[x];
printf("%d\n,y");
}
程序运行后的输出结果是( )。
A.10
B.11
C.14
D.15
30.有下列程序:
void sort(int a[],int n)
{int i,j,t;
for(i=0;i for(j=i+1;j if(a[i] }
main()
{int aa[10]:{1,2,3,4,5,6,7,8,9,10),i;
sort(aa+2,5);
for(i=0;i<10;i++)printf("%d,",aa[i]);
printf("\n");
}
程序运行后的输出结果是( )。
A.1,2,3,4,5,6,7,8,9,l0,
B.1,2,7,6,3,4,5,8,9,10,
C.1,2,7,6,5,4,3,8,9,10,
D.1,2,9,8,7,6,5,4,3,10,
31.有以下程序:
#include
int abe(int u,int v);
main()
{ int a=24,b一16,c;
c=abc(a,b);
printf("%d\n",c);
}
int abc(int u,int v)
{ int w;
while(v)
{w=u%v;u=v;v=w;)
return;
}
输出结果是( )。
A.6
B.7
C.8
D.9
32.下列程序的输出结果是( )。
int fl(int x,int y){return x>y?x:y;)
int f2(int x,int y){return x>y?y:x;}
main()
{ int a=4,b=3,c=5,d=2,e,f,g;
e=f2(f1(a,b),f1(c,d));
f=f1(f2(a,b),f2(c,d));
g=a+b+c+d-e-f;
printf("%d,%d,%d\n",e,f,g);}
A.4,3,7
B.3,4,7
C.5,2,7
D.2,5,7
33.语句int(*ptr)()的含义是( )。
A.ptr是一个返回值为int的函数
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
34.下述程序的输出结果是( )。
#include
main()
{ char chE2][5]一{”1234”,”5678”},*p[2];
int i,j,s=0;
for(i=0;i<2;i++)
p[i]=ch[i];
for(i=0;i<2;i++)
{s=p[i][j]一’0’;
printf("%d",s);}
}
A.6357
B.6135
C.1357
D.691357
35.下述程序的输出结果是( )。
#include
main()
{ int a[2][3]={{1,2,3),{4,5,6}},(*p)[3],i;
p=a ;
for(i=0;i<3;i++)
{ if(i<2)
p[1][i]=p[1][i]一1;
else
p[1][i]=1;)
printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}
A.8
B.7
C.12
D.9
36.若有以下说明,则( )不是对strcpy库函数正确的调用。
strcpy库函数用于复制一个字符串:char*strl="abcd",str2[10],*str3="hijklmn",*str4[2],*str5="aaaa";
A.strcpy(str2,strl)
B.strcpy(str3,strl)
C.strcpy(strl,str2)
D.strcpy(str5,strl)
37.执行下述程序后,输出的结果是( )。
#include
#define S(X)X*X
void main()
{int a=9,k=3,m=2;
a/=S(k+m)/s(k+m);
printf("%d",a);
}
A.1
B.4
C.9
D.0
38.已知有如下结构体:
struct sk
{int a;
float b;
}data,*p;
若有P=&data,则对data的成员a引用正确的是( )。
A.(*p).data.a
B.(*p).a;
C.p->data.a
D.p.data.a
39.下述程序的输出结果是( )。
#include
void main()
{int b[6]={2,4,6,8,10,12);
int*p=b,**q=&p;
printf("%d,",*(p++));
printf("%d,",**q);
}
A.4,4
B.2,2
C.4,5
D.2,4
40.以下程序的输出结果是( )。
main()
{ int i,k,a[10],p[3];
k=5;
for(i=0:i<10;i++)a[i]=i;
for(i=0;i<3;i++)p[i]=a[i*(i+1)];
for(i=0;i<3;i++)k+=p[i]*2;
printf("%d\n",k、;
}
A.20
B.21
C.22
D.23
中公QQ群 加入QQ群
加入