编程. 已知字符串:”this is a test of java”.
按要求执行以下操作:
(1) 统计该字符串中字母s出现的次数
(2) 取出子字符串”test”
(3) 将本字符串复制到一个字符数组Char[] str中.
(4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
(5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)
(6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的英文单词,并输出到控制台
第1题:
下列关于字符串的描述中,错误的是()。
A.一维字符数组可以存放一个字符串
B.二维字符数组可以存放多个字符串
C.可以使用一个字符串给二维字符数组赋值
D.可以用一个字符串给二维字符数组初始化
第2题:
用字符串函数编写一个程序:赋值字符串1:你的姓的拼音(首字母大写);字符串2:你的名的拼音(首字母小写)将字符串1的大写字母转换成小写字母,将字符串2的小写字母转换成大写字母,将字符串1和字符串2连接起来输出。
答案:
x = input("请输入你的姓:")
x = x.capitalize()
print(x)
y = input("请输入你的名:")
print("{}{}".format(x.lower(), y.upper()))
结果:
请输入你的姓:zhang
Zhang
请输入你的名:yu
zhangYU
解析:python运行环境
第3题:
●试题二
阅读下列函数说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。
【函数2.1说明】
函数palindrome(char s[])的功能是,判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:"LEVEL"是回文字符串,而"LEVAL"不是。
【函数2.1】
int palindrome(char s[])
{char*pi,*pj;
pi=s;pj=s+strlen(s)-1;
while(pi<pj && (1) ){
pi++;pj--;
}
if( (2) )return -1;
else return 0;
}
【函数2.2说明】
函数f(char*str,char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。
例如若str的值为"33123333435",del的值为"3",调用此函数后,将输出3个子字符串,分别为"12"、"4"和"5"。
【函数2.2】
void f(char*str,char del)
{int i ,j ,len;
len=strlen(str);
i=0;
while(i<len){
while( (3) )i++;/*忽略连续的标志字符*/
/*寻找从str[i]开始直到标志字符出现的一个子字符串*/
j=i+1;
while(str[j]!=del && str[j]!=′\0′)j++;
(4) =′\0′;/*给找到的字符序列置字符串结束标志*/
printf(″%s\t″,&str[i]);
(5) ;
}
}
●试题二
【答案】(1)*pi==*pj(2)pi<pj或者等价表达式(3)str[i]==del(4)str[j](5)i=j+1
【解析】(1)指针pi从左往右移动,指针pj从右往左移动,每移动一次,判断二者指向的元素是否相等,所以此处应填入判断语句*pi==*pj。(2)pi如果能移动到pj右面,说明字符串是回文字符串,否则返回-1,所以此处应填入pi<pj或者其他等价表达式。(3)此处表达式判断当前字符是否等于标志字符del,即填入 str[i]==del。(4)此处表达式为符合要求的字符串置结束标志,此时j已指向最后,所以应填入str[j]即可。(5)此处语句是修改i指针进行下一次循环,所以应填入i=j+1。
第4题:
下列关于字符串的叙述错误的是( )。
A.创建了字符串对象后,字符串所代表的文本根据情况可改变
B.字符串由java.lang.Stfing和java.lang.StringBuffer定义
C.字符串常用数组存储,处理字符串实际上就是对数组元素分别处理,要注意数组下界不要越界
D.在Java语言中,字符串是作为对象来处理的
第5题:
函数调用strcat(strcpy(str1,str2),str3)的功能是( )。
A.将字符串str1复制到字符串str2中后再连接到字符串str3之后
B.将字符串str1连接到字符串str2之后再复制到字符串str3之后
C.将字符串str2复制到字符串str1后再将字符串str3连接到字符串str1之后
D.将字符串str2连接到字符串str1之后再将字符串str1复制到字符串str3中
第6题:
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。
【函数2.1说明】
函数palindrome(char s[])的功能是,判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。
【函数2.1】
int palindrome( char s[ ] )
{ char * pi, * pj;
pi=s; pj=s+strlen(s)-1;
while( pi<pj&&(1)){
pi ++ ;pj --
}
if((2))return -1;
else return 0;
}
【函数2.2说明】
函数f(char * str,char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。
例如若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出3个子字符串,分别为“12”、“4”和“5”。
【函数2.2】
void f( char * str, char del)
{ int i ,j ,len;
len = strlen (str)
i=0;
while(i < len) {
while((3))i++; /*忽略连续的标志字符*/
/*寻找从str[i]开始直到标志字符出现的一个子字符串*/
j=i+1;
while(str[j] != del && str[j] ! = '\0')j ++
(4): '\0'; /*给找到的字符序列置字符串结束标志*/
printf("%s\t",&str[i]);
(5);
}
}
第7题:
下列关于字符串的叙述错误的是()
A.创建String类的字符串对象后,字符串所代表的内容根据情况改变
B.字符串可以使用java.lang.String和java.string Buffer来定义
C.字符串常用数组存储,处理字符串实际上就是对数组元素的分别处理,要注意数组下界不要越界
D.在java语言中,字符串是作为对象来处理的
第8题:
A.字符数组中存放的一定是一个字符串
B. 所有的字符数组都可以被当作字符串处理
C. 对存放字符串的字符数组可像一般数组一样对数组中单个元素操作
D. 一个字符数组可以认为就是一个字符串
第9题:
函数调用strcat(strcpy(str1,str2) ,str3) 的功能是( )。
A.将字符串str1复制到字符串str2中后再连接到字符串str3之后
B.将字符串str1连接到字符串str2之后再复制到字符串str3之后
C.将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后
D.将字符串str2连接到字符串str1之后再将字符串str1复制到字符串str3中
第10题:
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。
【程序】
include < stdio. h >
main( )
{ FILE * fp;
char str[100]; int i=0;
if((fp=fopen("text.txt"(1))) ==NULL)
{ printf("can't open this file. \n") ;exit(0) ;}
printf(" input astring: \n" ); gest(str);
while( str[i] )
{ if(str[i] >='a' && str[i] <='z')
str[i]=(2);
fputc(str[i],(3));
i++;
}
fclose(fp);
fp=fopen(" test.txt",(4));
fgets(str, 100, fp);
printf("%s\n" ,str);
(5);
}