C语言课程的复习题2选择题Word文档下载推荐.docx

上传人:b****2 文档编号:4552605 上传时间:2023-05-03 格式:DOCX 页数:61 大小:29.69KB
下载 相关 举报
C语言课程的复习题2选择题Word文档下载推荐.docx_第1页
第1页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第2页
第2页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第3页
第3页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第4页
第4页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第5页
第5页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第6页
第6页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第7页
第7页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第8页
第8页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第9页
第9页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第10页
第10页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第11页
第11页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第12页
第12页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第13页
第13页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第14页
第14页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第15页
第15页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第16页
第16页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第17页
第17页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第18页
第18页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第19页
第19页 / 共61页
C语言课程的复习题2选择题Word文档下载推荐.docx_第20页
第20页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言课程的复习题2选择题Word文档下载推荐.docx

《C语言课程的复习题2选择题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言课程的复习题2选择题Word文档下载推荐.docx(61页珍藏版)》请在冰点文库上搜索。

C语言课程的复习题2选择题Word文档下载推荐.docx

j=&

i;

k=&

j;

printf(“%d\n”,**k);

上述程序的输出结果是

A)运行错误

B)100

C)i的地址

D)j的地址

608.若有定义:

inta[10],*p=a;

则p+5表示

A)元素a[5]的地址

B)元素a[5]的值

C)元素a[6]的地址

D)元素a[6]的值

609.若已定义:

inta[9],*p=a;

并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是

A)p+1

B)a+1

C)&

a[1]

D)p

610.若有定义:

inta[10];

则数组a中首元素的地址可表示为

A)a

a

D)&

611.请阅读程序:

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

{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

612.下面程序段的运行结果是

char*p=”%d,a=%d,b=%d\n”;

inta=123,b=10,c;

c=a%b;

p+=3;

printf(p,c,a,b);

A)3,a=123,b=10

B)a=3,b=123

C)a=123,b=10

D)以上结果都不对

613.以下程序的运行结果是

#include“stdio.h”

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

int*p=a+5,*q;

*q=*(p+5);

printf(“%d%d\n”,*p,*q);

A)运行后报错

B)611

C)610

D)55

614.阅读程序:

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

p=a;

printf(“%x\n”,p);

printf(“%x\n”,p+9);

该程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句输出结果是

A)203

B)204

C)1a4

D)1a6

615.以下程序的输出结果是

{chara[10]={'

1'

'

2'

3'

4'

5'

6'

7'

8'

'

9'

0},*p;

/*0即'

\0'

*/

inti;

i=8;

p=a+i;

printf(“%s\n”,p-3);

B)6789

C)'

D)789

616.已知指针p的指向如下图所示,则执行语句*--p;

后*p的值是

a[0]a[1]pa[2]a[3]a[4]

┌──┬──┬──┬──┬──┐

│10│20│30│40│50│

└──┴──┴──┴──┴──┘

A)30

B)20

C)19

D)29

617.下列程序的输出结果是

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

p;

printf(“%d”,*(p++));

A)44

B)22

C)24

D)46

C

618.以下程序段给数组所有的元素输入数据,请选择正确答案填入。

{inta[10],i=0;

while(i<

10)scanf(“%d”,______);

……}

A)a+(i++)

B)&

a[i+1]

C)a+i

a[++i]

619.设有以下语句,则______不是对a数组元素的正确引用,其中0≤i<10。

inta[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))

620.执行以下程序后,y的值是

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

inty=1,x,*p;

p=&

a[1];

for(x=0;

x<

3;

x++)

y+=*(p+x);

printf(“%d\n”,y);

A)17

B)18

D)20

621.若有以下的说明和语句,则在执行for语句后,*(pt[1])+2)表示的数组元素是

intt[3][3],*pt[3],k;

for(k=0;

k<

k)pt[k]=&

t[k][0];

A)t[2][0]

B)t[2][2]

C)t[l][2]

D)t[2][l]

622.以下程序的输出结果是

{inti,x[3][3]={9,8,7,6,5,4,3,2,

1},*p=&

x[1][1];

i+=2)printf(“%d”,p[i]);

A)52

B)51

C)53

D)97

623.若有下面的程序片段:

inta[12]={0};

*p[3],**pp,i;

i++)

p[i]=&

a[i*4];

pp=p;

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

A)pp[0][1]

B)a[10]

C)p[3][1]

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

624.下列程序执行后的输出结果是

{inta[3][3],*p,i;

a[0][0];

9;

i++)p[i]=i+1;

printf("

%d\n"

a[1][2]);

A)3

B)6

C)9

D)随机数

625.若已定义:

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

其中0≤i≤9,则对a数组元素不正确的引用为

D)a[10]

626.下面程序把数组元素中的最大值放入a[0]中。

则在if语句中的条件表达式应该是

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

