第六章试题归类.docx

上传人:b****5 文档编号:7401764 上传时间:2023-05-11 格式:DOCX 页数:34 大小:30.04KB
下载 相关 举报
第六章试题归类.docx_第1页
第1页 / 共34页
第六章试题归类.docx_第2页
第2页 / 共34页
第六章试题归类.docx_第3页
第3页 / 共34页
第六章试题归类.docx_第4页
第4页 / 共34页
第六章试题归类.docx_第5页
第5页 / 共34页
第六章试题归类.docx_第6页
第6页 / 共34页
第六章试题归类.docx_第7页
第7页 / 共34页
第六章试题归类.docx_第8页
第8页 / 共34页
第六章试题归类.docx_第9页
第9页 / 共34页
第六章试题归类.docx_第10页
第10页 / 共34页
第六章试题归类.docx_第11页
第11页 / 共34页
第六章试题归类.docx_第12页
第12页 / 共34页
第六章试题归类.docx_第13页
第13页 / 共34页
第六章试题归类.docx_第14页
第14页 / 共34页
第六章试题归类.docx_第15页
第15页 / 共34页
第六章试题归类.docx_第16页
第16页 / 共34页
第六章试题归类.docx_第17页
第17页 / 共34页
第六章试题归类.docx_第18页
第18页 / 共34页
第六章试题归类.docx_第19页
第19页 / 共34页
第六章试题归类.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第六章试题归类.docx

《第六章试题归类.docx》由会员分享,可在线阅读,更多相关《第六章试题归类.docx(34页珍藏版)》请在冰点文库上搜索。

第六章试题归类.docx

第六章试题归类

(基础题)

一、选择题

(227)若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是

   A)a,point,*&a

   B)&*a,&a,*point

   C)*&point,*point,&a

   D)&a,&*point,point

A

(246)下面说明不正确的是

  A)chara[10]="china";

  B)chara[10],*p=a;p="china"

  C)char*a;a="china";

  D)chara[10],*p;p=a="china"

C

(251)有以下函数

  charfun(char*p)

  {returnp;}

  该函数的返回值是

  A)无确切的值

  B)形参p中存放的地址值

  C)一个临时存储单元的地址

  D)形参p自身的地址值

B

(256)若说明int*p,n;则通过语句scanf能够正确读入数据的程序段是

  A)p=&n;scanf("%d",&p);

  B)p=&n;scanf("%d",*p);

  C)scanf("%d",n);

  D)p=&n;scanf("%d",p);

D

(268)设有定义:

intn=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是

  A)p=1;

  B)*q=2;

  C)q=p;

  D)*p=5;

D

(270)下面程序的输出结果是

  main()

  {inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

  printf("%d\n",*(p+2));}

  A)3

  B)4

  C)1

  D)2

A

(271)有如下程序

  inta[10]={1,2,3,4,5,6,7,8,9,10};

  int*p=&a[3],b;b=p[5];

  则b的值是

  A)5

  B)6

  C)9

  D)8

C

(426)现有如下定义:

inta,b,*p,*q;,则下列赋值语句错误的是

  A)p=&a;

  B)q=&b;

  C)p=q;

  D)p=a;

D

(427)现有如下程序段

  #include"stdio.h"

  int*fun(int*a,int*b)

  {intc;

  c=*a%*b;

  return&c;}

  main()

  {inta=5,b=19,*c;

  c=fun(&a,&b);

  printf("%d\n",++*c);}

  则程序段执行后的结果为

  A)8

  B)7

  C)6

  D)5

C

(428)现有inta,*b;,b=&a;,则下列运算错误的是

  A)*&a 

  B)&*a

  C)*&b

  D)&*b

B

(430)现有如下定义语句

  int*p,s[20],i;

  p=s;

  表示数组元素s[i]的表达式不正确的是

  A)*(s+i)

  B)*(p+i)

  C)*(s=s+i)

  D)*(p=p+i)

C

(436)有下面程序段

  #include"stdio.h"

  #include"string.h"

  main()

  {chara[3][20]={{"china"},{"isa"},{"bigcountry!

"}};

  chark[100]={0},*p=k;

  inti;

  for(i=0;i<3;i++)

  {p=strcat(p,a[i]);}

  i=strlen(p);

  printf("%d\n",i);}

  则程序段的输出结果是

  A)18

  B)19

  C)20

  D)21

