武汉光谷计算机学校 联系电话:027-62092619
if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for (i=0;i<8;i++) printf(\ printf(\}
程序运行后的输出结果是:
A)75310246 B)01234567 C)76310462 D)13570246 47.有如下程序 #include
{FILE *fp1;
fp1=fopen(\ fprintf(fp1,\ fclose(fp1); }
若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为 A)goodabc B)abcd C)abc D)abcgood 48~50.以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的 字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出 正确的选项。 #include
{ char data; struct node *next;}; (48) CreatList(char *s) { struct node *h,*p,*q};
h=(struct node *) malloc(sizeof(struct node)); p=q=h;
while(*s!=\\'\\\\0\\')
{ p=(struct node *) malloc(sizeof(struct node)); p->data= (49) ; q->next=p; q= (50) ; s++; }
p->next=\\'\\\\0\\'; return h; } main()
{ char str[]=\ struct node *head; head=CreatList(str); ... }
(48)A)char * B)struct node C) struct node* D) char
(49)A)*s B)s C)*s++ D)(*s)++
(50)A)p->next B)p C)s D)s->next 21
武汉光谷计算机学校 联系电话:027-62092619
二、填空题
1.在64位高档微机中,CPU能同时处理 [ ] 个字节的二进制数据。
2.E-mail地址由域名和用户名两部分组成,它们之间用@分隔,其中在@后面的部分]是 [ ]
3.Windows窗口一般由标题栏、菜单栏、控制按钮等部分组成。为了移动窗口,则要 用鼠标拖动 [ ] 。 4.计算机软件分为系统软件和应用软件,UNIX系统属于 [ ] 。 5.在Windows环境下,为了将屏幕内容存入剪贴板,应按 [ ] 键。 6.以下程序段的输出结果是 [ ] int i=9;
printf(\
7.以下程序运行后的输出结果是 [ ] 。 main() { int a,b,c; a=25; b=025; c=0x25;
printf(\}
8.以下程序运行后的输出结果是 [ ] 。 main()
{ int p[7]={11,13,14,15,16,17,18}; int i=0,j=0;
while(i<7 && p%2==1) j+=p[i++]; printf(\}
9.以下程序运行后的输出结果是 [ ] 。 main()
{ int x=1,y=0,a=0,b=0; switch(x)
{case 1:switch(y) { case 0:a++; break;
case 1:b++; break; }
case 2:a++;b++; break; }
printf(\}
10.以下程序运行后的输出结果是 [ ] 。 main()
{ int a[4][4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}}; int i=0,j=0,s=0; while(i++<4) {
if(i==2||i==4) continue; j=0;
do{ s+= a[j]; j++; } while(j<4); }
22
武汉光谷计算机学校 联系电话:027-62092619
printf(\}
11.以下程序运行后的输出结果是 [ ] 。 main ()
{ char a[]=\ char *p1,*p2; int k; p1=a; p2=b; for(k=0;k<=7;k++)
if(*p1+k)==*(p2+k)} printf(\
}
12.以下程序运行后的输出结果是 [ ] 。这到题还有一种是if(i%2==1) 结果是*2*4*6*8* main()
{ char a[]=\ p=a; while(*p)
{ if(i%2==0) *p=\\'*\ p++;i++; } puts(a); }
13.以下程序中, for循环体执行的次数是 [ ] 。 #define N 2 #define M N+1 #define K M+1*M/2 main() { int i;
for(i=1;i 14.以下程序通过函数SunFun求f(0)+f(1)+f(2)+...+f(10)。这里f(x)=x*x+1,由F函数实现。请填空。main() { printf(\SunFun(int n) {int x, s=0; for(x=0;x<=n; x++) s+=F([ ]); return s; } F(int x) {return ([ ]);} 15. 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 请填空。 main() { int i,a[20],sun,count; suum=count=0; 23 武汉光谷计算机学校 联系电话:027-62092619 for(i=0;i<20;i++) scanf(\ fro(i=0;i<20;i++) { if(a>0) { count++; sum+= [ ] ; } } printf(\} 16.以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。 #define M 2 #define N 4 void SumColumMin(int a[M][N],int *sum) { int i,j,k,s=0; for(i=0;i for(j=1;j [ ] =s; } main() { int x[M][N]={3,2,5,1,4,1,8,3},s; SumColumMin( [ ] ); printf(\} 数据结构与算法(一) 一、选择题 24 武汉光谷计算机学校 联系电话:027-62092619 1.算法的时间复杂度是指 A) 执行算法程序所需要的时间 B) 算法程序的长度 C) 算法执行过程中所需要的基本运算次数 D) 算法程序中的指令条数 2.算法的空间复杂度是指 A)算法程序的长度 B)算法程序中的指令条数 C)算法程序所占的存储空间 D)算法执行过程中所需要的存储空间 3.下列叙述中正确的是 A)线性表是线性结构 B)栈与队列是非线性结构 C)线性链表是非线性结构 D)二叉树是线性结构 4.数据的存储结构是指 A)数据所占的存储空间量 B)数据的逻辑结构在计算机中的表示 C)数据在计算机中的顺序存储方式 D)存储在外存中的数据 5.下列关于队列的叙述中正确的是 A)在队列中只能插入数据 B)在队列中只能删除数据 C)队列是先进先出的线性表 D)队列是先进后出的线性表 6.下列关于栈的叙述中正确的是 A)在栈中只能插入数据 B)在栈中只能删除数据 C)栈是先进先出的线性表 D)栈是先进后出的线性表 7.设有下列二叉树: A B C D E 对此二叉树中遍历的结果为 F A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA 8.在深度为5的满二叉树中,叶子结点的个数为 A)32 B)31 C)16 D)15 9.对长度为n的线性表进行顺序查找,在最坏的情况下所需要的比较次数为 A)n+1 B)n C) (n+1)/2 D) n/2 10.设树T的度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。则T中的叶子结点数为 A)8 B)7 C)6 D)5 二、填空题 1.在长度为n的有序线性表中进行二分查找,需要的比较次数为_____________. 2.设一棵完全二叉树共有700个结点,则在该二叉树中有_________个叶子结点. 3.设一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为________ 4.在最坏的情况下,冒泡排序的时间复杂度为_________________. 5.在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有_____个元素. 25