79.定义一个具有10个元素的整型数组,应当使用语句( ) A.int a[10];8 l8 u1 [% O) e: z1 O/ {& m
B.int a[2,5];
- D6 {3 I" z6 M& b9 K C.int a[];
6 O. E( C" B+ i( r, ~8 h2 j! F1 R D.int *a[10];
9 C: ~9 e3 o' y. X 【解析】分析备选答案 A:显然是正确的,本题答案应选 A。至于备选答案 B:其中的“[2,5]”在语法上是错误的;备选答案C:数组没有给初值而省略了数组长度,语法上也是错误的;备选答案D:定义的是具有10个元素的。指向整型数据的指针型数组。: Y. G- F! y# t0 |/ N9 h
【参考答案】A3 D- d. y7 d/ }' `' ^- k# K
80.设指针变量p1、 p2已经指向同一个数组的元素,则下列表达式中错误的是( )
! H3 u* D i0 M/ S: N; g6 k A.p1=p2
, X- r" j- b5 V$ B* D B.p1==p2
- V+ h- P4 {( i6 C) U& L5 W C.p1-p2
6 L& i6 B. c, f- o, A D.p1+p2
# {/ c7 p% x6 y( ~ 【解析】教材中关于指向同一个数组的元素的指针变量之间可以进行的运算有如下的规定:可以进行关系运算、赋值运算、减法运算,所以本题答案应选D。2 {% S% ]# X2 s7 F" O
【参考答案】D& x# C0 {& U1 Y W% l
81.设有定义语句“int a[]={2, 4,6,8,10},*p=s;”,则值为8的表达式是( )" }6 Z: r' w8 Q( `
A.*p+3, f! d% p- y# |. i
B.*p+46 `$ f9 ^1 s( M
C.*(p+4)
. P4 e U3 O4 a" m0 ?# o D.*(s+3)
v5 t6 z' A6 f6 d% o& |& y 【解析】分析四个备选答案,可以看出是用指针法来引用数组a的元素。当指针变量p已经指向数组。的首地址后(正如本题那样),*(p+i)和*(s+i)都是数组元素a。对于备选答案A:*p就是数组元素。a[0],其值为2,再加3结果为5,不符合题意。同样道理,备选答案B中的*p十4的值为6,也不符合题意。对于备选答案C:*(p+4)代表数组元素a[4],其值为10,也不符合题意。显然本题答案应选D。因为*(s+3)就是数组元素s[3],其值为8。
6 `# j5 o& W; v" r& a2 U# U; ^ 【参考答案】 D" \; F, M2 N* V+ ^. T# g
82.下列数据类型中不属于构造类型的是 ( )6 e2 R" D5 C Z. x
A.数组型
$ T) ]% y E7 X& t B.结构型
2 j/ Z$ y. W. z C.共用型
0 h- }/ H# p! C, A' I5 L- _ D.枚举型
1 }- c2 R9 M6 X6 W" J) N 【解析】教材中明确指出:构造类型只包括:数组型、结构型。共用型三种,所以本题答案应选D。$ r3 H: F2 ^* H l4 {* f5 X
【参考答案】D |