196、下面程序的功能是将八进制正整数组成的字符串转换为十进制整数。请选择正确内容填空。
# include
{ 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
{ 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
{ 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
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
{ 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
{ 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
{ 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
{ 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
{ char *aa=\,*bb=\; aa+=2; bb+=2;
printf(\,strcmp(aa,bb)); }
A、有语法错 B、大于零 C、等于零 D、小于零 209、下面程序的运行结果是____
# include
{ 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
{ 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)在线全文阅读。
相关推荐: