您好,欢迎访问三七文档
单项选择==================================================下列结构体变量m的成员a的表示应该是__________。structxy{inta;doubleb;}m,*p;p=&m;p-am.ap-aA、xy.aB、m.aC、m-aD、*m.a答案:B下列关于指针的运算中,________是非法的。A、一个指针可以加上两个整数之差B、两个指针在一定的条件下,可以进行相等与不等的运算C、可以用一个空指针赋值给某个指针D、两个指针在一定的条件下,可以相加答案:D设变量定义为:”intd[]={1,2,3,4,5,6,7,8,9,10},*p=d;”,若要输出数组中的每个元素,________是正确的。A、for(inti=0;i10;i++)printf(”%d”,++(a[0]));B、for(inti=0;i10;i++)printf(”%d”,(a[0])++);C、for(inti=0;i10;i++)printf(”%d”,*(p++));D、for(inti=0;i10;i++)printf(”%d”,*++p);答案:C在inta=3,*p=&a;变量定义后,*p的值是________。A、无意义B、变量p的地址值C、变量a的地址值D、3答案:D有以下函数char(*fun)(char*p){returnp;}指向函数的指针变量该函数的返回值是_________。A、形参p自身的地址值B、一个临时存储单元的地址C、形参p中存放的地址值D、无确切的值答案:Cchara1[]=abc,a2[80]=1234;将a1串连接到a2串后面的语句是()。A、strcat(a1,a2);B、strcat(a2,a1);C、strcpy(a2,a1);D、strcpy(a1,a2);答案:B设有数组定义:chararray[]=China;则数组array所占的空间为()。A、5个字节B、7个字节C、4个字节D、6个字节答案:D定义如下变量和数组inti;intx[3][3]={{1,2,3},{4,5,6},{7,8,9}};则下面语句的输出结果是for(i=0;i3;i++)printf(“%d“,x[i][2-i]);A、369B、357C、147D、159答案:B以下不能对二维数组a进行正确初始化的语句是()。A、inta[2][3]={0};B、inta[2][3]={{1,2},{3,4},{5,6}};C、inta[][3]={{1,2},{0}};D、inta[][3]={1,2,3,4,5,6};答案:Bchara[]=Thisisa0rogram.;输出前5个字符的语句是()。A、printf(%s,a);B、a[10]=0;puts(a);C、printf(%.5s,a);D、puts(a);答案:C以下程序段的输出结果是pritnf(“%d\n”,strlen(“ATS\n\0\1\\”));A、8B、11C、10D、9答案:D对于定义,char*aa[2]={abcd,ABCD},选项中说法正确的是指针数组aa[0]-“abcd”aa[1]-”ABCD”A、aa数组元素的值分别是abcd和ABCDB、aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址C、aa数组的两个元素中各自存放了字符'a'和'A'的地址D、aa是指针变量,它指向含有两个数组元素的字符型一维数组答案:C若有定义语句:charc[5]={‘a’,’b’,’\0’,’c’,’\0’};,则执行语句pritnf(“%s”,c);的结果是A、abcB、ab\0cC、‘a’’b’D、ab答案:D若有chars1[]=abc,s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是()。A、if(strcmp(s2,s1)0)puts(s2);B、if(strcmp(s1,s2)0)puts(s2);C、if(strcmp(s1,s1)0)puts(s2);D、if(strcmp(s2,t)0)puts(s2);答案:B若有以下说明inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc=’a’,d,g;则数值为4的数组元素是A、a[4]B、a[g-c]C、a[‘d’-’‘c’]D、a[‘d’-‘a’]答案:DC语言结构体类型变量在程序执行期间()。A、部分成员驻留在内存中B、只有一个成员驻留在内存中C、所有成员一直驻留在内存中D、没有成员驻留在内存中答案:C以下对枚举类型名的定义中正确的是()。A、enuma{sum,mon,tue};B、enuma{sum,mon,tue};C、enuma={sum,mon,tue};D、enuma{sum=9,mon=-1,tue,wed};a=wed;printf(“%d”,a);答案:D当说明一个结构体变量时系统分配给它的内存是()。A、成员中占内存量最大者所需的容量共用体B、结构中最后一个成员所需内存量C、结构中第一个成员所需内存量D、各成员所需内存量的总和答案:D使用共用体变量,不可以()。A、同时访问所有成员B、进行动态管理C、简化程序设计D、节省存储空间答案:A在下列程序段中,枚举变量c1,c2的值依次是()。enumcolor{red,yellow,blue=4,green,white}c1,c2;c1=yellow;c2=white;printf(%d,%d\n,c1,c2);A、1,6B、1,4C、2,6D、2,5答案:A设有说明int(*ptr)[M];其中标识符ptr是()。int*ptr[M];A、M个指向整型变量的指针B、具有M个指针元素的一维指针数组,每个元素都只能指向整型量C、一个指向具有M个整型元素的一维数组的指针D、指向M个整型变量的函数指针答案:C下列语句定义pf为指向float类型变量f的指针,_____是正确的.A、floatf,pfB、floatf,*pf=&f;C、floatf,*pf=f;D、float*pf=&f,f;答案:B下面程序的输出结果是main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf(%d\n,*(p+2)a[2]);}A、2B、4C、3D、1答案:C若有说明:int*p,m=5,n;以下正确的程序段是()。A、scanf(%d,&n);*p=n;B、p=&n;n=m;C、p=&n;scanf(%d,p)D、p=&n;scanf(%d,&p);答案:B以下程序的输出结果是main(){chars[]=“ABCD”,*p;for(p=s;ps+4;p++)printf(“%s\n”,p);}A、B、C、D、答案:C以下程序的输出结果是main(){inta[]={2,4,6,8},*p=a,i;for(i=0;i4;i++)a[i]=*(p++);a[0]printf(“%d\n”,a[2]);}A、4B、8C、2D、6答案:Dchar*s1=hello,*s2;s2=s1;则()。A、s2指向不确定的内存单元B、s1不能再指向其它单元C、不能访问helloD、puts(s1);与puts(s2);结果相同答案:D变量的指针,其含义是指该变量的()。A、名B、地址C、一个标志D、值答案:B有定义:char*p1,*p2;则下列表达式中正确合理的是A、p1/=5B、p1+=5C、p1=&p2D、p1*=p2答案:B以下程序的输出结果是main(){inta[5]={2,4,6,8,10},*p,**k;p=a;k=&p;k-p-a[0]printf(“%d“,*(p++));a[0]printf(“%d\n”,*p);}A、46B、22C、24D、44答案:C填空==================================================若有数据类型定义如下:unionA{floata1;floata2;};则表达式sizeof(unionA)的值为________。答案:空1:4阅读下列程序,则程序的输出结果为_____。#includestdio.hstructty{intdata;charc;};main(){structtya={30,′x′};fun(a);printf(%d%c,a.data,a.c);}fun(structtyb)1转2分3传b.c=′y′;}答案:空1:B65若有定义inta[3][4]={1,2,3,4,5,6,7,8,9};,则a[1][3]=_____,a[2][3]=_____。答案:8空2:0以下程序的输出结果是_____。intast(intx,inty,int*cp,int*dp)x=4y=3cp=&cdp=&d{*cp=x+y;*dp=x-y;}main(){inta,b,c=7,d=1;a=4;b=3;ast(a,b,&c,&d);printf(“%d%d\n”,c,d);}答案:空1:71以下程序段的输出结果是_____。chars[20]=“gooddog!”,*sp=s;sp=sp+2;sp=“to”;puts(s);答案:空1:gooddog!【或】gooddog!
本文标题:C语言练习
链接地址:https://www.777doc.com/doc-2909097 .html