*k=0;
for(i=0;i《t;i++)
if(s[*k]《s[i])*k=i;
return s[*k];
}
main()
{
int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;
clrscr();
fun(a, 10, &k);
printf(“%d, %d\n ”, k, a[k]);
}
则输出结果为
A)7,431
B)6
C)980
D)6,980
(42) C语言结构体类型变量在程序执行期间
A)所有成员一直驻留在内存中
B)只有一个成员驻留在内存中
C)部分成员驻留在内存中
D)没有成员驻留在内存中
(43)下面程序应能对两个整型变量的值进行交换。以下正确的说法是
main()
{int a=10,b=20;
printf(“(1)a=%d,b=%d\n”,a,b);
swap(&a,&b);
printf(“(2)a=%d,b=%d\n”,a,b);
}
swap(int p,int q)
{int t;
t=p;p=q;q=t;
}
A)该程序完全正确
B)该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
C)该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可
D)以上说法都不对
(44)有以下程序
#include 《stdlib.h》
main()
{ char *p,*q;
p=(char *)malloc(sizeof(char)*20); q=p;
www.lexue88.com
scanf(“%s %s”,p,q); printf(“%s %s\n”,p,q);
}
若从键盘输入:abc def《回车》,则输出结果是
A)def def
B)abc def
C)abc d
D)d d
(45)以下程序的输出结果是
int f()
{ static int i=0;
int s=1;
s+=i; i++;
return s;
}
main()
{ int i,a=0;
for(i=0;i《5;i++)a+=f();
printf(“%d\n”,a);
}
A)20
B)24
C)25
D)15
(46)已知 int a=1,b=3则a^b的值为
A)3
B)1
C)2
D)4
(47)如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是
A)fp=fopen(“Demo”,“r”);
B)fp=fopen(“Demo”,“ab+”);
C)fp=fopen(“Demo”,“w+”);
D)fp=fopen(“Demo”,“r+”);
(48)若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是
A)fopen(“A:\user\abc.txt”,“r”)
B)fopen(“A:\\user\\abc.txt”,“rt+”)
C)fopen(“A:\user\abc.txt”,“rb”)
D)fopen(“A:\user\abc.txt”,“w”)
(49)有以下程序
#include 《string.h》
main()
{ char *p=“abcde\0fghjik\0 ”;
printf(“%d\n ”,strlen(p));
}
程序运行后的输出结果是
A)12
B)15
C)6
D)5
(50) 有以下程序
#include 《stdlib.h》
struct NODE
{ int num; struct NODE *next; };
main()
{ struct NODE *p,*q,*r;
p=(struct NODE*)malloc(sizeof(struct NODE));
q=(struct NODE*)malloc(sizeof(struct NODE));
r=(struct NODE*)malloc(sizeof(struct NODE));
p-》num=10; q-》num=20; r-》num=30;
p-》next=q;q-》next=r;
printf(“%d\n ”,p-》num+q-》next-》num);
}
程序运行后的输出结果是
A)10
B)20
C)30
D)40
二、填空题
(1)冒泡排序算法在最好的情况下的元素交换次数为 【1】 。
解析: 根据冒泡排序算法思想可知,若待排序的初始序列为“正序”序列,则只需进行一趟排序,在排序过程中进行n-1次关键字间的比较,且不移动和交换记录,这种情况是冒泡排序的最好情况,故冒泡排序算法在最好的情况下的元素交换次数为0。
,2017计算机二级考试C语言考前密卷十tag: 计算机等级考试,计算机等级考试试题,全国计算机等级考试试题,计算机等级考试