大学科目《C语言程序设计》期末练习试卷和答案(6套).docx
一、选择题(每Ii1分,共30分)(要求将答案写入下表)1-56-1011-1516-2021-2526-301 .下面四个选项中,均是C语言关键字的选项是()A)INTwhileB)switchsqrtC)unsignedunionD)iftype2 .若以下选项中的变量已正确定义,则正确的赋值语句是()a=3.5B)a=3+2=5C)a=3.5%2D)3+5=a3 .以下运算符中,运算对象必须是整型数据的是()A)/B)%C)!=D)>=4 .以下程序段中与语句f=a>b?l:0;功能等价的是()A) if(a>b)f=l;B) if(a>b)f=ljelsef=0;C) if(a>b)a=l;elseb=0;D)语法错误5 .设有定义Chara,*p=&a;以下不能正确为变量a读入数据的是()scanf("%c",p);B)scanf("%c”,&a);C)SCanf("%c”,a);D)a=getchar();6 .下面程序中,while循环执行次数是()intmain()inti=5;while(i=0)i一;printf%d*,i);return0;D)无穷多次A)O次B)I次7 .语句While(X):中的条件表达式X等价于()A)X!=0B)x=0C)X=OD)语法错误8 .有定义:intX,y;,若要通过scanfC%d,&x,&y);使变量X得到数值3,变量y得到数值2,下面四组输入形式中,正确的是()A)32回车B)3,2V回车C)3V回车2V回车D)32V回车9 .若已定义:inta10,*p=a:并在以后语句中未改变p的值,则不能表示al元素地址的表达式是()A)p+B)p+1C)a+D)a+110 .已定义inta22=l,2,3,4);则表达式rta00+all÷a2"的值是()6B)4C)10D)错误的表达式11 .若有定义inta=0,b=l,c=2;则以下选项中值为0的表达式是()A)(!a=l)U(!b=0)B)bC)a&&bD)a(b+b)M(c-a)12 .下面程序运行后输出结果是()voidmain()chara10=*xOxOO*;printf(*%d%dn*,sizeof(八),strlen(八));return0;A)1010B)102C)101D)1113 .以下程序段中,不能正确为字符串赋值的是()A)chart口="abc"B)chart4="abc"C)chart4;Strcpy(t,*abc*);D)chart4;t=*abc*;14 .有如下程序段int*p,a=l,b=2;p=&b;b=*p+a;执行该程序段后,a、b的值分别为()A)12B)13C)21D)3115 .若有定义:intn=l,m=2>*p=&n,*q=m;,则以下非法的赋值语句是()A)p=q;B)*p=*q;C)p=m;D)*q=n:16 .下面函数的功能是()intfun(char*a,char*b)intm=0,n=O;while(*a!=>0,)m+;a+;while(*b!='O')n+;b+;return(m-n);)A)计算a和b所指字符串的长度之差B)比较a和b所指字符串的大小O将b所指字符串连接到a所指字符串后面D)将b所指字符串连接到a所指字符串中17 .下面程序的输出是()intmainOinta10=0,1,2,3,4,5,6,7,8,9,*p=a;printf(,%c1,*(p+1);return0;A)OB)1C)2D)318 .以下叙述中正确的是()A)输入项可以是一个实型常量,例如:scanf(*%f*,3.5);B)只有格式控制,没有输入项,也能正确输入数据,例如:SCanf("a=%d,b=%d");C)输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(*%4.2f",&f);D)输入数据时,必须指明变量地址,例如:scanf%f);19 .以下哪个函数的运行不可能影响实参的数据()voidfl(charx)B)voidf2(charx)C)voidf3(char*x)D)voidf4(char*x)20 .若有定义:charc;能正确判断出c为小写字母的表达式是(A),a,<=c<='z'B)(c>=,a,)ll(c<='z')C)(*a,<=c)and('z>>=c)D)(c>='a')&&(c<='z')21 .以下程序的输出结果是()# include<stdio.h># include<math.h>intmainOinta=l,b=4,c=2;floatx=10.5,y=4.0,z;z=(a+b)c+sqrt(double)y)*l.2/c+x;printf(*%fn*,z);return0;A)14.000000B)015.400000C)13.700000D)14.90000022 .已有定义:Chara口="happy”,b='h','a','p','p','y'以下叙述中正确的是()A)a数组长度大于b数组长度B)a数组长度小于b数组长度O数组a和b的长度相同D)上述说法都不对23 .以下不正确的叙述是()在C程序中,ABC和abc是两个不同的变量B)在C程序中,逗号运算符的优先级最低O从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值D)如果变量a和变量b类型相同,在执行了赋值语句“a=b;"后b中的值将放入a中,而b中的值保持不变24 .在定义一个结构体变量时,系统分配给它的存储空间是()该结构体中所有成员所需存储空间的总和B)该结构体中第一个成员所需存储空间O该结构体中最后一个成员所需存储空间D)该结构体中占用最大存储空间的成员所需存储空间25 .以下正确的函数定义是()A) doublef(intx,inty)z=x+y;returnz;B) f(intx,y)intz;returnz;C) f(x,y)intx,y;doublez;z=x+y;returnz;D) doublef(intx,inty)doublez;z=x+y;retrunz;26 .若有定义intx,y,t;,则执行语句x=y=3;t=+x|+y;后,y的值为()A)0B)lC)3D)427 .下面的程序()intmainOinta=5,b=0,c=0;if(a=b+c)printf(*n");elseprintf(*$*);return0:A)有语法错不能通过编译B)可以通过编译但没有运行结果C)输出*D)输出$28 .在C语言中,函数返回值的类型最终取决于()retum语句中表达式值的类型B)函数定义时在函数首部所说明的函数类型C)调用函数时主函数所传递的实参类型D)函数定义时形参的类型29 .函数fopen("my.txt",")的作用是()A)为读打开一个文本文件B)为写打开一个文本文件O为读打开一个二进制文件D)为写打开一个二进制文件30 .设有定义:structchara10;intb;doublec;sl,s2;,若变量均已正确赋值,则以下语句中错误的是()A)sl=s2:B)sl.a=s2.a;C)si.b=s2.b;D)sl.c=s2.c;二、读程序,写出运行结果(每小题5分,共50分)(答案写在题目右侧)1 .下面程序的输出结果是:Jtinclude<stdio.h>intmain()inti=l;for(;i<=10;i+)if(i%3!=2)continue;printf(*%d",i);return0;2 .下面程序的输出结果是:intmain()inti,j,k=0:for(i=10,j=O;i>=j;i-,j+)k+=i+j;Printf("%dn”,k);return0;3 .下面程序的输出结果是:intmain()inta=100,X=I0,y=20,ok1=5,ok2=0;if(x<y)if(y!=10)if(!okl)a=l;elseif(ok2)a=10:a=-l:Printf("%dn”,a);return0;4 .下面程序的输出结果是:intmain()intf=l,a=0,b=0;switch(f)case0:b+;case 1: a+;case 2: a+;b+;)printf(*a=%d,b=%dn”,a,b);return0;j5 .下面程序的输出结果是:#include<string.h>voidfun(char*s,intn,intk)inti;for(i=n;i<k-l;i+)si=si+2;intmainOchars="abcdefg”;fun(s,3,strlen(三);puts(三);return0;6 .下面程序的输出结果是:#include<stdio.h>voidsub(intx,intyfint*z)*z=-y;)intmain()inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(z,%4d,%4d,%4dn",a,b,c);return(0);7 .下面程序的输出结果是:longf(intn)longc;if(n=0n=l)c=l;elsec=f(11-l)*n;returnc;voidmainOprintf("%ldr,f(3);8 .下面程序的输出结果是:voidfl(int*p)intt;t=*p;*p=*(p+l);*(p+l)=t;)voidf2(intx,inty)intt;t=x;x=y;y=t;voidmain()inta2=0,2,b2=l,5;fl(八);f2(b0,bl);printfC%d%d%d%dn*,a0,al,b0,bl);)9 .下面程序的输出结果是:#include<stdio.h>intmain()voidf(int*p,intn);inta=3,5,8,9,6,i;f(a,5);for(i=0;i<5;i+)printf(*%d”,ai);return0;)voidf(int*p,intn)inti,j,k,t;for(i=0;i<n-l;i+)k=i;for(j=i+l;j<n;j+)if(pj<pk)k=j;if(k!=i)t=pk;pk=pi;pi=t;)10 .下面程序的输出结果是:voidfund(inti);voidfunc2(inti);charst="hello,friend!”;voidfund(inti)Printf("%c”,sti);if(i<3)i+=2;func2(i);)voidfunc2(inti)printf(,%c*,sti);if(i<3)i+=2jfuncl(i);)voidmainOinti=0;fund(i);Printf("n");三.编程题(每题10分,共20分)1 .输入m个数,求其最大数、最小数和平均值。2 .编写一个函数fun,实现在一个整型维数组中查找某数是该数组中第几个元素的功能。要求:若要查找的数是数组中的元素则返回元素下标值,若不是则返回T;再编写一个主函数,实现:输入整型数组a10所有元素的值,以及需要查找的整数,并利用fun函数查找输入的整数是否在数组a中,着在则输出该数下标值,否则输出“Nofound"o选择题(4营题1分,共30分)2-5CABBC6-10AABCD11-15CBDBC16-20ABDAD21-25CACAD26-30CD.BBB二、读程序,写出运行结果(每小题5分,共50分)根据学生对程序的理解程度,适当给扣分。1. 2582. 603. -14. a=2,b=l5. abcfg6. 5,2,37. 68. 20159. 35689)10. hlo三.编程题(每题10分,共20分)根据学生对程序的理解程度,适当给扣分。2.输入In个数,求其最大数、最小数和平均值。参考程序1:intmain()intm,i;floatmax,min.ave,a;Printf("请输入要计算的个数:,);SCanfr'%d",&m);确定输入数的个数不使用数组,需要用第一个数初始化max,min,ave三个变量PrintfC请输入第一个数:n");scanf("%f',a);max=a;min=a;ave=a;Printf("请输入余下的数:n');for(i=l;i<m;i+)scanf("%f'.&a);ave+=a;max=(max>a)?max:a:min=(min<a)?min:a;)Printf("最大值f,最小值f,平均值fn”,max.min,avem);return0;)参考程序2;#detmeM100intmain()intm,i;floatnum(M,max,min.sum=0.average;定义一个足够大的数组scanf('%d",&m);for(i=0;i<m;i+)scanf("%f',&numi);max=num(0;min=num0;for(i=0;i<m;i+)if(numi>max)max=numi;if(numi<min)min=numi;sum+=numi;)average=sum/m;PrintfC最大值fn",max);PrinIf("最小值fn",min);Printf("平均%fn,',average);returnO:)2.编写一个函数fun,实现查找某数是否在一个整型一维数组中的功能。要求:若要查找的数是数组中的元素则返回元素1,若不是则返回0:再编写一个主函数,实现:输入整型数组a10所有元素的值,以及需要查找的整数,并利用fun函数查找输入的整数是否在数组a中,若在则输出该数,否则输出“Nofound”。intfunl(inta,intn,intt)/方法1inti;for(i=0;i<n;i+)if(ai=t)return1;return0;)voidsort(intb,intn)(inti,j,t:for(i=0;i<n-l;i+)for(j=0;j<n-i-l;j+)if(bj>bj+l)t=bj;bj=bj+l;bj+l=t;)intfun2(inta,intn,intt)方法2intleft,right,mid;Ieft=O;right=n-l;while(left<=right)(mid=(left+right)2;if(amid=t)return1;elseif(amid<t)left=mid+1;elseright=mid-1;)/if(left>right)returnO;)intmainO(inti,a10,n,x;for(i=0;i<10;i+)scanf(*%d*,&ai);SCanf("1",&x);/sort(a,10);for(i=0;i<10;i+)printf("%d",ai);Printf("n");n=funl(a,10>x);if(n=l)Printf("i",x);elseprintf(z,Nofound");return0;一、单项选择题(rX40=40分)1 .下面哪种方法不能用来描述算法:【】A)自然语言B)流程图C)数据结构D)计算机语言编写的程序2 .以下叙述中错误的是【】A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接之后才能形成个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCn代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令3 .按照C语言规定的用户标识符命名规则,不能出现在标识符中的是【】A)大写字母B)连接符O数字字符D)下划线4 .以下不合法的用户标识符是【】A)j2_KEYB)doubleC)f4dD)_8_5 .以下叙述中错误的是【】A)C程序必须由个或个以上的函数组成B)函数调用可以作为一个独立的语句存在。若函数有返回值,必须通过reum语句返回D)函数形参的值也可以传回给对应的实参6 .对于一个正常运行的C程序,以下叙述中正确的是【】A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束O程序的执行总是从main函数开始,在程序的最后个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束7 .以下叙述中正确的是【】A)预处理命令行必须位于C源程序的起始位置B)在C语言中,预处理命令行都以*'开头。每个C程序必须在开头包含预处理命令行:#include<stdio.h>D)C语言的预处理不能实现宏定义和条件编译的功能8 .以下叙述不正确的是【】A)分号是C语言的必要组成部分B)C程序的注释可以写在语句的后面C)函数是C程序的基本单位D)主函数的名字不一定用main表示9 .下列说法不正确的是A)定义变量必须要有数据类型B)任何变量必须先定义后使用C)所有的变量定义时系统并不分配相应的内存,而是在使用的时候才分配D)常量可以减值给一个变量10 .设有定义:inik=0;,以下选项的四个表达式中与其他三个表达式执行后k值不相同的是【】A)k+B)k+=1C)+kD)k+111 .以下叙述中正确的是【】A) break语句只能用于SWiteh语句体中B) continue语句的作用是:使程序的执行流程跳出包含它的所有循环C) break语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用相同12 .在C语言中,函数返回值的类型最终取决于【】A)函数定义时在函数首部所说明的函数类型B)retum语句中表达式值的类型C)调用函数时上函数所传递的实参类型D)函数定义时形参的类型13 .已知大写字母A的ASCn码是65,小写字母a的ASCn码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是【】A)c=tolower(c)*IoloWer()是将大写字母转换为小写字母的函数/B)c=c+32C)C=C-'A'+'a'D)c=('A'+c)-'a'14 .下面结构体的定义语句中,错误的是:【】A) structstudentcharname20;charsex;image:;structstudentsI;B) structstudentcharname20:charsex;intage;structstudents1:C) structstudentcharnane20;charsex;intage;si;D) structcharname20;charsex;intage;si;15 .设有定义:char*p;以下选项中能够使字符型指针P正确指向个字符串的是:【】A)charstr=',China,p=slrO;B)SCanf("%s”,p);C)p=getchar();D)p=',string,;16 .阅读以下程序#include<stdio.h>voidmain()intcase:floatprintF;PrintfC请输入2个数:w);scanf(4t%d%f,&case,&printF);printf(u%d%f,.case,printF);I该程序在编译时出现错误,其出错原因是:【】A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,PrinIF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,prinif不能输出CaSe的值17 .表达式3.6-5/2+1.2+5%2的值是【】A)4.3B)4.8C)3.3D)3.818 .SaCnIr%s%d,%f飞,&i,&D,要想S=mCumtb,i=30,f=5.0;下面哪种输入方式能使变量得到正确的结果:【】A)cumtb305B)Cumtb305.0C)Cumtb30,5D)cumtb30.05.019 .以下数组定义中错误的是【】A)intX口3=(0);B)intX23=1,2,3,4,5,6):C)intX3=U1.2,3),(4,5,6;D)intX23=1,2,3,4,5,6:20 .定义数组inta10,若整型类型变量长度是2个字节,数组a的首地址是0,则&a5的值是:【】A)5B)10C)6D)1221 .要求通过while循环不断读入字符,当读入字母N时结束循环。以下正确的是(JA)WhilC(Ch=gelchar()!=fN')printf("%c,',ch);B)while(ch=getchar()!=jN,)printf("%c",ch);C)while(ch=getchar()=,N,)printf(,'%c",ch);D)While(Ch=getchar()='Nr)printf("%c".ch);22 .若已定义X和y为d。UbIe类型,则表达式x=l,y=x+3/2的值是【】A)IB)2C)2.0D)2.523 .若有说明语句:float*p.a;则能通过scanf语句正确给输入项读入数据的程序段是【】A)*p=&a;SCanfC%F,&P);B)*p=&a;SCanf("%',p);C)p=&a:scanf("f),*p);D)p=&a;SCanf("%f',p);24 .若有以下语句,则对a数组元素的引用不正确的是(0Wi9)inta10=0,l,2,3.4,5,6.7,8,9.*p=a;A)ap-aB)*(&ai)C)piD)»(*(a+i)25 .若有语句int*point.a=4:和Point=&a:下面均代表地址的一组选项是【】A)a,point.*&aB)&*a,&a,*pointC)*&point»*point,&aD)&a.&*point,point26 .在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是【1A)地址传递B)单向值传递O由实参传形参,再由形参传实参D)传递方式由用户指定27 .设变量a是ini型,f是float型,i是d。Uble型,则表达式10+za,+i*f值的数据类型为【】A)intB)floatC)doubleD)不确定28 .能正确表示逻辑关系:”a210或aW0"的C语言表达式是【】A)a>=10ora<=0B)a>=0a<=10C)a>=10&&a<=0D)a>=10Ila<=029 .若变量a,i已正确定义,且i已正确赋值,合法的语句是【】A)a=1;B)+i;C)a=a+=5;D)a=int(i);30 .设以下变量均为int类型,表达式的值不为7的是【】A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6.x+l,y=6,x+y)D)(y=6,y+l,x=y,x+l)31 .若变量a是int类型,并执行了语句:a=rA'+1.6;,则正确的叙述是【】A)a的值是字符CB)a的值是浮点型C)不允许字符型和浮点型相加D)a的值是字符'A'的ASCn值加上I32 .执行语句for(i=l;i+<4;);后变量i的值是【】A)3B)4C)5D)不定33 .若变量C为Char类型,能正确判断出C为小写字母的表达式是【】A)fa,<=c<=,z,B)(O='a')(c<=,z,)C)('a'<=c)and('z>=c)D)(c>='a')&&(c<=934 .有以下程序main()inti,s=0:for(i=l;i<10;i+=2)s+=i+l;printf(%dnw,s):程序执行后的输出结果姑1A)自然数19的累加和B)自然数110的累加和C)自然数19中的奇数之和D)自然数110中的偶数之和35 .若有说明:inta3=1,2,3,4,5,6,7;则a数组第一维的大小(长度)是【】A)2B)3C)4D)无确定值36 .以下不正确的定义语句是【】A) doublex5=2.0.4.0,6.0,8.0.10.0);B) inly5,3=0,l,3,5,7,9;C) charci口='1','2','3','4','5'):D) charc2=,xl,xa,x8'):37 .设x=25,a=7,y=4.7,则表达式x+a%3*(int)(x+y)%24的值为【】A.0B.2.5C.3.5D.4.538 .设定义inta.b:SCanfra=%db=%d&a.&b);若要a获得3,b获得7,则输入格式为【】A.37B3,7Ca=3b=7D3(回车符)739 .设a=3,b=4,c=5则逻辑表达式!(a+b)+c-l&&b+c/2的值为A.1B.0C.6D.740 .若有定义inla=l,b=2,c=3;以下语句中执行效果与其它三个不同的是:【】A)if(a>b)c=a,a=b,b=c;B)if(a>b)c=a,a=b.b=c;)C)if(a>b)c=a;a=b;b=c;D)if(a>b)c=a;a=b;b=c;二、写出程序运行结果。(每题3分,共30分)I.有以下程序fun(inix.inty,intz)z=x*y;main()inta=4,b=2,c=6;fun(a,b,c);printf(,'%d,c);2 .执行下述程序时,若从键盘输入6和8时,输出结果为:main()(inta,b,s;scanf(*%d%d*,a,&b):s=a;if(a<b)s=b:s*=s;printf(*%d*ts);3 .main()(floatc,f;SCanfr%,&f);c=59*(f-32);Printf(“摄氏温度为:%5.2fn,c);I若输入78,则运行结果为:4 .main()(inti,j,k;for(i=0;i<=2;i+)(for(j=0;j<=2-i;j+)PrintfC");/*双引号中是一个空格for(k=0;k<=2*i;k+)PriiHfr*");PrintfCn");)5 .有如下程序:main()intx=1,a=O,b=O:switch(x)(case0:b+;case 1: a+;case 2: a+;b+;)printf("a=%d,b=%dn",a,b);6. 有以下程序main()(inti=l,j=1.k=2;if(j+k+)&&i+>printf("%d,%d.%dn",i,j,k);7. main()(charb="Helloyou";b5J='O':printf(,%sn",b);8. #include<stdio.h>voidmain()intx=20;printf("%d,%dn",0<x<20,0<x&&x<20);9.#include<sldio.h>voidmain()(inta11=l,2,3,4,5);inty=0,x,*p;p=a;for(x=0;x<3;x+)y+=*(p+x);printf("%dn",y);I10. 有以下程序voidswapl(intc)intt;t=c0c0=cljcl=t:)voidswap2(intc,intcl)Iintt:t=cjc=cl:cl=t;main()(inta2=3,5,b2=3,5:swal(八);swap2(b0,bl);printf(4*%d%d%d%dnw,a0,al,bO,bl);)三、填空题(共10分)1 .若a=5,b=3则执行条件表达式temp=(a>b)?a:b后,temp的值是:【)2 .设原来a=12;a*=2+3;则a=3 .假设P指向一个数组,则Prinlfr%d",*p+)的作用是:【】4 .structdatainti;charc;floatf;n;则结构变量n占用内存的字节数是【】5 .如果在程序中使用了gelchar()、PUlChar()函数,则必须在文件的开头加入的命令【1四、编程题(共20分)1 .求100-200中的全部素数。2 .从键盘输入20个整数,存储到一个整型一维数组a20中。要求:(1)编写一函数inifind(intx,inib20J)°实现给定x,找出该数X是数组b中第几个元素的值,并返回该元素的下标。如果该数不在数组中,则返回(2)调用上述函数,实现给定X,将数组中值为X的元素的数值清零,并说明X是数组b中第几个元素的值,并返回该元素的下标。如果X不在数组中,则返回-1。参考答案15CDBBD6ToABDCD11-15CADBD1620ADCBB2125ACDDD2630BCDBC3135DCDDB3640BBCAC1. 62. 643. 0.004. *5. a=2,b=l6. 2,2,27. Hello8. 1.O9. 610. 5335一、选择题(ITo每鹿1分,11-30每题1.5分,共40分)1 .下列选项中,可以作为用户标识符的是A)intB)8_catC)_a_0D)a+b2 .以下定义语句,有错误的是:A)chara=,x,;B)chara=,0,;C)chara='mn'D)chara='9,;3 .设有定义:intx=2;以下表达式中值不为6的是:A)X*=x+1B)X+,2*xC)X*=(l+x)D)2*x,x+=24 .有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是:A) a%(int)(x-y)B) a=x!=yC) (a*y)%bD) y=x+y=X5 .以下选项中能表示一个合法常量的是:A)整数:1,200B)实数:-3.5e2.0C)字符斜杠:1VD)字符串:M07”6 .以下是While语句的一般形式:WhiIe(表达式)语句其中关于“表达式”的说明正确的是:A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式7 .若用数组名作为函数调用的实参,则传递给形参的是:A)数组的首地址B)数组的第一个元素的值C)数组中全部元素的值D)数组元素的个数8 .在定义二维数组inta23;之后,对a的正确引用是:A)a24B)a20C)a00D)a0,09 .下列语句中正确的是:A)char*str;str="CUMTB”;B)charstr20;str="CUMTB”;C)char*str;str=''CUMTB''D)charstr20;str=''CUMTB"10 .设有定义inta110,*p=a;以下能够代表数组元素a的是:A)a+4B)*(p+4)C)*a+4D)*p+411 .有如下程序#include<stdio.h>voidmain()charcl,c2;cl=,a'+'6,-,2,;c2='a'+,6'-13,;printf("%c,%dn",cl,c2);)己知字母a的ASCII码是97,则程序运行后的输出结果是:A)e,100B)d,101C)e,dD)无确定输出结果12 .表达式a+=a-=a=9的值是:A)9B)-9C)18D)013 .有以下程序#include<std