版权所有:湖北汽车工业学院 张吴波
湖北汽车工业学院C语言考试题库(选择题)
1、C语言中下列叙述正确的是______。
A.不能使用do-while语句构成循环
B.do-while语句构成的循环,必须用break语句才能退出
C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环
标准答案:D
本题的考查点是do-while语句。
选项A是错误的,C语言支持do-while语句;选项B是错误的,do-while构成的循环, 当while语句中的表达式值为零时结束循环,而不是非零;选项C也是错误的。 故本题答案为D。
2、能正确表示a和b同时为正或同时为负的逻辑表达式是______。
A.(a>=0||b>=0)&&(a<0|| b<0) B.(a>=0&&b>=0)&&(a<0&&b<0) C.(a+b>0)&&(a+b<=0) D.a*b>0
标准答案:D
逻辑表达式是指用逻辑运算符将关系表达式或逻辑量连接起来。 选项A中,表达式表示的是a,b为异号;
选项B中,表达式表示的是0,因为没有满足条件的值; 选项C中,表达式表示的是0,因为没有满足条件的值; 选项D表示的是a和b为同号。 故本题答案为D。
3、请选出可用作C语言用户标识符的一组标识符______。
① void ② a3_b3 ③ For ④ 2a define _123 _abc DO
WORD IF case sizeof A.1 B.2 C.3 D.4
标准答案:B
本题的考查点是C语言的标识符。
C语言规定标识符只能由字母、数字和下划线三种符号组成,而且第一个字符必须是字母或下划线。 ①中的void和define都和C语言的关键字重名,不合法; ③中的case和C语言的关键字重名,不合法;
④中的2a是数字打头而且sizeof和C语言的关键字重名,不合法。 故本题答案为B。
4、若x和y都是int型变量,x=100、y=200,且有下面的程序片段 printf(\
- 1 -
版权所有:湖北汽车工业学院 张吴波
上面程序片段的输出结果是______。 A.200 B.100 C.200,100
D.输入格式符不够,输出不确定的值
标准答案:A
本题的考查点是逗号表达式。
在(x,y)中的\是一个特殊的运算符,叫做逗号运算符,它的一般形式为:表达式1,表达式2,求解过程为:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值,(x,y)的值为200,所以输出结果为200。
故本题答案为A。
5、若执行下面的程序时从键盘上输入3和4, main()
{ int a,b,s;
scanf(\ s=a; if(a
printf(\ }
则输出是______。 A.14 B.16 C.18 D.20
标准答案:B
本题的考查点是给变量赋值。
用户输入的3和4分别赋给了a和b,在if语句进行判断时,因为表达式的值为真,所以b的值将赋给s,s*s=16,最后的打印结果为16。 故本题答案为B。
6、设ch是char型变量,其值为A,且有下面的表达式
ch=(ch>='A'&&ch<='Z')?(ch+32):ch 上面表达式的值是______。 A.A B.a C.Z D.z
标准答案:B
本题的考查点是条件运算符。
条件表达式的一般形式为:表达式1?表达式2:表达式3,条件运算符的执行顺序:先求解表达式1,若非0则求解表达式2,此时表达式2的值就作为整个表达式的值,若表达式1的值为0,则求解表达式3,此时
- 2 -
版权所有:湖北汽车工业学院 张吴波
表达式3的值就作为整个表达式的值。本题中,表达式1的值为1,所以整个表达式的值为表达式(ch+32)的值,即为a。
故本题答案为B。
7、设有以下语句,其中不是对a数组元素的正确引用的是______。(其中0≤i<10)
int a[10]={0,1,2,3,4,5,6,7,8,9,},*p=a; A.a[p-a] B.*(&a[i]) C.p[i] D.*(*(a+i) )
标准答案:D
本题的考查点是通过指针引用数组元素。
8、下面程序
main() {
int x=10,y=3;
printf(\ }
的输出是______。 A.0 B.1 C.3
D.不确定的值
标准答案:C
本题的考查点是除法运算。
x/y的结果约为3.33333,但是由于打印要求为整型,所以自动转换为整型(相当于截取整数位),打印结果为3。
故本题答案为C。
9、下面的程序中______错误(每行程序前面的数字是行号)。
1 #include
4 float a[3]={0.0}; 5 int i;
6 for(i=0;i<3;i++) scanf(\7 for(i=1;i<3;i++)a[0]=a[0]+a[i]; 8 printf(\9 } A.没 B.第4行 C.第6行 D.第8行
- 3 -
版权所有:湖北汽车工业学院 张吴波
标准答案:C
本题的考查点是函数scanf()的格式输入。
根据函数scanf()的语法可知,在函数中的参数表列部分,应当是欲赋值变量的内存地址,象第六行这样,将数组元素直接放在参数表列中是无法达到给数组元素赋值的目的。 故本题答案为C。
10、有如下程序
main() {
int n = 9; while(n>6) { n--;
printf(\ } }
该程序的输出结果是______。 A.987 B.876 C.8765 D.9876
标准答案:B
本题考查点是While语句循环次数的问题。
符合n>6的n只有7,8,9;所以循环次数为3。选项C、D可以排除。又因n在输出之前要执行n--,所以输出结果只能是876。 本题答案为B。
11、若变量已正确定义并赋值,下面符合C语言的表达式是______。
A.a:=b+1 B.a=b=c+2 C.int 18.5%3 D.a=a+7=c+b
标准答案:B
选项A和C显然错误;对于表达式a=a+7=c+b(答案D),是先执行赋值表达式a+7=c+b,再把这个表达式的值赋给a,显然,表达式a+7=c+b非法,因为赋值表达式的左值不能为常量或表达式。 本题答案为B。
12、有如下程序
main()
{ float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0)y=1.0/x; else y=1.0; printf(\}
- 4 -
版权所有:湖北汽车工业学院 张吴波
该程序输出结果是______。 A.0.000000 B.0.250000 C.0.500000 D.1.000000
标准答案:C
本题考查的是IF…ELSE语句的使用。x=2.0,符合第二个IF语句的条件x<10.0,所以执行y=1.0/x语句,即y=1.0/2.0=0.500000。 本题答案为C。
13、有如下程序段
int *p,a=10,b=1; p=&a; a=*p+b;
执行该程序段后,a的值为______。 A.12 B.11 C.10 D.编译出错
标准答案:B
执行p = &a;后,p指向整数a,*p即p的目标变量,也就是a;所以a = *p + b等价于a = a+b,可知a的值最终为11。
本题答案为B。
14、有如下程序
main() { }
该程序的输出结果是______。 A.不确定的值 B.2 C.1 D.0
标准答案:D
int n[5] = {0,0,0},i,k = 2;
for(i = 0; i < k; i++) n[i] = n[i] + 1; printf(\
一维数组和多维数组的定义、初始化和引用 15、有如下定义
struct person{char name[9]; int age;}; struct person class[10] = { \
\ \ \
- 5 -
版权所有:湖北汽车工业学院 张吴波
根据上述定义,能输出字母M的语句是______。 A.printf(\B.printf(\C.printf(\D.printf(\
标准答案:D
结构体和共用体类型数据的定义方法和引用方法 16、以下列出C语言常量中,错误的是______。
A.OxFF B.1.2e0.5 C.2L D.'\\72'
标准答案:B
C的数据类型及其定义方法
17、以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z)的C语言表达式是
______。 A.x/y*z B.x*(1/(y*z)) C.x/y*1/z D.x/y/z
标准答案:A
C的数据类型及其定义方法 18、设有以下说明语句
struct ex
{ int x; float y;char z; } example; 则下面的叙述中不正确的是______。 A.struct是结构体类型的关键字 B.example是结构体类型名 C.x,y,z都是结构体成员名 D.struct ex是结构体类型
标准答案:B
结构体和共用体类型数据的定义方法和引用方法
19、X、Y、Z被定义为int型变量,若从键盘给X、Y、Z输入数据,正确的输入语句是______。
A.INPUT X,Y,Z;
B.scanf(\C.scanf(\D.read(\
标准答案:B
本题考查C语言的格式化输入语句。
- 6 -
版权所有:湖北汽车工业学院 张吴波
C语言中没有INPUT与read语句,scanf()语句的格式为: scanf(\格式字符串\变量地址1,变量地址2,...); 本题答案C中,应为变量地址。 本题答案为B。
20、t为int类型,进入下面的循环之前,t的值为0,
while(t=1) { ......}
则以下叙述中正确的是______。 A.循环控制表达式的值为0 B.循环控制表达式的值为1 C.循环控制表达式不合法 D.以上说法都不对
标准答案:B
本题考查C语言的while循环语句。
本题的t=1是一个赋值表达式,其值为变量的值,所以while语句的循环控制表达式的值为1。 本题答案为B。
21、设有以下函数;
f(int a) { int b=0; static int c=3; b++;c++; return(a+b+c); }
如果在下面的程序中调用该函数,则输出结果是______。 main()
{ int a=2, i;
for(i=0;i<3;i++) printf(\ }
A) B) C) D) 7 7 7 7 8 9 10 7 9 11 13 7
标准答案:A
本题考查的是C语言的静态数据类型。静态数据类型的变量的值在退出了函数时依然存放在内存中,且只初始化一次。 本题答案为A。
22、以下定义语句中,错误的是______。
A.int a[]={1,2}; B.char *a[3]; C.char s[10]=\D.int n=5,a[n];
- 7 -
版权所有:湖北汽车工业学院 张吴波
标准答案:D
本题考查C语言数组的定义与初始化。
在C语言中数组的初始化可以对部分元素,数组的定义,不能含有变量。 本题答案为D。
23、以下程序的输出结果是______。
main()
{ int i,a[10];
for(i=9;i>=0;i--) a[i]=10-i; printf(\} A.258 B.741 C.852 D.369
标准答案:C
本题使循环语句给数组元素赋值。 C语言中for循环语句的一般形式为: for(表达式1;表达式2;表达式3) {
语句部分; }
本题答案为C。
24、以下程序的输出结果是______。
main() { int a,b;
for(a=1,b=1;a<=100;a++) { if(b>=10) break; if(b%3==1)
{ b+=3; continue; } }
printf(\ } A.101 B.6 C.5 D.4
标准答案:D
本题主要考查考生对C语言中的循环语句和程序的执行逻辑。本题中for循环语句共执行3次,所以a的值累加3次,结果为4。 本题答案为D。
CONTINUE语句和BREAK语句
- 8 -
版权所有:湖北汽车工业学院 张吴波
25、以下程序的结果是______。
int a,b; void fun()
{ a=100; b=200; } main()
{ int a=5,b=7; fun();
printf(\ } A.100200 B.57 C.200100 D.75
标准答案:B
局部变量和全局变量
26、以下叙述中正确的是______。
A.C语言中的文件是流式文件,因此只能顺序存取数据
B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据 D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
标准答案:D
文件的打开与关闭(FOPEN,FCLOSE)
27、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是______。 A.Void B.int C.float D.double
标准答案:B
函数的类型和返回值 28、有以下程序
struct STU
{char num[10]; float score[3]; } main()
{struct STU s[3]={{\ {\ {\ int i; float sum=0; for(i=0;i<3;i++) sum=sum+p->score[i]; printf(\}
- 9 -
版权所有:湖北汽车工业学院 张吴波
程序运行后的输出结果是______。 A.260.00 B.270.00 C.280.00 D.285.00
标准答案:B
结构体和共用体类型数据的定义方法和引用方法 29、有以下程序
main()
{ int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i]; i++;} printf(\}
执行后输出的结果是______。 A.58 B.56 C.45 D.24
标准答案:D
一维数组和多维数组的定义、初始化和引用
30、设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五
入的是______。 A.x=x*100+0.5/100.0; B.x=(x*100+0.5)/100.0 C.x=(int)(x*100+0.5)/100.0; D.x=(x/100+0.5)/100.0;
标准答案:C
表达式语句,空语句,复合语句 31、有以下程序
main() { int i,s=0;
for(i=1;i<10;i+=2) s+=i+1; printf(\}
A.自然数1~9的累加和 B.自然数1~10的累加和 C.自然数1~9中奇数之和 D.自然数1~10中偶数之和
标准答案:D
- 10 -
版权所有:湖北汽车工业学院 张吴波
FOR循环结构
32、若程序中定义了以下函数
double myadd(double a,double b) {return(a+b);}
并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是______。 A.double myadd(double a, b); B.double myadd(double,double); C.double myadd(double b, double a); D.double myadd(double x, double y);
标准答案:A
对函数的“定义”和“说明”不是一回事。“定义”是指对函数功能的确立,包括指定函数名,函数值类型、形参及其类型、函数体等,它是一个完整的、独立的函数单位。而“说明”则是对已定义的函数的返回值进行类型说明(或称“申明”),它只包括函数名、函数类型、以及一个空的括弧,不包括形参和函数体。对被调函数进行说明的作用是告诉系统:在本函数中将要用到的某函数是XX类型。也就是说明该函数的返回值的类型,以便在主调函数中按此类型对函数值作相应的处理。
本题选项A中,对变量b的类型没有说明,默认的为整型,不合题意。 故本题答案为A。
33、下面程序的功能是输出以下形式的金字塔图案:
* *** ***** ******* main() { int i,j;
for(i=1;i<=4;i++)
{ for(j=1;j<=4-i;j++)printf(\ for(j=1;j<=______;j++)printf(\ printf(\ } }
在下划线处应填入的是______。 A.i B.2*i-1 C.2*i+1 D.i+2
标准答案:B
循环的嵌套
34、请选出以下程序的输出结果______。
#include
- 11 -
版权所有:湖北汽车工业学院 张吴波
main(){ int a,b,c;
sub(10,5,&a);sub(7,a,&b);sub(a,b,&c); printf(\ } A.5,2,3 B.-5,-12,-7 C.-5,-12,-17 D.5,-2,-7
标准答案:B
用指针作函数参数
35、请选出以下程序段的输出结果______。
#include
#define MIN(x,y) (x int i,j,k; i=10;j=15; k=10*MIN(i,j); printf(\ } A.15 B.100 C.10 D.150 标准答案:C 宏定义:不带参数的宏定义;带参数的宏定义 36、设有如下的程序段 char str[]=\ char *ptr; ptr=str; 执行完上面的程序段后,*(ptr+5)的值为______。 A.'o' B.'\\0' C.不确定的值 D.'o'的地址 标准答案:B 字符串与字符数组 本题的考查点是字符数组的结束标志。 ptr=str实际上是将串str的首地址赋给了指针变量ptr,所以ptr+5将指向str串的第六个数组元素,即是串的隐含结束标志'\\0',*(ptr+5)='\\0',最后的结果为'\\0'。 - 12 - 版权所有:湖北汽车工业学院 张吴波 故本题答案为B。 37、已有定义:char c;,程序前面已在命令中包含ctype.h文件。不能用于判断c中的字符是否为大写 字母的表达式是______。 A.isupper(c) B.'A'<=c<='Z' C.'A'<=c&&c<='Z' D.c<=('z'-32)&&('a'-32)<=c 标准答案:B C运算符的种类、运算优先级和结合性 38、下面程序的输出是______。 int m=13; int fun2(int x,int y) { int m=3; return(x*y-m); } main( ) { int a=7,b=5; printf(\} A.1 B.2 C.7 D.10 标准答案:B 本题的考查点是函数的调用。 函数fun2()的作用是将形参x和y的值相乘后-3,在fun2()中的变量m是一个局部变量,它的值在fun2()函数内有效,在主函数中的m指的是全局变量,其值为13,所以fun2(a,b)/m的值为(7*5-3)/13,即2。 故本题答案为B。 39、有以下程序 #include while(*s<='9'&&*s>='0') { n=10*n+*s-'0';s++;} return(n); } main() { char s[10]={ '6', '1','*','4','*', '9', '*', '0', '*'}; printf(\} 程序的运行结果是______。 A.9 B.61490 - 13 - 版权所有:湖北汽车工业学院 张吴波 C.61 D.5 标准答案:C 字符串与字符数组 本题考查的是指针的应用。 本题主函数中定义了一个字符型数组s,当调用fun函数时,将字符型数组s的地址指向形参字符数组s,则形参与实参共用占同一存储单元,其值也相等。 在函数fun中,第一次执行while循环时,*s='6',所以while(*s<='9'&&*s>='0')成立,执行n=10*n+*s-'0'; 即n=10*0+'6'-'0',其中字符'6'和'0'均代入ASCII码进行运算,所以n=6; s++表示指针变量s后移一位,即*s='1',所以while(*s<='9'&&*s>='0')成立,执行n=10*n+*s-'0';由于前一次循环执行后的n的值为6,此时的等式为(n=10*6+'1'-'0'),故n=61;指针变量继续后移一位,*s='*',所以while(*s<='9'&&*s>='0')不成立,返回n=61的值。故本题程序输出结果是61。 本题答案为C。 40、以下函数返回a所指数组中最小值所在的下标值。 fun(int *a,int n) { } int i,j = 0,p; p = j; for( i = j; i < n; j++) return(p); if(a[i] < a[p])______; 在下划线处应填入的是______。 A.i=p B.a[p]=a[i] C.p=j D.p=i 标准答案:D 一维数组和多维数组的定义、初始化和引用 41、有如下程序: long fib(int n) { } main() { } 该程序的输出结果是______。 printf(\if(n > 2) return (fib(n-1) + fib(n - 2)); return (2); else - 14 - 版权所有:湖北汽车工业学院 张吴波 A.2 B.4 C.6 D.8 标准答案:B 函数的正确调用,嵌套调用,递归调用 42、若fp是指向某文件的指针,且已读到此文件的末尾,则函数feof(fp)的返回值是______。 A.EOF B.0 C.非零值 D.NULL 标准答案:C 本题的考查点是文件结束符的返回值问题。 函数feof是用来判断文件是否已读到末尾,如果已读到末尾则返回非零值,否则返回0。 本题答案为C。 文件的读写,文件的定位 43、有如下程序 int func(int a, int b) { return(a+b); } main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(\} 该程序的输出结果是______。 A.12 B.13 C.14 D.15 标准答案:D 函数的正确调用,嵌套调用,递归调用 44、有以下程序 main() { int a,b,d=25; a=d/10%9; b=a&&(-1); printf(\} 程序运行后的输出结果是______。 A.6,1 B.2,1 - 15 - 版权所有:湖北汽车工业学院 张吴波 C.6,0 D.2,0 标准答案:B 本题考查的是算术运算符。 如果算术运算符\/\中参与运算的变量都是整型变量,则\/\表示整除运算,\%\表示求余。本题中\a=d/10%9;\的值为25/10%9=2;\b=a&&(-1);\为2&&(-1)=1(注意:-1表示真,只有0才表示假),所以a,b的值分别为2,1。 故本题答案为B。 45、下列程序段的输出结果是______。 void fun(int *x,int *y) { printf(\ main() { int x=1,y=2; fun(&y,&x); printf(\ } A.2 1 4 3 B.1 2 1 2 C.1 2 3 4 D.2 1 1 2 标准答案:A 用指针作函数参数 本题中函数传递的是变量的地址,如果形参变量所指向的存储空间的内容在函数中发生改变,相对应的实参变量所指向的存储空间的内容也就发生改变。 本题答案为A。 46、以下程序的输出结果是______。 long fun(int n) { long s; if(n==1||n==2) s=2; else s=n-fun(n-1); return s; } main() { printf(\A.1 B.2 C.3 D.4 标准答案:A 函数的正确调用,嵌套调用,递归调用 47、有以下结构体说明和变量定义,如图所示: - 16 - 版权所有:湖北汽车工业学院 张吴波 struct node {int data; struct node *next;} *p,*q,*r; 现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是______。 A.p->next=q->next; B.p->next=p->next->next; C.p->next=r; D.p=q->next; 标准答案:D 结构体和共用体类型数据的定义方法和引用方法 48、有以下程序 #include void WriteStr(char *fn,char *str) { FILE *fp; fp=fopen(fn,\ fputs(str,fp); fclose(fp); } main() { WriteStr(\ WriteStr(\} 程序运行后,文件t1.dat中的内容是______。 A.start B.end C.startend D.endrt 标准答案:B 本题考查的是文件操作。 题中\fopen(fn,\\的作用是打开fn所指向的文件,使用文件方式为\写入\;\fputs(str,fp)\的作用是将字符str的值输出到fp所指向的文件中去。在程序中,两次使用\写入\的方式打开同一个文件,在第二次打开时,文件指针指向文件头,所以此次写入的数据覆盖了文件原有的数据,故本题中t1.dat的内容为end。 故本题答案为B。 49、以下程序的功能是:给r输入数据后计算半径为r的圆面积s,程序在编译时出错。 main() /* Beginning */ {int r; float s; - 17 - 版权所有:湖北汽车工业学院 张吴波 scanf(\ s=*∏*r*r; printf(\} 出错的原因是______。 A.注释语句书写位置错误 B.存放圆半径的变量r不应该定义为整型 C.输出语句中格式描述符非法 D.计算圆面积的赋值语句中使用了非法变量 标准答案:D 50、有以下程序 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2; printf(\} 程序运行后的输出结果是______。 A.16 B.10 C.8 D.6 标准答案:B 指针数组,指向指针的指针,MAIN函数的命令行参数 本题考查的是指向数组的指针变量。 数组a各元素a[0]~a[9]的值依次为1~10;在程序的说明部分,指针变量p初始化为&a[3],即*p的值为4;指针变量q初始化为p+2,即&a[3]+2,所以*q的值为6,所以*p+*q的值为10。 故本题答案为B。 51、若要打开A盘上的user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数 调用是______。 A.fopen(\B.fopen(\C.fopen(\D.fopen(\ 标准答案:B 文件的打开与关闭(FOPEN,FCLOSE) 52、以下程序的输出结果是______。 f(int b[],int m,int n) { int i,s=0; for(i=m;i {int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); - 18 - 版权所有:湖北汽车工业学院 张吴波 printf(\} A.10 B.18 C.8 D.15 标准答案:A 用指针作函数参数 53、有以下程序 main() {int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0; for(i=0;i<4;i++) s+=aa[i][1]; printf(\} 程序运行后的输出结果是__19__。 维数组和多维数组的定义、初始化和引用 54、有以下程序 void f(int x,int y) { int t; if(x { int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(\} 执行后输出的结果是______。 A.3,4,5 B.5,3,4 C.5,4,3 D.4,3,5 标准答案:D 形式参数与实在参数,参数值的传递 55、有以下程序 main() { int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=p; p=q;q=r; printf(\} 程序运行后的输出结果是______。 - 19 - 版权所有:湖北汽车工业学院 张吴波 A.8,7,8,7 B.7,8,7,8 C.8,7,7,8 D.7,8,8,7 标准答案:C 指针与指针变量的概念,指针与地址运算符 56、有以下程序 int fun1(double a){return a*=a;} int fun2(double x,double y) { double a=0,b=0; a=fun1(x);b=fun1(y); return(int)(a+b); } main() {double w;w=fun2(1.1,2.0);……} 程序执行后变量w中的值是______。 A.5.21 B.5 C.5.0 D.0.0 标准答案:C 函数的类型和返回值 67、有以下程序 fun(char p[][10]) { int n=0,i; for(i=0;i<7;i++) if(p[i][0]== 'T')n++; return n; } main() { char str[][10]={ \ printf(\} 程序执行后的输出结果是______。 A.1 B.2 C.3 D.0 标准答案:B 一维数组和多维数组的定义、初始化和引用 - 20 -