计算机二级考试C语言模拟题(1)
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.(aC.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;jif(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,