B

(465)下列不合法的指针变量的定义是

  A)int*_k;

  B)char*_245;

  C)int*p;

  D)double*5_is

D

(466)下列关于指针变量赋空值的说法错误的是

  A)当赋空值的时候,变量指向地址为0的存储单元

  B)赋值语句可以表达为变量名=′\0′;

  C)赋值语句可以表达为变量名=0;

  D)一个指针变量可以被赋空值

A

(468)阅读下面程序,则输出结果是

  #include"stdio.h"

  voidfun(int*a,int*b)

  {intc=20,d=25;

  *a=c/3;

  *b=d/5;}

  main()

  {inta=3,b=5;

  fun(&a,&b);

  printf("%d,%d\n",a,b);}

  A)6,5

  B)5,6

  C)20,25

  D)3,5

A

(474)现有如下程序段

  #include"stdio.h"

  voidfun(int*a,int*b,int*c)

  {*c=*a+*b;}

  main()

  {inta[2]={12,23},c;

  fun(a,a+1,&c);

  printf("%d\n",c);}

  则程序的输出结果为

  A)23

  B)12

  C)0

  D)35

D

(477)阅读下面程序,则执行后的结果为

  #include"stdio.h"

  main()

  { char*str="abcdefghijklmnopq";

  while(*str++!

=′e′);

  printf("%c\n",*str);}

  A)f

  B)a

  C)e

  D)q

A

(503)现有定义inta=10,*p=&a;则不能使a的内容增1的语句是

  A)*p++;

  B)*p=*p+1;

  C)++*p;

  D)*p+=1;

A

(510阅读下面程序,则程序的输出结果为

  #include"stdio.h"

  main()

  {intc[]={1,2,3,4,5,6};

  int*p;

  p=c;

  printf("%d,",*p);

  printf("%d\n",*++p);}

  A)1,2

  B)2,1

  C)1,1

  D)2,2

A

145下面程序的输出结果是____。

    #include

    char*p="abcdefghijklmnopq";

    main()

    {inti=0;

     while(*p++!

='e');

      printf("%c\n",*p);

    }

A)cB)dC)eD)f

D

146下面程序的输出结果是____。

    #include

    f(intx,inty)

    {return(y-x);

    }

    main()

    {inta=5,b=6,c;

     intf(),(*g)()=f;

     printf("%d\n",(*g)(a,b));

    }

A)1B)2C)3D)前面三个参考答案均是错误的

A

147下面程序的输出结果是____。

    #include

    main()

    {inta=1,*p,**pp;

     pp=&p;

     p=&a;

     a++;

     printf("%d,%d,%d\n",a,*p,**pp);

    }

A)2,1,1B)2,1,2C)2,2,2D)程序有错误

C

148下面程序的输出结果是____。

    main()

    {char*alpha[7]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX","YZ"};

     char**p;

     inti;

     p=alpha;

     for(i=0;i<4;i++)

      printf("%c",*(p[i]));

     printf("\n");

    }

A)AEIMB)BFJNC)ABCDD)DHLP

A

149下面程序的输出结果是____。

    #include

    char*pp[2][3]={"abc","defgh","ijkl","mnopqr","stuvw","xyz"};

    main()

    {printf("%c\n",***(pp+1));/*①*/

     printf("%c\n",**pp[0]);/*②*/

     printf("%c\n",(*(*(pp+1)+1))[4]);/*③*/

     printf("%c\n",*(pp[1][2]+2));/*④*/

     printf("%s\n",**(pp+1));/*⑤*/

    }

①A)aB)dC)iD)m

②A)aB)dC)iD)m

③A)hB)lC)qD)w

④A)kB)oC)uD)z

⑤A)ijklB)mnopqrC)stuvwD)xyz

DADDB

(530下面函数的功能是

  char*fun(char*str1,char*str2)

  {while((*str1)&&(*str2++=*str1++));

  returnstr2;

  }

  A)求字符串的长度

  B)比较两个字符串的大小

  C)将字符串str1复制到字符串str2中

  D)将字符串str1接续到字符串str2中

C