10;

i++,p++)

if(____)*a=*p;

printf(“%d”,*a);

A)p>

B)*p>

a[0]

C)*p>

*a[0]

D)*p[0]>

627.下面程序段中,for循环的执行次数是

char*s=”\ta\018b\bc”;

for(;

*s!

=’\0’;

s++)printf(“*“);

A)9

B)5

C)6

D)7

628.下面程序段的运行结果是

char*s=”12345”;

s+=2;

printf(“%d”,s);

A)345

B)字符’3’

C)字符’3’的地址

D)无确定的输出结果

629.指针s所指字符串的长度为

Char*s=“\r\”Name\\Address\n”;

A)19

B)15

C)18

D)说明不合法

630.阅读程序片段:

charstr[]=“ABCD”,*p=str;

printf(“%d\n”,*(p+4));

上面程序片段的输出结果是

A)68

B)0

C)字符‘D’的地址

D)不确定的值

631.请阅读程序:

string.h>

{char*s1=“AbCdEf”,*s2=“aB”;

s1++;

s2++;

printf(“%d\n”,strcmp(s1,s2));

A)正数

B)负数

C)零

632.以下程序的输出结果是

#include“string.h”

{char*p1,*p2,str[50]=“ABCDEFG”;

p1=“abcd”;

p2=“efgh”;

strcpy(str+1,p2+1);

strcpy(str+3,p1+3);

printf(“%s”,str);

A)AfghdEFG

B)Abfhd

C)Afghd

D)Afgd

633.以下程序运行后,输出结果是

{staticchara[]=”ABCDEFGH”,b[]=”abCDefGh”;

charp1,p2;

intk;

p1=a;

p2=b;

=7;

k++)

if(*(p1+k)==*(p2+k))

printf(“%c”,*(p1+k));

printf(“\n”);

A)ABCDEFG

B)CDG

C)abcdefgh

D)abCDefGh

634.设有如下程序段:

charstr[]=“Hello”;

char*ptr;

ptr=str;

执行完上面的程序段后,*(ptr+5)的值为

A)‘o’

B)‘\0’

C)不确定的值

D)‘o’的地址

635.设有以下语句:

charstrl[]=“string”,str2[8],*str3,*str4=“string”;

则______不是对库函数strcpy的正确调用,此库函数用来复制字符串。

A)strcpy(str1,“HELLO1”);

B)strcpy(str2,“HELLO2”);

C)strcpy(str3,“HELLO3”);

D)strcpy(str4,“HELLO4”);

636.以下程序运行后,输出结果是

{char*s=”abcde”;

printf(”%ld\n”,s);

A)cde

B)字符c的ASCII码值 

C)字符c的地址

D)出错

  答案:

637.以下程序段中,for循环的执行次数是

char*s=”\tab\101cd”;

s++)printf(“*”);

A)4次

B)5次

C)6次

D)7次

638.若有以下定义和语句:

char*s1=”12345”,*s2=”1234”;

printf(“%d\n”,strlen(strcpy(s1,s2)));

则输出结果是

D)10

639.设已有定义:

char*st="

howareyou"

;

下列程序段中正确的是

A)chara[11],*p;

strcpy(p=a+1,&

st[4]);

B)chara[11];

strcpy(++a,st);

C)chara[11];

strcpy(a,st);

D)chara[],*p;

strcpy(p=&

a[1],st+2);

640.下面程序段的运行结果是

char*p=“abcdefgh”;

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

A)8

B)12

641.下面各语句行中,能正确进行赋字符串操作的语句行是

A)charst[4][5]={“ABCDE”};

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

s=“ABCDE”;

scanf(“%s”,s);

642.下列程序的输出结果是

{char*p1,*p2,str[50]=“xyz”;

p2=“ABCD”;

strcpy(str+2,strcat(p1+2,p2+1));

A)xyabcAB

B)abcABz

C)ABabcz

D)xycdBCD

643.设有以下语句:

charstr[4][12]={“aaa”,“bbbb”,“ccccc”,“dddddd”},

*strp[4];

i++)strp[i]=str[i];

______不是对字符串的正确引用。

A)strp

B)str[k]

C)strp[k]

D)*strp

644.以下程序的输出结果是

{charch[3][4]={"

123"

"

456"

78"

},*p[3];

i++)p[i]=ch[i];

i++)printf("

%s"

p[i]);

A)123456780

B)123456780

C)12345678

D)147

645.若有如下定义:

inta[3][4],*p;

执行p=a[0];

之后,p+1表示

A)&

a[1][0]

a[0][1]

646.设有如下定义:

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

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

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

A)*((*prt+1)[2])

B)*(*(p+5))

C)(*prt+1)+2

D)*(*(a+1)+2)

647.若有以下说明和语句,请选出哪个是对C数组元素的正确引用

