已知各变量的定义如下int i=8,k,a,b;unsigned long w=5;double x= 1.42,y=5.2;则以下符合C++语言
A.a+=a-=(b=4)*(a=3)
B.a=a*3+2
C.x%(-3)
D.y=float i
A.a+=a-=(b=4)*(a=3)
B.a=a*3+2
C.x%(-3)
D.y=float i
已知各变量的定义如下 int i=8,k,a,b: unsigned long w=5; double x=1.42,y=5.2; 则以下符合C++语言语法的表达式是()。
A.a+=a-=(b=4)*(a=3)
B.a=a*3+2
C.x%(-3)
D.y=float i
● 已知有变量 data1 定义如下:
union data
{ int i;
char ch;
float f;
} data1;
则变量 data1 所占的内存存储空间可表示为 (57) 。
(57)
A. sizeof(int)
B. sizeof(char)
C. sizeof(float)
D. sizeof(int)+sizeof(char)+sizeof(float)
A.sizeof(int)
B.sizeof(char)
C.sizeof(float)
D.SiZCOf(mt)+sizeof(char)+sizeof(float)
A.x%(-3)
B.w+=-2
C.k=(a=2,b=3,a+b)
D.a+=a-=(b=4)*(a=3)
已知各变量的类型说明如下:
int k,a,b;
unsigned long w=5;
double x=1.42;
则以下不符合C语言语法的表达式是
A.x%(-3)
B.w+=-2
C.k=(a=2,b=3,a+b)
D.a+=a-=(b=4)*(a=3)
有如下类定义: class MyBase{ int k; public: MyBase(int n=O):k(n)}} int valueeonst{return k;} }; class MyDerived:MyBase{ intj; public: MyDerived(int i):j(i)}} int getKconst{return k;} int getJconst{return j;} }; 编译时发现有一处语法错误,对这个错误最准确的描述是()。
A.函数9etK试图访问基类的私有成员变量k
B.在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或private
C.类MyDerived缺少一个无参的构造函数
D.类MyDerived的构造函数没有对基类数据成员k进行初始化
定义如下变量和数组:
int k;
int a[3][3]={9,8,7,6,5,4,3,2,1};
则下面语句的输出结果是
for(k=0;k<3;k++)printf("%d",a[k][k]);
A.7 5 3
B.9 5 1
C.9 6 3
D.7 4 1
inciude<stdio.h> inciude<stdlib.h> define MAX 65536 void merge(int arr[],int p,int q,int r) { int *left, *right; int n1,n2,i,j,k; n1=q-p+1; n2=r-q; if((left=(int*)malloc((n1+1)*sizeof(int)))=NULL) { perror("malloc error"); exit(1); } if((right=(int*)malloc((n2+1)*sizeof(int)))=NULL) { perror("malloc error"); exit(1); } for(i=0;i<n1;i++){ left[i]=arr[p+i]; } left[i]=MAX; for(i=0; i<n2; i++){ right[i]=arr[q+i+1] } right[i]=MAX; i=0; j=0; for(k=p; (1) ; k++) { if(left[i]> right[j]) { (2) ; j++; }else { arr[k]=left[i]; i++; } } } void mergeSort(int arr[],int begin,int end){ int mid; if((3) ){ mid=(begin+end)/2; mergeSort(arr,begin,mid); (4) ; merge(arr,begin,mid,end); } }
【问题1】 根据以上说明和C代码,填充1-4。 【问题2】 根据题干说明和以上C代码,算法采用了(5)算法设计策略。 分析时间复杂度时,列出其递归式位(6),解出渐进时间复杂度为(7)(用O符号表示)。空间复杂度为(8)(用O符号表示)。 【问题3】 两个长度分别为n1和n2的已经排好序的子数组进行归并,根据上述C代码,则元素之间比较次数为(9)。
定义变量和数组如下:int i;int x[3][3]=(1,2,3,4,5,6,7,8,9);则语句for(i=0;i<3;i++)printf(”%d”,x[1][2-i]);的输出结果是 ()
已知下列函数定义: fun(int*b,int c,intD){int k; for(k=0;k<c*d;k++) {*b=c+d; b++;} } 则调用此函数的正确写法是(假设变量a的说明为int a[10])()。
A.fun(*a,6,14);
B.fim(&a,6,8);
C.fun(a,8,4);
D.fun((int)a,8,6);