2016年计算机等级考试二级笔试试卷及答案
(33)有以下程序
#include
struct st
{ int x, y;) data[2]={l,10,2,20};
main()
{ struct st *p=data;
printf("%d,", p->y); printf("%d ",(++p)->x);
}
程序的运行结果是( )。
A)10,1 B)20,1 C)10,2 D)20,2
(34)有以下程序
#include
void fun(int a[], int n)
{ int i, t;
for(i=0; i
}
main()
{ int k[10]={1,2,3,4,5,6,7,8,9,10}, i;
fun(k,5);
for(i=2; i<8; i++) printf("%d", k[i]);
printf(" ");
}
程序的运行结果是( )。
A)345678 B)876543 C)1098765 D)321678
(35)有以下程序
#include
#define N 4
void fun(int a[][N], int b[])
{ int i;
for(i=0; i
}
main()
{ int x[][N]={{1,2,3),{4),{5,6,7,8),{9,10}},y[N], i;
fun(x,y);
for (i=0; i
printf(" ");
}
程序的运行结果是( )。
A)l,2,3,4, B)1,0,7,0, C)1,4,5,9, D)3,4,8,10,
(36)有以下程序
#include
int fun(int (*s)[4],int n, int k)
{ int m, i;
m=s[0][k];
for(i=l; i
return m;
}
main()
{ int a[4][4]={{1,2,3,4),{11,12,13,14},{2l,22,23,24},{31,32,33,34}};
printf("%d ", fun(a,4,0));
}
程序的运行结果是( )。
A)4 B)34 C)31 D)32
(37)有以下程序
#include
main()
{ struct STU { char name[9]; char sex; double score[2]; };
struct STU a={"Zhao",'m',85.0,90.0), b={"Qian",'f',95.0,92.0);
b=a;
printf("%s,%c,%2.0f,%2.0f ",b.name,b.sex,b.score[0],b.score[1]);
}
程序的运行结果是( )。
A)Qian,f,95,92 B)Qian,m,85,90 C)Zhao,f,95,92 D)Zhao,m,85,90
(38)假定已建立以下链表结构,且指针p 和q 已指向如图所示的结点:
head a b c
data next
↑p ↑q
则以下选项中可将q 所指结点从链表中删除并释放该结点的语句组是( )。
A)(*p).next=(*q).next; free(p); B)p=q->next; free(q);
C)p=q; free(q); D)p->next=q->next; free(q);
(39)有以下程序
#include
main()
{ char a=4;
printf("%d ", a=a<<1);
}
程序的运行结果是( )。
A)40 B)16 C)8 D)4
(40)有以下程序
#include
main()
{ FILE *pf;
char *s1="China",*s2="Beijing";
pf=fopen("abc.dat","wb+");
fwrite(s2,7,l,pf);
rewind(pf);
fwrite(s1,5,1,pf);
fclose(pf);
}
以上程序执行后abc.dat 文件的内容是( )。
B)China B)Chinang C)ChinaBeijing D)BeijingChina
二、填空题(每空2 分,共30 分)
请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
(1)对下列二叉树进行中序遍历的结果 【1】 。
A
B C
D E F
X Y Z
(2)按照软件测试的一般步骤,集成测试应在 【2】 测试之后进行。
(3)软件工程三要素包括方法、工具和过程,其中, 【3】 支持软件开发的各个环节的
控制和管理。
(4)数据库设计包括概念设计、 【4】 和物理设计。
(5)在二维表中,元组的 【5】 不能再分成更小的数据项。
(6)设变量a 和b 已正确定义并赋初值。请写出与a-=a+b 等价的赋值表达式 【6】 。
(7)若整型变量a 和b 中的值分别为7 和9,要求按以下格式输出a 和b 的值:
a=7
b=9
请完成输出语句:printf (" 【7】 ",a,b);。
(8)以下程序的输出结果是 【8】 。
#include
main()
{ int i,j,sum;
for(i=3;i>=1;i--)
{ sum=0;
for(j=1;j<=i;j++) sum+=i*j;
}
printf("%d ",sum);
}
(9)以下程序的输出结果是 【9】 。
#include
main()
{ int j, a[]={1,3,5,7,9,11,13,15},*p=a+5;
for(j=3; j; j--)
{ switch(j)
{ case 1:
case 2: printf("%d",*p++); break;
case 3: printf("%d",*(--p));
}
}
}
(10)以下程序的输出结果是 【10】 。
#include
#define N 5
int fun(int *s, int a, int n)
{ int j;
*s=a; j=n;
while(a!=s[j])j--;
return j;
}
main()
{ int s[N+1]; int k;
for(k=l; k<=N; k++) s[k]=k+l;
printf("%d ",fun(s,4,N));
}
(11)以下程序的输出结果是 【11】 。
#include
int fun(int x)
{ static int t=0;
return(t +=x);
}
main()
{ int s,i;
for(i=l;i<=5;i++) s=fun(i);
printf("%d ",s);
}
(12)以下程序按下面指定的数据给x 数组的下三角置数,并按如下形式输出,请填空。
4
3 7
2 6 9
1 5 8 10
#include
main()
{ int x[4][4],n=0,i,j;
for(j=0;j<4;j++)
for(i=3;i>=j; 【12】 ) {n++;x[i][j]= 【13】 ;}
for(i=0;i<4;i++)
{ for(j=0;j<=i;j++) printf("%3 d",x[i][j]);
printf(" ");
}
}
(13)以下程序的功能是:通过函数func 输入字符并统计输入字符的个数。输入时用字符
@作为输入结束标志。请填空。
#include
long 【14】 ;
main()
{ long n;
n=func(); printf("n=%ld ",n);
}
long func()
{ long m;
for( m=0; getchar()!='@'; 【15】 );
retum m;
}
【2016年计算机等级考试二级笔试试卷及答案】相关文章: