1、字符串(一)及答案解析(总分:28.00,做题时间:90 分钟)一、选择题(总题数:18,分数:18.00)1.有下面的程序段:char str10,ch=“China“;str=ch; printf(“%s“,str);则运行时_。A) 将输出 China B) 将输出 ChC) 将输出 Chi D) 编译出错(分数:1.00)A.B.C.D.2.对于下面语句,叙述正确的是_。char c1=“abcd“;char c2=a,b,c,d;A) 数组 c1和数组 c2等价B) 数组 c1占用空间大于数组 c2占用空间C) 数组 c1占用空间小于数组 c2占用空间D) 数组 c1和数组 c2的长
2、度相同(分数:1.00)A.B.C.D.3.以下能正确进行字符串赋值、赋初值的语句是_。A) char s5:a,e,i,o,u;B) char *s; s=“good“;C) char s5=“good“;D) char s5; s=“good“;(分数:1.00)A.B.C.D.4.下面程序的运行结果是_。main()char ch7=“65ab21“;int i,s=0;for(i=0;chi=“0j+=2)s=10*s+pij-0;printf(“%d/n“,s);该程序的输出结果是_。A) 69825 B) 63825 C) 6385 D) 693825(分数:1.00)A.B.C.
3、D.13.以下程序运行后,输出结果是_。main()char ch25=“693“,“825“,*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i2;i+)for(j=0;pij=0j+=2)s=10*s+pij-0;printf(“%d/n“,s);A) 6385 B) 22 C) 33 D) 693825(分数:1.00)A.B.C.D.14.设有如下定义:char*a3=“aa“,“bb“,“cc“;则以下说法正确的是_。A) 数组 a的第二个元素的值是“bb“B) 输出“cc“使用语句 printf(“%s“,a2);C) 数组 a的 3个元素
4、分别存放的是含有两个字符的一维字符数组D) 数组 a的 3个元素中各自存放了字符a、b和c(分数:1.00)A.B.C.D.15.下列程序执行后的输出结果是_。main()char arr24;strcpy (arr0,“you“);strcpy(arr1,“me“);an03=_)if( )t=ai;ai:aj;aj=t;put s(a)printf(“/n“);(分数:2.00)填空项 1:_22.下列程序的字符串中各单词之间有一个空格,则程序的输出结果是_。#include string.hmain()char strl=“How do you do“, *p1=strlstrcpy(s
5、trl+strlen(strl)/2,“es she“):printf(“%s/n“,p1):(分数:2.00)填空项 1:_23.以下程序运行后的输出结果是_。#include string.hmain()char ch=“abc“,x34; int i;for(i=0; i3;i+) strcpy(xi,ch);for(i=0;i3;i+) printf(“%s“,j+=2)s=10*s+pij-0;printf(“%d/n“,s);该程序的输出结果是_。A) 69825 B) 63825 C) 6385 D) 693825(分数:1.00)A.B.C. D.解析:13.以下程序运行后,输
6、出结果是_。main()char ch25=“693“,“825“,*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i2;i+)for(j=0;pij=0j+=2)s=10*s+pij-0;printf(“%d/n“,s);A) 6385 B) 22 C) 33 D) 693825(分数:1.00)A. B.C.D.解析:14.设有如下定义:char*a3=“aa“,“bb“,“cc“;则以下说法正确的是_。A) 数组 a的第二个元素的值是“bb“B) 输出“cc“使用语句 printf(“%s“,a2);C) 数组 a的 3个元素分别存放的是含有两个
7、字符的一维字符数组D) 数组 a的 3个元素中各自存放了字符a、b和c(分数:1.00)A.B. C.D.解析:15.下列程序执行后的输出结果是_。main()char arr24;strcpy (arr0,“you“);strcpy(arr1,“me“);an03=_)if( )t=ai;ai:aj;aj=t;put s(a)printf(“/n“);(分数:2.00)填空项 1:_ (正确答案:j+=2, aiaj)解析:22.下列程序的字符串中各单词之间有一个空格,则程序的输出结果是_。#include string.hmain()char strl=“How do you do“, *p1=strlstrcpy(strl+strlen(strl)/2,“es she“):printf(“%s/n“,p1):(分数:2.00)填空项 1:_ (正确答案:How does she)解析:23.以下程序运行后的输出结果是_。#include string.hmain()char ch=“abc“,x34; int i;for(i=0; i3;i+) strcpy(xi,ch);for(i=0;i3;i+) printf(“%s“,&xii);printf(“/n“);(分数:2.00)填空项 1:_ (正确答案:abcbcc)解析: