二级C语言辅导班冲刺课程第四节课.docx

上传人:b****5 文档编号:4946471 上传时间:2022-12-12 格式:DOCX 页数:16 大小:19.84KB
下载 相关 举报
二级C语言辅导班冲刺课程第四节课.docx_第1页
第1页 / 共16页
二级C语言辅导班冲刺课程第四节课.docx_第2页
第2页 / 共16页
二级C语言辅导班冲刺课程第四节课.docx_第3页
第3页 / 共16页
二级C语言辅导班冲刺课程第四节课.docx_第4页
第4页 / 共16页
二级C语言辅导班冲刺课程第四节课.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

二级C语言辅导班冲刺课程第四节课.docx

《二级C语言辅导班冲刺课程第四节课.docx》由会员分享,可在线阅读,更多相关《二级C语言辅导班冲刺课程第四节课.docx(16页珍藏版)》请在冰豆网上搜索。

二级C语言辅导班冲刺课程第四节课.docx

二级C语言辅导班冲刺课程第四节课

第九、十章字符串

第九章(难点)

考点:

二维数组的定义、初始化、双层循环赋值,对二维数组的理解,行指针、列指针,指针数组,指向一维数组的指针变量,参数传递

第十章

考点:

字符串的赋值,用%s输入输出时需注意的地方,字符串函数

注意:

结合指针、数组考试

(2012年9月份)下列叙述中正确的是

A.可以用关系运算符比较字符串的大小

B.空字符串不占用内存,其内存空间大小是0

C.两个连续的单引号是合法的字符常量

D.两个连续的双引号是合法的字符串常量

(2012年9月份)设有定义:

intx[2][3],则以下关于二维数组x的叙述错误的是

A.x[0]可看作是由3个整型元素组成的一维数组

B.x[0]和x[1]是数组名,分别代表不同的地址常量

C.数组x包含6个元素

D.可以用语句x[0]=0;为数组所有元素赋初值0

(2012年9月份)以下选项中,合法的是

A.charstr3[]={'d','e','b','u','g','\0'};

B.charstr4;str4="helloworld";

C.charname[10];name="china";

D.charstr1[5]="pass",str2[6];str2=str1;

1.以下选项中有语法错误的是(2012年3月份)

A.char*str[]={“guest”};B.charstr[][10]={“guest”};

C.chsr*str[3];str[1]=”guest”;D.charstr[3][10];str[1]=”guest”;

2.有以下程序(2012年3月份)

#include

#include

main()

{printf(“%d\n”,strlen(“ATS\n012\|”));}

程序运行后的输出结果是

A.3B.8C.4D.9

(2012年9月份)若有定义语句:

charstr[]="0";则字符串str在内存中实际占__字节.

3、若有语句:

char*line[5];下列叙述中正确的是()。

A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量

B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

C)定义line是一个指针数组,语句中的*号称为间址运算符

D)定义line是一个指向字符型函数的指针

4、以下程序的输出结果是___(2012年3月份)

#include

main()

{char*ch[4]={“red”,”green”,”blue”};

inti=0;

while(ch[i])

{

putchar(ch[i][0]);

i++;

}

}

5、以下程序:

#include

main()

{charstr[10];

scanf("%s",str);

printf("%s\n",str);

}

运行上面的程序,输入字符串howareyou,则程序的执行结果是()。

A)how

B)howareyou

C)h

D)howareyou

6、有以下程序(2012年3月份)

#include

main()

{chara[20],b[20],c[20];

scanf(“%s%s”,a,b);

gets(c);

printf(“%s%s%s\n”,a,b,c);}

程序运行时从第一列开始输入Thisisacat!

<回车>则输出结果是

A.Thisisacat!

B.ThisisaC.Thisisacat!

D.Thisisacat!

7、下面各语句行中,能正确进行赋值字符串操作的是()。

A)chars[5]={'a','b','c','d','e'};

B)char*s;gets(s);

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

D)chars[5];scanf("%s",&s);

8、下面程序的输出结果是()。

#include

main()

{chara[]={'a','b','c','d','f ','g'},*p;

 p=a;

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

}

A)a

B)b

C)e

D)f

9、下面函数的功能是()。

sss(s,t)

char*s,*t;

{while(*s)s++;

 while(*t)

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

 returns;

}

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

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

C)求字符串的长度

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

(2012年9月份)

有以下程序(strcpy为字符串赋值函数,strcat为字符串连接函数)

#include

#include

main()

{

chara[10]="abc",b[10]="012",c[10]="xyz";

strcpy(a+1,b+2);

puts(strcat(a,c+1));

}

