全国计算机等石级考试二级c语言笔试高频考点
Company Logo Top70 字符串的输入与输出 练习题 2、有以下定义,不能给a数组输入字符串的语句是______ char a[10],*b=a; A、gets(a); B、gets(a[0]); C、gets(&a[0]); D、gets(b); B Company Logo Top 71 字符串长度函数strlen 例 对于以下字符串,strlen(s)的值为: (1)char s[10]={‘A’,‘\0’,‘B’,‘C’,‘\0’,‘D’}; (2)char s[ ]=“\t\v\\\0will\n”; (3)char s[ ]=“\x69\082\n”; 考点: 字符串长度函数strlen 格式:strlen(字符数组) 功能:计算字符串长度 返值:返回字符串实际长度,不包括‘\0’在内 1 3 1 Company Logo Top71 字符串长度函数strlen 真题分析 (2005年9月)有以下程序,下列说法正确的是— #include main( ) { char p[ ]={'a', 'b', 'c'},q[10]={ 'a', 'b', 'c'}; printf("%d%d\n",strlen(p),strlen(q)); } A、在给p 和q 数组赋初值时,系统会自动添加字符串结束符,故输出的长度都为3 B、由于p 数组中没有字符串结束符,长度不能确定,但q 数组中字符串长度为3 C、由于q 数组中没有字符串结束符,长度不能确定,但p 数组中字符串长度为3 D、由于p 和q 数组中都没有字符串结束符,故长度都不能确定r B Company Logo Top71 字符串长度函数strlen 真题分析 (2005年4月)下列程序中huiwen()函数的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。 #include char*huiwen(char *str) { char *p1,*p2; int i,t=0; p1=str; p2= 【18】; for(i=0;i<=strlen(str)/2;i+ +) if(*p1+ +! =*p2--){t=1;break;} if( 【19】)return("yes!"); elsereturn("no!"); } main( ) { char str[50]; printf("Input:"); scanf("%s",str); printf("%s\n", 【20】); } str+(strlen(str)-1) t==0或t!=1或!t 或i>strlen(str)/2 huiwen(str) Top71 字符串长度函数strlen 真题分析 (2011年9月)有以下程序 程序运行后的输出结果是_______。(选择题35题) A)654321 B)116611 C)161616 D)123456 Company Logo void fun(char *w, int m) { char s, *p1, *p2; p1=w; p2=w+m-1; while(p1,则输出结果是______ main( ) { char s[50];int n,i,z; scanf(“%d,%s”,&n,s); z=strlen(s); for(i=1;i<=n;i++) move(s,z); printf(“%s”,s); } move(char *str,int n ) { char temp; int i; temp=str[n-1]; for(i=n-1;i>0;i--) str[i]=str[i-1]; str[0]=temp; } cdeab Company Logo Top72 其它字符串处理函数 字符串连接函数strcat 格式:strcat(字符数组1,字符数组2) 功能:把字符数组2连到字符数组1后面 返值:返回字符数组1的首地址 说明:?字符数组1必须足够大 ?连接前,两串均以‘\0’结束;连接后,串1的‘\0’取消,