(277)执行以下程序后,a,b的值分别为

  main()

  {inta,b,k=4,m=6,*p1=&k,*p2=&m;

  a=p1==&m;

  b=(*p1)/(*p2)+7;

  printf("a=%d\n",a);

  printf("b=%d\n",b);

  }

  A)-1,5

  B)1,6

  C)0,7

  D)4,10

C

(247)以下程序的输出结果是

  #include

  voidprt(int *x,int *y,int *z)

  {printf("%d,%d,%d\n",++*x,++*y,*(z++));}

  main()

  {inta=10,b=40,c=20;

  prt(&a,&b,&c);

  prt(&a,&b,&c);}

  A)11,42,31

    12,22,41

  B)11,41,20

    12,42,20

  C)11,21,40

    11,21,21

  D)11,41,21

    12,42,22

D

(254)设有如下定义:

  strucksk

  {inta;

  floatb;

  }data;

  int*p;

  若要使P指向data中的a域,正确的赋值语句是

  A)p=&a;

  B)p=data.a;

  C)p=&data.a;

  D)*p=data.a;‘

C

(262)以下程序的输出是

  structst

  {intx;int*y;}*p;

  intdt[4]={10,20,30,40};

  structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0]};

  main()

  {p=aa;

  printf("%d\n",++(p->x));

  }

  A)10

  B)11

  C)51

  D)60

C

(275)下列程序的输出结果是

  intb=2;

  intfunc(int*a)

  {b+=*a;return(b);}

  main()

  {inta=2,res=2;

  res+=func(&a);

  printf("%d\n",res);

  }

  A)4

  B)6

  C)8

  D)10

B

(276)下面能正确进行字符串赋值操作的是

  A)chars[5]={"ABCDE"};

  B)chars[5]={′A′,′B′,′C′,′D′,′E′};

  C)char*s;s="ABCDE";

  D)char*s;chara;scanf("%s",&s)

C

(292)以下程序有错,错误原因是

  main()

  {int*p,i;char*q,ch;

  p=&i;

  q=&ch;

  *p=40;

  *p=*q;

  ......

  }

  A)p和q的类型不一致,不能执行*p=*q;语句

  B)*p中存放的是地址值,因此不能执行*p=40;语句

  C)q没有指向具体的存储单元,所以*q没有实际意义

  D)q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果

D

(304)若有说明:

int*p,m=5,n;以下正确的程序段是

    A)p=&n;scanf("%d",&p);

    B)p=&n;scanf("%d",*p)

    C)scanf("%d",&n);*p=n;

    D)p=&n;*p=m;

D

(331)下面判断正确的是

    A)char*a="china";等价于char*a;*a="china";

    B)charstr[5]={"china"};等价于charstr[]={"china"};

    C)char*s="china";等价于char*s;s="china";

    D)charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";

C

(356)若有下面的程序片段:

  int[12]={0},*p[3],**pp,i;

  for(i=0;i<3;i)

  p[i]=&a[i*4];

  pp=p;

  则对数组元素的错误引用是

  A)pp[0][1]

  B)a[10]

  C)p[3][1]

  D)*(*(p+2)+2)

C

(363)有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。

则不能把结点b连接到结点a之后的语句是

  structnode

  {chardata;

  structnode*next;

  }a,b,*p=&a,*q=&b;

  A)a.next=q;

  B)p.next=&b;

  C)p->next=&b;

  D)(*p).next=q;

B

(281)若有以下程序

  #include 

  inta[]={2,4,6,8};

  main()

  {inti;

  int*p=a;

  for(i=0;i<4;i++)a[i]=*p;

  printf("%d\n",a[2]);

  }

  上面程序输出结果是

  A)6

  B)8

  C)4

  D)2

D

(315)下面程序段的运行结果是

    chara[]="lanuage",*p;

    p=a;

    while(*p!

=′u′){printf("%c",*p-32);p++;}

    A)LANGUAGE

    B)language

    C)LAN

    D)langUAGE

C

(316)下面程序段的运行结果是

    charstr[]="ABC",*p=str;

    printf("%d\n",*(p+3));

    A)67

    B)0

    C)字符′C′的地址

    D)字符′C′

B

(328)下列程序的输出结果是

    main()

    {inta[5]={2,4,6,8,10},*p,**k;

    p=a;

    k=&p;

    printf("%d",*(p++));

    printf("%d\n",**k);

    }

    A)4

    B)22

    C)24

    D)46

C

(330)下面程序段的运行结果是

    char*p="abcdefgh";

    p+=3;

    printf("%d\n",strlen(strcpy(p,"ABCD")));

    A)8

    B)12

    C)4

    D)7

C

142下面程序的输出结果是____。

    #include

    main()

    {inta[]={1,2,3,4,5};

     intx,y,*p;

     p=&a[0];

     x=*(p+2);

     y=*(p+4);

     printf("%d,%d,%d\n",*p,x,y);

    }

A)1,3,5B)1,2,3C)1,2,4D)1,4,5

A

143下面程序的输出结果是____。

    voidive(x,n)

    intx[],n;

    {intt,*p;

     p=x+n-1;

     while(x

      {t=*x;

       *x++=*p;

       *p--=t;

      }

     return;

    }

    main()

    {inti,a[]={1,2,3,4,5,6,7,8,9,0};

     ive(a,10);

     for(i=0;i<10;i++)

      printf("%d",a[i]);

     printf("\n");

    }

A)1234567890B)0987654321

C)1357924680D)0864297531

B

(337)以下定义中,标识符prtint(*prt)[3]

    A)定义不含法

    B)是一个指针数组名,每个元素都是一个指向整数变量的指针

    C)是一个指针,它指向一个具有三个元素的一维数组

    D)是一个指向整型变量的指针

D

338函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。

能正确执行此功能的函数是()。

A)funa(int*x,int*y){B)funb(intx,inty){

intt;intt;

*t=x;x=y;y=*t;t=x;x=y;y=t;

}}

C)func(int*x,int*y){D)func(int*x,int*y){

*x=*y;*y=*x;*x=*x+*y;*y=*x-*y;*x=*x-*y;

}}

D

(392)已知inta;则下面的说明指针变量p的语句正确的是

  A)intp=&a

  B)int*p=a

  C)int*p=&a

  D)int*p=*a

C

(400)阅读下列程序,则执行后的结果为

  #include"stdio.h"

  main()

  {intc[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};

  printf("%x,%x\n",c[2][2],*(*(c+1)+1));}

  A)3e,6

  B)62,5

  C)56,5

  D)3E,6

A

(535)设有如下定义

  char*s[2]={"abcd","ABCD"};

  则下列说法错误的是

  A)s数组元素的值分别是"abcd"和"ABCD"两个字符串的首地址

  B)s是指针数组名,它含有两个元素分别指向字符型一维数组

  C)s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素

  D)s数组的两个元素中分别存放了字符′a′和′A′的地址

C

(544)下列程序的运行结果是

  voidfun(int*a,int*b)

  {int*k;

  k=a;a=b;b=k;

  }

  main()

  {inta=2004,b=9,*x=&a,*y=&b;

  fun(x,y);

  printf("%d%d",a,b);

  }

  A)20049

  B)92004

  C)00

  D)编译时出错

A

619已知:

inta,*y=&a;则下列函数调用中错误的是____。

A)scanf("%d",&a);B)scanf("%d",y);

C)printf("%d",a);D)printf("%d",y);

D

621设有说明int(*p)[4];其中的标识符p是____。

A)4个指向整型变量的指针变量

B)指向4个整型变量的函数指针

C)一个指向具有4个整型元素的一维数组的指针

D)具有4个指向整型变量的指针元素的一维指针数组

C

624已知:

chars[6],*ps=s;则正确的赋值语句是____。

A)s="12345";B)*s="12345";C)ps="12345";D)*ps="12345";

C

622已知:

chars[10],*p=s,则在下列语句中,错误的语句是____。

A)p=s+5;B)s=p+s;C)s[2]=p[4];D)*p=s[0];

B

625已知:

chara[3][10]={"BeiJing","ShangHai","TianJin"},*pa=a;不能正确显示字符串"ShangHai"的语句是____。

A)printf("%s",a+1);B)printf("%s",*(a+1));

C)printf("%s",*a+1);D)printf("%s",&a[1][0]);

C

626已知:

inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

    int(*ptr)[3]=a,*p=a[0];

  则以下能够正确表示数组元素a[1][2]的表达式是____。

A)*(*(a+1)+2)B)*(*(p+5))C)(*ptr+1)+2D)*((ptr+1)[2])

A

627已知:

inta[

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2