程序运行后的输出结果是

A.a12xyzB.12yzC.a2yzD.BC2YZ

10、设q1和q2是指向一个int型一维数组的指针变量,k为float型变量,下列不能正确执行的语句是()。

A)k=*q1*(*q2);

B)q1=k;

C)q1=q2;

D)k=*q1+*q2;

11、以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。

请填空。

voidfun(int,int,int(*)[4],int*);

main()

{inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;

fun(3,4,a,b);

for(i=0;i<3;i++)printf("%4d",b[i]);

printf("\n");

}

voidfun(intm,intn,intar[][4],int*br)

{inti,j,x;

for(i=0;i

{x=ar[i][0];

for(j=0;j

if(___________)

x=ar[i][j];

br[i]=x;

}

}

12、下面程序的运行结果是___________。

#include

#defineSIZE12

main()

{chars[SIZE];inti;

for(i=0;i

sub(s,5,SIZE-1);

for(i=0;i

printf("\n");

}

sub(char*a,intt1,intt2)

{charch;

while(t1

{ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;

}

}

13、下面程序的运行结果是___________。

#include

main()

{chara[80],*p="AbabCDcd";

inti=0,j=0;

while(*p!

='\0')

{if(*p>='a'&&*p<='z'){a[i]=*p;i++;}

p++;

}

a[i]='\0';

puts(a);

}

14、“printf("%d\n",strlen("\t\"\023\xAB\nC"));”语句的输出结果是___________。

15、以下程序:

#include

main()

{

charChr[20];

scanf("%s",Chr);

printf("%s\n",Chr);

}

运行上面的程序,输入字符串MicrosoftVisualStudio,则程序的执行结果是()。

A)MicrosoftVisualStudio

B)M

C)Microsoft

D)MicrosoftVisualStudio

16、以下程序段的输出结果是()。

#include

main()

{charp[][4]={"ABC","DEF","GHI"};

inti;

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

puts(p[i]);

}

A)A

B

C

B)ADG

C)ABC

DEF

GHI

D)ABC

17、以下程序:

#include

#include

main()

{char*s1="abDuj";

Char*s2="ABdUG";

intt;

t=strcmp(s1,s2);

printf("%d",t);

}

A)正数

B)负数

C)零

D)不确定的值

18、以下程序:

#include

#include

main()

{charstr[]="abcd\n\123\xab";

printf("%d",strlen(str));

}

运行后的输出结果是()。

A)10

B)9

C)7

D)14

19、设已执行预编译命令#include,以下程序段的输出结果是()。

chars[]="abcdefg";

printf("%d\n",strlen(s));

A)7

B)8

C)9

D)10

20、若有chars[3][3]={"AAA","BBB","CCC"};说明语句,则与它等价的语句是()。

A)char**s={"AAA","BBB","CCC"};

B)char*s[3]={"AAA","BBB","CCC"};

C)chars[][5]={"AAA","BBB","CCC"};

D)chars[][3]={"AAA","BBB","CCC"};

21、当运行以下程序时,输入abcd,程序的输出结果是___________。

insert(charstr[])

{inti;

i=strlen(str);

while(i>0)

{str[2*i]=str[i];str[2*i-1]='*';i--;}

printf("%s\n",str);

}

main()

{charstr[40];

scanf("%s\n",str);insert(str);

}

22、以下程序的功能是:

通过函数func输入字符并统计输入字符的个数。

输入时用字符@作为输入结束标志。

请填空。

#include

long___________;/*函数说明语句*/

main()

{longn;

n=func();printf("n=%ld\n",n);

}

longfunc()

{longm;

for(m=0;getchar()!

='@';__);

returnm;

}

23、下面函数的功能是()。

sss(s,t)

char*s,*t;

{while((*s)&&(*t)&&(*t++==*s++));

return(*s-*t);

}

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

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

C)求字符串的长度

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

24、有以下程序

#include

#include"string.h"

voidfun(char*s[],intn)

{

char*t;inti,j;

for(i=0;i

for(j=i+1;j

if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]=s[j];s[j]=t;}

}

main()

{

char*ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};

fun(ss,5);printf("%s,%s\n",ss[0],ss[4]);

}

程序的运行结果是()。

A)xy,aaaacc

B)aaaacc,xy

C)bcc,aabcc

D)aabcc,bcc

25、以下程序运行后的输出结果是___________。

#include

main()

{charch[]="abcd",x[4][4];inti;

for(i=0;i<4;i++)strcpy(x[i],ch);

for(i=0;i<4;i++)printf("%s",&x[i][i]);

printf("\n");

}