intc[4][5],(*cp)[5];

cp=c;

A)cp+1

B)*(cp+3)

C)*(cp+1)+3

D)*(*cp+2)

648.设有说明int(*ptr)[M];

其中的识符ptr是

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

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

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

D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量

649.下列程序的输出结果是

{charch[2][5]={“6934”,“8254”},*p[2];

inti,j,s=0;

2;

p[i]=ch[i];

for(j=0;

p[i][j]>

‘0’&

&

p[i][j]<

=‘9’;

j+=2)

s=10*s+p[i][j]-‘0’;

printf(“%d\n”,s);

A)6385

B)69825

C)63825

D)693825

650.以下程序运行后,输出结果是

{charch[2][5]={"

693"

,"

825"

},*p[2];

longinti,j,s=0;

  for(j=0;

='

0'

s=10*s+p[i][j]-'

%ld\n"

s);

C)33

651.以下程序的输出结果为

{char*alpha[6]={“ABCD”,“EFGH”,“IJKL”,“MNOP”,“QRST”,

“UVWX”};

char**p;

p=alpha;

printf(“%s”,p[i]);

A)ABCDEFGHIJKL

B)ABCD

C)ABCDEFGHIJKLMNOP

D)AEIM

652.以下程序运行后输出结果是

ss(char*s)

{char*p=s;

while(*p)p++;

return(p-s);

{char*a=”abded”;

intI;

I=ss(a);

printf(“%d\n”,I);

B)7

D)5

653.以下程序运行后,输出结果是

  #include<

  fun(char*w,intn)

{chart,*s1,*s2;

s1=w;

s2=w+n-1;

while(s1<

s2)

{t=*s1++;

  *s1=*s2--;

  *s2=t;

  }

  main()

  {char*p=”1234567”;

  fun(p,strlen(p));

puts(p);

A)1234567

B)7654321

C)1711717

D)7177171

654.若有以下调用语句,则不正确的fun函数的首部是

{…

inta[50],n;

fun(n,&

a[9]);

…}

A)voidfun(intm,intx[])

B)voidfun(ints,inth[41])

C)voidfun(intp,int*s)

D)voidfun(intn,inta)

655.下列程序的输出结果是

intb=2;

intfunc(int*a)

{b+=*a;

return(b);

{inta=2,res=2;

res+=func(&

a);

res);

C)8

656.以下程序调用findmax函数求数组中值最大的元素在数组中的下标,请选择填空。

findmax(s,t,k)

int*s,t,*k;

{intp;

for(p=0,*k=p;

p<

t;

p++)

if(s[p]>

s[*k])______;

{inta[10],i,k;

i++)scanf(“%d”,&

a[i]);

findmax(a,10,&

k);

printf(“%d,%d\n”,k,a[k]);

A)k=p

B)*k=p-s

C)k=p-s

D)*k=p

657.下面函数的功能是

sss(s,t)

char*s,*t;

{while((*s)&

(*t)&

(*t++==*s++));

return(*s-*t);

A)求字符串长度

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

C)将字符串s复制到字符串t中

D)将字符串s接续到字符串t中

658.请阅读程序:

charfun(char*c)

{if(*c<

=‘Z’&

*c>

=‘A’)*c-=‘A’-‘a’;

return*c;

{chars[81],*p=s;

gets(s);

while(*p)

{*p=fun(p);

putchar(*p);

p++;

putchar(‘\n’);

若运行时从键盘上输入OPENTHEDOOR<

CR>

(<

表示回车),则上面程序的输出结果是

A)oPENtHEdOOR

B)openthedoor

C)OPENTHEDOOR

D)OpenTheDoor

659.请阅读程序:

voidfun(int*s)

{staticintj=0;

do

s[j]+=s[j+1];

while(++j<

2);

{intk,a[10]={1,2,3,4,5};

for(k=1;

k++)fun(a);

5;

k++)printf(“%d”,a[k]);

A)34756

B)23445

C)35745

D)12345

660.设有如下定义:

char*aa[2]={“abcd”,“ABCD”};

则以下说法中正确的是

A)aa数组元素的值分别是“abcd”和“ABCD”

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D)aa数组的两个元素中各自存放了字符‘a’和‘A’的地址

661.以下程序的输出结果是

#include“ctype.h”

space(char*str)

{inti,t;

charts[81];

for(i=0,t=0;

str[i]!

=‘0’;

i+=2)

if(!

isspace(*str+i)&

(*(str+i)!

=‘a’))

ts[t++]=toupper(str[i]);

ts[t]=‘\0’;

strcpy(str,ts);

{chars[81]={“abcdefg”};

space(s);

puts(s);

A)abcdeg

B)bcde

C)ABCDE

D)BCDE

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

当前位置:首页 > 解决方案 > 学习计划

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

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