77范文网 - 专业文章范例文档资料分享平台

C语言 数组和指针练习题(4)

来源:网络收集 时间:2018-12-06 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

196、下面程序的功能是将八进制正整数组成的字符串转换为十进制整数。请选择正确内容填空。

# include main ( )

{ char *p , s[6] ; int n ; p=s;

gets (p ) ; n=__①__;

while (__②__!='\\0' )

n=n*8+ *p –'0';

printf (\; }

①、A、0 B、*p

C、*p-'0' D、*p+'0' ②、A、*p B、*p++

C、*(++p) D、p

197、函数count 的功能是统计子串substr 在主串str 中出现的次数。请选择填空。

count(char *str,char *substr) { int i,j,k,num=0; for(i=0;__①__; i++)

for(__②__,k=0;substr[k]= =str[j];k++,j++) if(substr[__③__ ]= ='\\0' ) { num++; break; } return(num); }

① A、str[i]= =substr[i] B、str[i]!='\\0' C、str[i]= ='\\0' D、str[i]>substr[i] ② A、j=i+1 B、j=i C、j=0 D、j=1 ③ A、k B、k++ C、k+1 D、++k

198、下面程序的功能是在字符串str中找出最大的字符并放在第一个位置上,并将该字符前的原字符往后顺序移动,如串“oalne”。请选择填空。

# include main ( )

{ char str[80], *p, max, *q ; p=str ;

gets (p); max=*(p++) ;

while ( *p!='\\0' ) { if ( max<*p )

{ max=*p ; __①__; }

p++; } p=q ;

while (__②__)

{ *p=*( p-1 ) ; __③__; }

*p=max ; puts ( p ); }

① A、p++ B、p=q C、q=p D、q++ ② A、p>str B、p>=str

C、*p>str[0] D、*p>=str[0]

③ A、p++ B、str-- C、p-- D、i--

199、函数 DelSpace的功能是删除指针p所指向的字符串中的所有空格(包括TAB符,回车符,换行符),请选择填空。

DelSpace (char *p)

{ int i,t; char c[80]; for(i=0,t=0;__①__;i++) if(! isspace(__②__))

c[t++]=p[i];

c[t]='\\0';

strcpy(p,c); }

① A、p[i] B、!p[i]

C、p[i]='\\0' D、p[i]= ='\\0' ② A、p+i B、*c[i]

C、*(p+i) D、*(c+i)

200、下面程序的功能是利用递归算法将字符串s中的内容按逆序输出,但不改变串中的内容,请选择填空。

# include main ( )

{ char s[10]=\; inverp(s); }

inverp (char *a)

{ if(__①__) return 0; inverp(a+1);

printf(\ }

① A、*a!='\\0' B、*a!=NULL

C、!*a D、!a*= =0 ② A、*(a-1) B、*a

C、*(a+1) D、*(a--)

201、下面程序的功能是用递归算法将一个整数按逆序存放一个字符数组中。如123存放成“321”,请选择填空。

# include

void convert(char *a,int n) { int i;

if((i=n/10)!=0)

convert(__①__,i);

*a=__②__; }

main()

{ int number;

char str[10]=\; scanf(\,&number);

convert(str,number); puts(str); }

① A、a++ B、a+1

C、a-- D、a-1

② A、n/10 B、n

C、n/10+'0' D、n+'0'

202、下面程序的功能是用递归法将一个整数转换成字符形式输出。例如输入386,应输出字符串“386”。请选择填空。

# include void convert(int n) { int i;

if((__①__)!=0)

convert(i);

putchar(__②__+'0'); }

main()

{ int number;

scanf(\,&number); if(number<0)

{ putchar('-');

number= -number;}

convert(number); }

① A、i=n/10 B、i=n

C、i=n-- D、i=--n ② A、n B、n/10

C、n D、i

203、下面程序的功能是:调用函数sss(),按字典顺序比较存放在a、b数组中两个字符串的大小,如果a大于b则i 为正值,a等于b则i为0,a小于b则i为负值。请选择填空。

# include \

sss(char *s,char *t) { for( ;*s= =*t;__①__)

if(*s= ='\\0') return(0); return(*s-*t); }

main()

{ char a[20],b[20]; int i; scanf(\,a,b); i=sss(__②__); printf(\,i); }

① A、s++ B、t++

C、s++;t++ D、t++,s++ ② A、a,b B、*a,*b

C、&a,&b D、a[ ],b[ ]

204、下面程序的功能是从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。请选择填空。

# include # include main()

{ char string[100],*p,*q,*r,c;

printf(\); gets(string);

for(p=string;*p;p++) { for(q=r=p;*q;q++) if(__①__) r=q;

if(__②__)

{ c=*r;*r=*p;*p=c;}

}

for(p=string;*p;p++)

{ for(q=p;*p= =*q;q++)

strcpy(__③__,q); }

printf(\:%s\\n\,string); }

① A、*r>*q B、*r>*p

C、r>q D、r>p

② A、r= =q B、r!=q

C、p!=q D、r!=p ③ A、p++ B、p

C、p-1 D、p+1

205、下面程序的功能是将字符串a分段传送到字符串b中。要求在每五个字符后插入一个逗号,以示分段。例如字符串a为\,则字符串b为\,fg123,45\,请选择填空。

# include main()

{ int i,k=0;

char a[80],b[80],*p; p=a;

gets(p); while(*p)

{ for(i=1;__①__;p++,k++,i++) b[k]=*p; if(__②__)

{ b[k]=',' ; k++;}

}

b[k]='\\0'; puts(b); }

① A、i<5 B、i<=5

C、i<5&&*p!='\\0' D、i<=5&&*p ② A、i= =6 B、*P= ='\\0'

C、!*p D、i!=6

206、当运行以下程序时,若从键盘输入Sorry!<回车>,则下面程序的运行结果是____

# include

# include main()

{ char str[10],*p=str; gets(p);

printf(\,stre(p)); }

stre(char str[ ]) { int num=0;

while(*(str+num)!='\\0')

num++;

return(num); }

A、7 B、6 C、5 D、10 207、下面程序的运行结果是____

# include main()

{ static char a[ ]=\

b[ ]=\;

char *p1,*p2; int k;

p1=a; p2=b;

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

if(*(p1+k)= =*(p2+k) ) printf(\); }

A、gae B、ga C、Language D、有语法错 208、下面程序的运行结果为____

# include # include main ( )

{ char *aa=\,*bb=\; aa+=2; bb+=2;

printf(\,strcmp(aa,bb)); }

A、有语法错 B、大于零 C、等于零 D、小于零 209、下面程序的运行结果是____

# include main()

{ int a=28,b; char s[10],*p; p=s;

do { b= a;

if(b<10) *p= b+48; else *p= b+55; p++; a= a/5;

} while(a>0); *p='\\0'; puts(s); }

A、10 B、C2 C、C51 D、\\0

210、下面程序的运行结果是____

# include void select(char *s)

{ int i,j; char *t; t=s;

for(i=0,j=0;*(t+i)!='\\0';i++) if(*(t+i)>='0'&&*(t+i)<='9')

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言 数组和指针练习题(4)在线全文阅读。

C语言 数组和指针练习题(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/346192.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: