一、选择题
1、可以在C语言中使用的一组用户标识符是()。
A、3B sizeof DO
B、ab34 c1_c2 _for
C、_123 t2_a1_ printf
D、void 6b hat
2、以下均是字符常量或数值常量的选项是()。
A、0.0 0f 8.9e ‘&’
B、”A” 3.9e-2.5 1e1
C、’3’011 0xff00 0a
D、0xabcd 2e3 50.
3、以下选项中正确的实型常量是()。
A、0
B、0.618*10
C、567
D、3.1415
4、将汇编语言编写的程序翻译为目标程序的是()程序。
A、解释
B、编译
C、汇编
D、目标
5、不属于面向机器的语言是()。
A、符号语言
B、机器语言
C、汇编语言
D、C语言
6、程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
7、下列符号中,不属于转义字符的是()。
A、\\
B、\0xaa
C、\0
D、\t
8、正确的C语言标识符是()。
A、_sum_1
B、1_sum
C、?_sum
D、sum?
9、增1减1运算只能作用于()。
A、常量
B、变量
C、表达式
D、函数
10、设“int a=2,b=2;”,则++a+b的结果是(),a的结果是(),b的结果是()。A、2 B、3 C、4 D、5
11、下列运算符中优先级最高级的是()。
A、++
B、%
C、*
D、=
12、设“int a=2;”,则表达式“(a++*1/3)”的值是(),a的值是()。
A、0
B、1
C、2
D、3
13、字符数据在内存中的存储代码采用的是()。
A、反码
B、补码
C、EBCDIC码
D、ASC II码
14、char a; int b; float c; double d;
则表达式a*b+d-c值的类型为()。
A、int
B、float
C、double
D、char
15、字符串”\”\123\n\321a”的长度是()。
A、1
B、5
C、9
D、13
16、下列常量中,不属于字符常量的是()。
A、’\1x’
B、’0’
C、’\’’
D、’\n’
17、语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是
A. a\bre\'hi\'y\\\bou
B. a\bre\'hi\'y\bou
C. re'hi'you
D. abre'hi'y\bou
18、设整型变量k的值为011,下列表达式中值不为1的是()。
A、k%8
B、k/8
C、++k-8
D、k++-8
19、设整型变量m的值为2,则执行printf("%d,",m+++m---m++);
printf("%d\n",m);后的结果是()。
A、-1,2
B、0,2
C、3,3
D、2,3
20、整型变量x、y和z已定义并已赋值,下列表达式正确的是()。
A、x=5++
B、5=x++
C、x=y=z==x
D、x=y+1=z
21、设整型变量m的值为8,则表达式“m-=m+=m*=m/=m”的值是()。
A、8
B、1
C、0
D、-1
22、设有整型变量x、y和z,则下列表达式中不属于逗号表达式的是()。
A、x>y,z=0
B、x,y=z
C、x++,(y,z)
D、x=(y,z)
23、在C语言数据类型转换原则中,以下错误的是()。
A、若+、-、*、/运算的两个数中有一个数为实型,则结果为实型。
B、如果int型与double型数据进行运算,结果是double型。
C、char型与int型进行运算,把字符型数据的ASCII码与整型数据进行运算,结果为整型。
D、char型与int型进行运算,运算结果为char型。
24、设有整型变量x和单精度型变量y,最终运算结果不是单精度型的表达式是()。A、(int)y+x B、(int)x+y
C、(float)y+x
D、(float)x+y
25、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是()。
A、1
B、2
C、 2.0
D、 2.5
26、以下叙述正确的是()。
A、在C程序中无论是整数还是浮点数,只要允许的范围内都准确无误地表示。
B、若有“double a,b;”定义,可以直接执行语句“a=b+3.456;”因为b 已正确定义。
C、在C语言中,常量、变量、函数调用都是表达式的一种
D、在main函数中,一旦定义一个变量,系统将自动赋给它初值。
27、以下选项中,不正确的赋值语句是()。
A、i++;
B、i+=7;
C、x+y=z;
D、y=(int)x+4;
28、以下选项中不是C语言语句的是()。
A、{int i=1; i++; }
B、;
C、k=5,a=10
D、{ ; ;}
29、设整形变量n的值为9,下列表达式中值为1的表达式是()。
A、!n
B、!n>1
C、!n!=1
D、!n!==1
30、不能正确表达数学中逻辑关系“y在x和z之间(x
C、!(!(x D、x 31、设整形变量m和n的值均为1,计算表达式“(m=m!=n)&&(n=m==n)”后,m和n的值是()。 A、1,1 B、1,0 C、0,1 D、0,0 32、设整形变量x的值为8,则表达式“x>5?x++:--x”的值是()。 A、9 B、8 C、7 D、1 33、设有整形变量m,n和k的值均为6,则表达式“n=k=++m,m=n!=k”的值是()。 A、0 B、1 C、6 D、7 34、下列表达式中,值不为4的表达式是()。 A、sizeof(double) B、sizeof(float) C、sizeof(long) D、sizeof(unsigned long) 35、能判断整形变量m是偶数的正确表达式是()。 A、m/2 B、m%2 C、m%2 !=0 D、m%2 ==0 36、设字符型变量ch的值为’A’,整型变量m的值为1,假定执行ch=getchar();m=getchar();时,从键盘输入B<回车>,则变量ch和m的值分别为()。 A、’A’和’1’ B、’B’和’1’ C、’B’和‘□’ D、’B’和’\n’ (注:□表示空格) 37、设字符型变量ch的值为’A’,整型变量m的值为’1’,假定执行putchar(m); putchar(‘□‘); putchar(ch);后,则输出结果是()。 A、A1 B、1A C、A□1 D、1□A 38、设整型变量a和b的值分别为8和9,printf(“%d,%d”,(a++,++b),b--);的输出是()。 A、8,8 B、8,7 C、9,9 D、10,9 39、设有下列程序段,则其正确的输出是()。 int x=011,y=0x11; printf(“x=%-3dy=%3d”,x,y); A、□□917□ B、x=9□□y=□17 C、x=□□9y=17□ D、x=11y=x11 40、运行下列程序的输出是()。 main() {char ch=’B’; printf(“%c%d”,ch,ch++); } A、C65 B、B65 C、B66 D、C66 41、若a、b、c均为int类型,要给a、b、c输入数据,正确的输入语句是()。 A、read(a,b,c); B、scanf(“%d%d%d”,a,b,c); C、scanf(“%D%D%D”,a,b,c); D、scanf(“%d%d%d”,&a,&b,&c); 42、以下程序,输入ABC<回车>后,执行结果是()。 main() {char c; scanf(“%3c”,&c); printf(“%c\n”,c); } A、ABC B、A C、B D、C 43、以下程序()。 main() {int x=0,y=0,z=0; if (x=y+z) printf(“******\n”); else printf(“######\n”); } A、有语法错误,不能编译通过 B、输出****** C、可以通过编译,但不能通过连接,因此不能运行 D、输出###### 44、以下程序输出结果为()。 main() { int a=2,b=-1,c=2; if (a if (b<0) c=0; else c+=1; printf(“%d\n”,c); } A、0 B、1 C、2 D、3 45、以下程序输出结果为()。 main() { int a=2,b=-1,c=2; if (a {if (b<0) c=0;} else c+=1; printf(“%d\n”,c); } A、0 B、1 C、2 D、3 46、以下()为不正确的if语句。 A、if (x B、if (x!=y) scanf(“%d”,&x) else scanf(“%d”,&y); C、if (x==y) x+=y; D、if (x 47、若执行以下程序时从键盘输入5,则输出结果为()。main() { int x; scanf(“%d”,&x); if (x++<5) printf(“%d\n”,x); else printf(“%d\n”,x--); } A、7 B、6 C、5 D、4 48、设字符型变量ch已有值,下列语句中错误的是()。 A、scanf(“%c%c”,ch,ch); B、{int ch=6;printf(“%d”,ch);} C、5; D、ch>48&&ch<0x3A; 49、设整形变量x,y,z的值值分别为3,2,1,则下列程序段的输出是()。if (x>y) x=y; if (x>z) x=z; printf(“%d,%d,%d\n”,x,y,z); A、1,1,1 B、1,2,1 C、1,2,3 D、3,2,1 50、执行下列程序段后,变量x的值是()。 int a=8,b=7,c=6,x=1; if (a>6) if (b>7) if (c>8) x=2; else x=3; A、0 B、1 C、2 D、3 51、运行下列程序的结果是()。 main() {float x=-28.9,y; if (x<0) y=-x; else if (x<0) y=x; else y=0; printf(“%f\n”,y); } A、-28.9 B、28.9 C、-28 D、28 52、运行下列程序的结果是()。 main() {int a1=10, a2=-9, a3=0, a4=100, x; if (a1 if (a1 if (a2 printf(“%d,%d,%d,%d\n”,a1,a2,a3,a4) } A、-9,0,10,100 B、100,10,0,-9 C、0,-9,10,100 D、100,10,-9,0 53、运行下列程序的结果是()。 main() {int a1=1,a2=1,a3=1,a4=1; if (a1>0) a3++; if (a1>a2) a3--; else if (a1==a2) a3++; else a3--; printf(“%d,%d,%d,%d\n”,a4,a3,a2,a1); } A、1,1,1,1 B、1,2,3,4 C、4,3,2,1 D、1,3,1,1 54、下列正确的switch语句是()。 A、switch (x) {case 1.0: printf(“*\n”); case 2.0: printf(“**\n”);} B、switch (int x) {case 1: printf(“*\n”); case 2: printf(“**\n”);} C、switch (a+b) {case 1: printf(“*\n”); case 1+2: printf(“***\n”);} D、switch (a+b) ; {case 1: printf(“*\n”); case 2: printf(“*\n”);} (说明:switch后面的表达式(由常数、符号常量组成的表达式)必须为整型,也可用字符表达式。因此,选项A的case 后出现实型常量是不对的,选项B switch后面的括号中只能出现变量名,而出现类型说明符是不对的,选项C 中switch后面的表达式多了一个分号) 55、以下程序段的输出结果是()。 int x=0,y=2,z=3; switch (x+1) {case 1: switch (y==2) {case 1:printf(“*”);break; case 2:printf(“%”);break;} case 2: switch (z) {case 1: printf(“$”); case 2: printf(“*”);break; default : printf(“#”);} } A、*# B、*$* C、*%$*# D、* 56、以下语句中,()不可能做到提前退出循环体语句。 A、goto B、break C、continue D、return 57、执行下列语句后,整型变量x的值为()。 switch (x=1) {case 0: x=10;break; case 1: switch (x=2) { case 1: x=20; break; case 2: x=30; } } A、30 B、20 C、10 D、1 58、执行下列程序后的输出结果是()。 char x=’9’; while (x>’7’) printf(“%c”,x--); A、99 B、98 C、987 D、87 59、执行下列程序段后的输出结果是()。 int m=8; while (m>=5) m--,--m,n=m---m; printf(“%d,%d”,m,n); A、2,0 B、5,-1 C、5,0 D、5,1 60、设整型变量x的值为1,执行下列程序段后,变量x的值是()。do x++; while (x++<2); A、2 B、3 C、4 D、5 61、下列语句的输出结果是()。 for(i=2;i>0;i--) for(j=0;j A、** B、*** C、**** D、****** 62、执行下列语句后,变量k的值是()。 for(k=0;k<=5;k++) do k++;while (k<5); A、5 B、6 C、7 D、8 63、下列程序段中,不能使变量m的值等于10的程序段是()。 A、m=0; while (m++<9); B、do m=0; while (m++<10); C、for(m=8;m<10;m++); D、m=0; L:m++; if (m<10) goto L; 64、执行下列程序的输出结果是()。 main() {int i,m,n1=1,n2=1,n3; for(m=n1+n2,i=1;i<5;i++) {n3=n1+n2;m=m+n3;n1=n2,n2=n3;} printf(“%d\n”,m); } A、6 B、12 C、20 D、33 65、如果在程序执行时输入:abc12.3xz和回车键,则输出结果为()。main() {char ch; float x=0; do {ch=getchar(); if ((‘0’<=ch)&&(ch<’9’)) x=x*10+ch-48; }while (ch!=’\n’); printf(“%f\n”,x); } A、abc B、12.3 C、123 D、123.0 66、下列叙述正确的是()。 A、continue和break只能用在循环体中 B、continue只能用在循环体中 C、break只能用在循环体中 D、continue只能用在循环体外 67、执行下列程序的输出结果是()。 main() {int k; for(k=9;k>0;k--) if (k/3==0) continue; else printf(“%d”,k); } A、875421 B、9876543 C、987654321 D、963 68、下列程序的主要功能是计算并输出1!+2!+…+10! 。缺少的内容是()。 main() {float y=1.0,x; int i,n; for(n=2;n<11;n++) { ; for(i=2;i<=n;i++) x=x*i; y=y+x; } printf(“%f\n ”,y); } A 、x=0.0 B 、x=0 C 、x=1.0 D 、x=(float)n 69、下列程序的功能是根据以下公式求π值(直到最后一项小于10-6为止),程序中缺少的是( )。 +???+??+?++=9 473523173523152313112π main() {double s=0.0, t=1.0; int n; for(n=1;t>=1e-6;n++) {s+=t; ;} printf(“%f\n ”,2.0*s); } A 、t*=n/2*n+1 B 、t=n*t/(2*n+1) C 、t=t*n/2*n+1 D 、t=t*n/(2*n-1) 70、设某网站成立第一天有10人点击,以后每天的点击数都是前一天的3倍多10人。下列程序是计算第11天有多少人点击,其中缺少是( )。 main() {long s=10; int i ; for( ) s=3*s+10; printf(“%ld\n ”,s); } A 、i=1;i<=11;i++ B 、i=1;i<12;i++ C、i=2;i<12;i++ D、i=2;i<=12;i++ 71、定义数组时,代表数组长度的不能是()。 A、整型表达式 B、符号常量 C、整型常量 D、整型常量表达式 72、在选用数组元素的下标时,可能造成程序运行出错的下标是()。 A、正实数 B、整型变量 C、0 D、-1 73、设有语句“int a[]={1,2,3,9,8,7};”,则表达式“a[2]- a[4]”的值是()。 A、-2 B、-4 C、-5 D、-7 74、以下程序运行后,输出结果是()。 main() {int y=18,i=0,j,a[8]; do {a[i]=y%2;i++; y=y/2; }while (y>=1); for(j=i-1;j>=0;j--) printf(“%d”,a[j]); printf(“\n”); } A、10000 B、10010 C、00110 D、10100 75、下列程序的运行结果是()。 main() {int a[6],i; for(i=1;i<6;i++) {a[i]=9*(i-2+4*(i>3))%5; printf(“%2d”,a[i]); } } A、-4 0 4 0 4 B、-4 0 4 0 3 C、-4 0 4 4 3 D、-4 0 4 4 0 76、设有下列定义语句,则表达式“x[1][1]*x[2][2]”的值是()。float x[3][3]={{1.0,2.0,3.0},{4.0,5.0,6.0}}; A、0.0 B、4.0 C、5.0 D、10.0 77、设有定义语句“char s1[4]=”abc”;”,则表达式s1[3]的值()。 A、0.0 B、0 C、‘0’ D、‘c’ 注:printf(“%d”,s1[3]);显示0 printf(“%c”,s1[3]);无显示(ascii值为0) 78、若有下列定义和语句,则运行后的输出结果是()。char s1[4]=”12”;printf(“%s”,s1); A、1 B、12 C、□□12 D、12\0 □表示空格 79、设有定义语句“char a[]=”123”,b[]={‘1’,’2’,’3’};” 则正确的说法是()。 A、a[3]是不可知的任意字符 B、数组a和b的长度相等 C、b[3]的值为’\0’ D、数组a长度大于数组b的长度(注:不是a中和b中保存的字符串的长度) 80、下列语句在编译时,出错的语句是()。 main() {float s[][2]={1,2,3,4}; /*第1条语句*/ s[1][0]=10; /*第2条语句*/ s[0][0]=s[0]+s[1]+s[2]+s[3]; /*第3条语句*/ printf(“%f\n”,s[1][1]); /*第4条语句*/ } A、第1条语句 B、第2条语句 C、第3条语句 D、第4条语句 81、运行下列程序的输出结果是()。 main() {int i,j,k,n[2]; for(i=0;i<2;i++) n[i]=0; k=2; for(i=0;i for(j=0;j printf(“%d\n”,n[k]); } A、1 B、3 C、程序出错 D、不确定的值 82、运行下列程序的输出结果是()。 #define N 7 main() {int I,j,temp,a[N]={1,2,3,4,5,6,7}; for(i=0;i {j=N-1-i; temp=a[i];a[i]=a[j];a[j]=temp; } for(i=0;i } A、1234567 B、7654321 C、1357 D、246 83、运行下列程序的输出结果是()。 main() {int x=123,a1[6]={100,50,10,5,2,1},a2[6],j; while (x!=0) {a2[0]= a2[1]= a2[2]= a2[3]= a2[4]= a2[5]=0; for(j=0;j<6;j++) { a2[j]=x/ a1[j]; x=x% a1[j];} printf(“%d, %d, %d, %d, %d, %d,\n”,a2[0],a2[1],a2[2],a2[3],a2[4],a2[5]); } } A、1,2,3,0,0,0 B、0,2,0,4,0,3 C、1,0,2,0,1,1 D、0,0,0,1,2,3 84、运行下列程序的输出结果是()。 main() {int a[10],a1[]={1,3,6,9,10},a2[]={2,4,7,8,15},i=0,j=0,k; for(k=0;k<4;k++) if (a1[i] else a[k]=a2[i++]; for(k=0;k<4;k++) printf(“%1d”,a[k]); } A、1478 B、1324 C、2413 D、4321 85、下列程序从键盘输入一个字符串,统计并输出其中数字字符的数目,程序中缺少的是()。 main() {char s[81]; int ; scanf(“%s”,s); while (s[i]!=’\0’) {if (s[i]>=’0’ && s[i]<=’9’) n++; i++; } printf(“%d\n”,n); } A、n=0 B、n=1,i=0 C、n=i=0 D、n=0,i=0 86、函数调用“strcmp(“123”,”321”)”的返回值是()。 A、0 B、1 C、负整数 D、任意正整数 87、设数组a中存放字符串“AB12cd”,则执行 printf(“%s”,strupr(a));后,显示的是()。 A、ab12cd B、ABCD C、AB12cd D、AB12CD 88、设有两个字符数组a,b,则以下正确的输入语句是()。 A、gets(a,b); B、scanf(“%s%s”,a,b); C、scanf(“%s%s”,&a,&b); D、gets(“a”);gets(“b”); 89、有两个字符数组a[80],b[80],则正确的输出语句是()。 A、puts(a,b); B、printf(“%s,%s”,a[],b[]); C、putchar(a,b); D、puts(a);puts(b); 90、若有说明“int a[][3]={1,2,3,4,5,6,7};”,则a数组的第一维的大小是()。 A、2 B、3 C、4 D、无确定值 91、下面是对s的初始化,其中不正确的是()。 A、char s[5]={“abc”}; B、char s[5]={‘a’,’b’,’c’}; C、char s[5]=””; D、char s[5]=”abcdef”; 92、下面程序段的运行结果是()。 char c[15]={‘a’,’b’,’\0’,’c’,’\0’}; printf(“%s”,c); A、’a’’b’ B、ab C、ah c D、a b 93、下面程序段的运行结果是()。 char a[7]=”abcdef”; char b[4]=”ABC”; strcpy(a,b); printf(“%c”,a[5]); A、□(表示空格) B、\0 C、e D、f 94、设有下面的程序段,则()。 char a[3],b[]=”China”; a=b; printf(“%s”,a); A、运行后输出China B、运行后输出Ch C、运行后输出Chi D、编译出错 95、判断字符串a和b是否相等,应使用()。 A、if (a= =b) B、if (a=b) C、if (strcpy(a,b) ) D、if (strcmp(a,b) ) 96、判断字符串s1是否大于字符串s2,应当使用()。 A、if (s1>s2) B、if (strcmp(s1,s2)) C、if (strcmp(s2,s1)>0) D、if (strcmp(s1,s2)>0) 97、运行下列程序的输出结果是()。 #include “string.h” main() {char s[60],s1[10]={“23”},s2[20]={“123”},s3[30]={“2348”}; if (strcmp(s1,s2)<0) {strcpy(s,s1);strcpy(s1,s2); strcpy(s2,s);} if (strcmp(s1,s3)<0) {strcpy(s,s1);strcpy(s1,s3); strcpy(s3,s);} if (strcmp(s2,s3)<0) {strcpy(s,s2);strcpy(s2,s3); strcpy(s3,s);} printf(“%s\n%s\n%s\n”,s1,s2,s3); } A、23 123 2348 B、2348 23 123 C、234823123 D、23132348 98、有以下程序 #include main() { char *p,*q; p=(char*)malloc(sizeof(char)*20); q=p; scanf(“%s%s”,p,q); printf(“%s %s\n”,p,q); } 若从键盘输入:abc def<回车>,则输出结果是: A.def def B. abc def C. abc d D. d d 99、设定义某函数时,函数头如下:int f(int a[],int b),则下列说法中错误的是()。 A、该函数有整型的返回值 B、调用时要给形参b分配内存 C、数据传递都是地址传递方式 D、调用时第一个实参要以是指针变量100、下列说法中,正确的是()。 A、函数可以嵌套定义,但是不能嵌套调用 B、可以通过return(表达式1,表达式2,…)语句返回多个值 C、函数的返回值可以是整型、实型、字符型、地址型及结构型 D、函数f( )不能直接调用自己,但是可以调用函数g( ),在函数g( )调用f( ) 101、C语言允许函数值类型默认定义,此时该函数值隐含的类型是()。 A、float型 B、int型 C、long型 D、double型 102、如果在一个函数的复合语句中定义了一个变量,则该变量()。 A、只在该复合语句中有效 B、在该函数中有效 C、在本程序范围内均有效 D、为非法变量 103、几是函数中未指定存储类别的局部变量,其隐含的存储类别为()。 A、自动(auto) B、静态(static) C、外部(extern) D、寄存器(register) 104、在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是()。 A、extern B、register C、auto D、static 105、若调用一个函数,且此函数中没有return语句,则该函数()。 A、没有返回值 B、返回若干个系统默认值 C、能返回一个用户所希望的函数值 D、返回一个不确定的值 106、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。 A、地址传递 B、单向值传递 C、由实参传给形参,再由形参传回给实参 D、由用户指定传递方式 107、若数组名作为函数调用的实参,传递给形参的是()。 A、数组的首地址 B、数组第一个元素的值 C、数组中全部元素的值 D、数组元素的个数 108、以下正确的说法是()。在C语言中简单变量作函数参数时, A、实参和与其对应的形参各占用独立的存储单元 B、实参和与其对应的形参共同占用一个存储单元 C、只有当实参和与其对应的形参同名时才共占存储单元 D、形参是虚拟的,不占用存储单元 109、以下程序的正确运行结果是()。 main() {int a=2,i; for(i=0;i<3;i++) printf(“%4d”,f(a)); } f(int a) {int b=0;static int c=3; b++;c++; return(a+b+c); } A、7 7 7 B、7 10 13 C、7 9 11 D、7 8 9 110、以下正确的函数形式是()。 A、double fun(int x,int y) {z=x+y ;return z;} B、fun(int x,y) {int z;return z;} C、fun(x,y) {int x,y; double z; z=x+y; return z;} D、double fun(int x,int y) {double z; z=x+y; return z;} 111、以下程序的正确运行结果是()。 #include void num() {extern int x,y; int a=15,b=10; x=a-b; y=a+b; } int x,y; main() {int a=7,b=5; x=a+b; y=a-b; num( ); printf(“%d,%d\n”,x,y); } A、12,2 B、不确定 C、5,25 D、1,12 112、以下不正确的说法为()。 A、在不同函数中可以使用相同名字的变量 B、形式参数是局部变量 C、在函数内定义的变量只在本函数范围内有效 D、在函数内的复合语句中定义的变量在本函数范围内有效 113、以下程序有语法性错误,有关错误原因的正确说法是()。main() {int G=5,k; void prt_char(); … k= prt_char(G); … } A、语句void prt_char();有错,它是函数调用语句,不能用void说明 B、变量名不能使用大写字母 C、函数说明和函数调用语句之间有矛盾 D、函数名不能使用下划线 114、C语言规定,函数返回值的类型由()。 A、return语句中的表达式类型所决定 B、调用该函数时的主调函数类型所决定 C、调用该函数时系统临时决定 D、在定义该函数时所指定的函数类型所决定 115、若有定义: int a[10],则对数组a元素的正确引用是()。 A、a[10] B、a[3,5] C、a(5) D、a[10-10] 116、设有宏定义命令:#define MUL 2+3 ,则表达式“5+MUL*5.0”的值为()。 A、50.0 B、30.0 C、22.0 D、20.0