当前位置:IT认证>计算机二级

问题:

[单选] 有以下程序
#include<stdio.h>
int a=1:
int f(int c)
{  static int a=2;
c=c+1.
return(a++)+c;
}
main()
{ int i,k=0;
for(i=0;i<2;i++){int a=3;k+=f(a);)
k+=a;
printf(”%d\n”,k);
程序运行结果是(  )。

A . 14
B . 15
C . 16
D . 17

对线性表进行二分法检索,其前提条件是(  )。 线性表以顺序方式存储,并按关键码值排好序。 线性表以顺序方式存储,并按关键码的检索频率排好序。 线性表以链式方式存储,并按关键码值排好序。 线性表以链式方式存储,并按关键码的检索频率排好序。 有以下程序#include<stdi0.h>main(){FILE*fp;int a[10]=(1,2,3,0,0),i; fp—fopen(”d2.dat,”wb”);fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp—fopen(”d2.dat”,”rb”);fread(a,sizeof(int),10,fp);fclose(fp);for(i=0;i<10;i十f-)printf("%d",a[i]);}程序的运行结果是(  )。 1,2,3,0,0,0.0,0,0,0,。 1,2,3,1,2,3,0,0,0,0,。 123,0,0,0,0,123,0,0,O,O,。 1,2,3,0,0,1,2,3,0,0,。 设有以下定义union data(  int dl;f|aat d2;)dem0;则下面叙述中错误的是(  )。 变量dem0与成员d2所占的内存字节数相同。 变量dem0中各成员的地址相同。 变量dem0和各成员的地址相同。 若给demo.d1赋99后,dem0.d2中的值是99.0。 以下程序段给数组所有元素输入数据:#include<stdio.h>main(){int a[10],i=0;while(i<10)scanf(”%d”,);}应在下划线处填入的是(  )。 a+(i++)。 &a[i+1]。 a+i。 &a[++i]。 有以下程序#include<stdio.h>void fun(int*a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/{  int t,i,j;for(i=0;i<n一1;j++)for(j=i+1;j<n;j++)if(a[i]<a[i]){t=aEi];aEi]=aEi];aEj]=t;}}main(){int c[10]={1,2,3,4,5.6,7,8,9,0),i;fun(c+4.6):for(i=0;i<10;i++)printf(”%d,”,c[i]);printf(”n”):}}程序运行的结果是(  )。 1,2,3,4,5,6,7,8,9,0,。 0,9,8,7,6,5,1,2,3,4,。 0,9.8,7.6,5,4,3,2,1.。 1,2,3,4,9,8,7,6,5,0,。 有以下程序
#include<stdio.h>
int a=1:
int f(int c)
{  static int a=2;
c=c+1.
return(a++)+c;
}
main()
{ int i,k=0;
for(i=0;i<2;i++){int a=3;k+=f(a);)
k+=a;
printf(”%d\n”,k);
程序运行结果是(  )。
参考答案:

  参考解析

A。【解析】在主函数中,k的初值为0,首先调用函数f(3),返回值为6,k的值变为6,而函数intfun(intc)中的局部静态变量a等于3。第二次调用函数f(3)时,返回值为7,所以k-6+7—13。退出循环语句,k再加上全局变量a的值1,其最终的值为14。

在线 客服