06-09数据结构真题及答案(5)

2018-12-21 13:02

while(k>0) {switch(k)

{case 1: n+=k; case 2: case 3: n+=k;

default: break; } k--;

}

printf(\} 答案: 3、程序: main()

{ int i,j,row,column,m;

static int array[3][3]={{100,200,300},{28,72,-30},{-850,2,6}}; m=array[0][0]; for(i=0;i<3;i++) for(j=0;j<3;j++) if(array[i][j]

}

printf(\} 答案: 4、程序

#include int p(int k,int a[]) { int m,i,c=0;

for(m=2;m<=k;m++) for(i=2;i

{if(!(m%i)) break;

if(i= =m) a[c++]=m;

} return c; }

#define MAXN 20

21

main() {

int i,m,s[MAXN]; m=p(13,s); for(i=0;i

return f(n-2)+2*f(n-1); } main() { int n=5; printf(\} 答案:

八、程序填空:按要求完成下面的程序(函数)(每空2分,共10分)

1.本函数用对分查找法,在以按字母次序从小到大排序的字符数组list中查找字符c,若c在数组中,函数返回字符c在数组中的下标,否则返回-1。 int search(char list[],char c,int len) { int low.hige,k;

low=0; high=len-1; while(__⑴__) {k=(low+high)/2; if(__⑵__) return k; else if(__⑶__) high=k-1; else low=k+1; } return -1; }

答案:(1) (2) (3)

2.函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和t的第一个不同字符的ASCII码的差值。

22

mycmp(char *s,char *t) { while(*s= =*t) { if(__⑷__)return 0; ++s; ++t;

}

return (___⑸__); }

答案:(4) (5)

07C语言(50分)

四、填空题(本题20分,每空2分)

1.C语言中规定,整型常量可以用十进制、二进制和___________进制形式来表示。 2.结构化程序设计中的三种基本结构为顺序结构、______________和循环结构。 3.在C语言中,对于负整数,在内存中是以_____________码形式进行存储。

4.在C语言中,若被定义为int类型的变量,在内存中占用__________个字节的存储空间。 5.已有定义:int a[5],*p;当执行了p=&a[3];语句时,是将指针变量p指向了a数组的第______________个元素的地址。

6.若某变量被定义为auto变量的存储单元,则将被分配在内存的_____________存储区域。 7.在下列给出的字符数组c,它在内存中所占用的字节数是_____________。

char c[]={\

8.在C语言中,能够实现循环结构的语句有:while语句、if/goto语句、do-while语句以及__________________语句。

9.若有a=3,b=5;则求a>b的关系运算结果是___________________________。 10.若定义int a[10];则允许数组a的下标值最小可以是__________________________。

五、请写出下列程序的运行结果(本题10分,每小题2分)

1.main() { int n=100; if(n>100) printf{\else printf(\} 2.main()

{ int a=2,b=-1,c=2; if(a

23

printf(\} 3.main()

{ char s[]=\printf(\} 4.main() { int a=3,b=4;

printf(\} 5.main()

{ static int a[5],i;

for(i=0;i<5;i++)a[i]=a[i]+i; for(i=0;i<5;i++)printf(\}

六、单选题(本题10分,每小题2分)

1.main() { int k=11;

printf(\}

A.k=11,k=12,k=11 B.k=11,k=13,k=13 C.k=11,k=013,k=0xb D.k=11,k=13,k=b 2.main() { int y=10; while(y--);

printf(\}

A.y=10; B.y=1 C.y=随机值 D.y=-1 3.main()

{ int a,b,*p1,*p2; p1=&a;p2=&b;

*p1=100;*p2=200;c=*p1+*p2; printf(\}

A.300 B.100+200 C.100 D.200

4.在下列程序中,当执行到gets(ss);语句时,若输入字符为“ABC”时,则该程序的输出结果是: main()

{ char ss[10]=\

24

stract(ss,\ gets(ss);printf(\}

A.ABC B.ABC9 C.123456ABC D.ABC456789 5.main()

{ char a[]=\ int i,j=0; for(i=1;i<7;i++) if(a[j]

A.mogninr B.mo C.morning D.mornin

七、编程题(10分,每题5分)

1.请将下列一组数据读入到S数组中,并从中找出最小的值并输出。

30,56,88,45,100,20

2.请将下列给出的字符串读入到ss数组中,并输出该字符串。

Student and Teacher

25


06-09数据结构真题及答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:北师大版四年级上学期数学线与角试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: