![](https://static.youtibao.com/asksite/comm/pc/images/content_title_q.png)
若有以下的说明,对初值中整数2的正确引用方式是()。static struct{ char ch;inti;double x;}a[2][
若有以下的说明,对初值中整数2的正确引用方式是()。 static struct { char ch; int i; double x; } a[2][3]={{{'a',1,3,45},{'b',2,7,98},{'c',31,93}}};
A.a[0][1].ch
B.a[0][1].i
C.a[0][0].i
D.a[0][2].i
![](https://static.youtibao.com/asksite/comm/pc/images/content_title_a.png)
若有以下的说明,对初值中整数2的正确引用方式是()。 static struct { char ch; int i; double x; } a[2][3]={{{'a',1,3,45},{'b',2,7,98},{'c',31,93}}};
A.a[0][1].ch
B.a[0][1].i
C.a[0][0].i
D.a[0][2].i
第1题
若有以下说明和语句()
struct worker{
int no;
char *name;
}work,*p=&work;
则以下引用方式不正确的是
A.work.no
B.(*p).no
C.p->no
D.work->no
第2题
A.只有元素a[0][0]可得到初值0
B.此说明语句不正确
C.数组a各元素都可得到初值,但其值不一定是0
D.数组a中每个元素均可得到初值0
第3题
A.只初始化了第一个元素,即a[0][0]可得到初值0
B.此初始化语句不正确
C.数组a中各元素都可得到初值,但其值不一定为0
D.数组a中每个元素均可得到初值0
第5题
A.scanf("%s",pup[0].name);
B.scanf("%d",&pup[0].age);
C.scanf("%d",&p->sex);
D.scanf("%d",*P.age);
第6题
试题二(共 15分)
阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明 1】
函数Counter(int n, int w[])的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。
例如,十进制数22的二进制表示为10110。对于该二进制数,1的个数为3,在w[0]中存入2(即 )、w[1]中存入4(即 )、w[2]中存入16(即 )。
1
2 2
2 4
2
【C函数 1】
int Counter(int n, int w[])
{ int i = 0, k = 1;
while ((1) ) {
if (n % 2) w[i++] = k;
n = n / 2; (2) ;
}
return i;
}
【说明 2】
函数 Smove(int A[], int n)的功能是将数组中所有的奇数都放到所有偶数之前。其过程为:设置数组元素下标索引i(初值为0)和j(初值为n-1),从数组的两端开始检查元素的奇偶性。若 A[i]、A[j]都是奇数,则从前往后找出一个偶数,再与 A[j]进行交换;若 A[i]、A[j]都是偶数,则从后往前找出一个奇数,再与A[i]进行交换;若 A[i]是偶数而A[j]是奇数,则交换两者,直到将所有的奇数都排在所有偶数之前为止。
【C函数 2】
void Smove(int A[], int n)
{ int temp, i = 0, j = n-1;
if (n < 2 ) return;
while (i < j ) {
if (A[i] % 2 == 1 && A[j] % 2 == 1 ) { (3) ; }
else if (A[i] % 2 == 0 && A[j] % 2 == 0 ) { (4) ; }
else {
if ((5) ) {
temp = A[i]; A[i] = A[j]; A[j] = temp;
}
i++, j--;
}
}
}
第7题
A.c[7]不可引用
B.c[6]可引用,但值不确定
C.c[4]不可引用
D.c[4]可引用,其值为空字符
第8题
A.数组a的每个元素都可得到初值0
B.二维数组a的第一维大小为1
C.因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1
D.有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
第9题
若有说明:int a[][4]={0,0};则下面不正确的叙述是()。
A.数组a的每个元素都可得到初值0
B.二维数组a的第一维大小为1
C.当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小
D.只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到确定的初值
第10题
A.&t[3][2]
B.*pt[0]
C.*(pt+1)
D.&pt[2]
第11题
若有定义语句 :int m[]={5,4,3,2,1},i=4; ,则下面对 m 数组元素的引用中错误的是
A)m[--i]
B)m[2*2]
C)m[m[0]]
D)m[m[i]]