26、下面程序是求出数组arr的两条对角线上的元素之和,请填空。

#include"stdio.h"

main()

{

intarr[3][3]={2,3,4,8,3,2,7,9,8},a=0,b=0,i,j;

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

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

if(i==j)

a=a+arr[i][j];

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

for(;j>=0;j--)

if(==2)

b=b+arr[i][j];

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

}

27、以下程序输出的结果是()。

#include

#include

main()

{chara[][7]={"ABCD","EFGH","IJKL","MNOP"},k;

for(k=1;k<3;k++)

printf("%s\n",&a[k][k]);

}

A)ABCD

FGH

KL

M

B)ABC

EFG

IJ

C)EFG

JK

OP

D)FGH

KL

28、下列程序的功能是:

求出ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符1,则输出3,请填空。

#include

#include

#defineM81

intfun(char*ss,charc)

{inti=0;

for(;___________;ss++)

if(*ss==c)i++;

returni;}

main()

{chara[M],ch;

printf("\nPleaseenterastring:

");gets(a);

printf("\nPleaseenterachar:

");ch=getchar();

printf("\nThenumberofthecharis:

%d\n",fun(a,ch));}

29、以下程序的输出结果是___________。

main()

{char*p[]={"ABC","DEF","GHI","JKL"};

inti;

for(i=3;i>=0;i--,i--)

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

30、语句int(*ptr)()的含义是()。

A)ptr是一个返回值是int的函数

B)ptr是指向int型数据的指针变量

C)ptr是指向函数的指针,该函数返回一个int型数据

D)ptr是一个函数名,该函数的返回值是指向int型数据的指针

31、下列字符数组初始化语句中,不正确的是()。

A)charc[]='goodmorning';

B)charc[20]="goodmorning";

C)charc[]={'a','b','c','d'};

D)charc[]={"goodmorning"};

32、下列程序的运行结果为()。

#include

voidabc(char*str)

{inta,b,i,j;

for(i=j=0;str[i]!

='\0';i++)

if(str[i]!

='a')

str[j++]=str[i];

str[j]='\0';

}

voidmain()

{charstr[]="abcdef";

abc(str);

printf("str[]=%s",str);

}

A)str[]=bcdef

B)str[]=abcdef

C)str[]=a

D)str[]=ab

33、阅读下面程序,程序执行后的结果为()。

#include"stdio.h"

main()

{char*str="abcdefghijklmnopq";

while(*str++!

='e');

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

}

A)f

B)a

C)e

D)q

34、设有如下的程序段:

charstr[]="HelloWorld";

char*ptr;

ptr=str;

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

A)'\0'

B)'0'

C)不确定的值

D)'0'的地址

35、下述语句中,在字符串s1和s2相等时显示“theyareEqual”的是()。

A)if(*s1==*s2)

puts("theyareEqual");

B)if(!

strcmp(s1,s2))

puts("theyareEqual");

C)if(s1==s2)

Puts("theyareEqual");

D)if(strcmp(s1,s2))

puts("theyareEqual");

36、下面程序的输出结果是___________。

#include

main()

{staticchara[]="zhao",b[]="juan";

char*ptrl=a,*ptr2=b;

intk;

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

if(*(ptrl+k)==*(ptr2+k))

printf("%c",*(ptrl+k));}

37、下列函数从字符数组s[]中删除和c一样的字符,请在下面横线处填空。

voiddelete(s,c)

chars[],c;

{inti,j;

for(i=j=0;___________;i++)

if(s[i]!

='c')

s[j++]=s[i];

s[j]="\0";}

38、下面程序的运行结果是___________。

#include

main()

{chara[80],*p="AbabCDcd";

inti=0,j=0;

while(*p!

='\0')

{if(*p>='a'&&*p<='z')

{a[i]=*p;i++;}

}

a[i]='\0';

puts(a);

}

39、设有下列程序:

#include

#include

main()

{inti;

chars[10],t[10];

gets(t);

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

{gets(s);

if(strcmp(t,s)<0)

strcpy(t,s);

}

printf("%s\n",t);

}

程序运行后,从键盘上输入(代表回车符):

CDEFBADEFQTHRG,则程序的输出结果是___________。

40、下面程序的运行结果是___________。

#defineP(a)printf("%d",a)

main()

{intj,a[]={1,2,3,4,5,6,7},i=5;

for(j=3;j>1;j--)

{switch(j)

{case1:

case2:

P(a[i++]);break;

case3:

P(a[--i]);

}

}

}

 

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

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1