以下程序的输出结果为( )。main( ){ char s1[40]="country",s2[20]="side";int i=0,j=0;while(s1[i]!='\0') i++;while(s2[j]!='\0') s1[i++]=s2[j++];s1[i]=0;printf("%s\n",s1);}A sideB countryC sidetryD countryside

题目

以下程序的输出结果为( )。

main( )

{ char s1[40]="country",s2[20]="side";

int i=0,j=0;

while(s1[i]!='\0') i++;

while(s2[j]!='\0') s1[i++]=s2[j++];

s1[i]=0;

printf("%s\n",s1);

}

A side

B country

C sidetry

D countryside


相似考题
参考答案和解析
正确答案:D
更多“以下程序的输出结果为( )。main( ){ char s1[40]="country",s2[20]="side";int i=0,j=0;while(s ”相关问题
  • 第1题:

    以下程序的输出结果是【】。 main() { int p[7]=(11,13,14,15,16,17,18}; int i=0,j=0; while(i<7&a

    以下程序的输出结果是【 】。

    main()

    {

    int p[7]=(11,13,14,15,16,17,18};

    int i=0,j=0;

    while(i<7&&p[i]%2==1)j+=p[i++];

    printf("%d\n",j);

    }


    正确答案:24
    24 解析:本题程序定义了一维数组p,有七个数组元素,整型变量i,j初值分别为0,当while的条件表达式(i7&&p[i]%2=1)的值为真时,执行语句j+=p[i++];,如:当i=0时,i7为真,p[i]%2=11%2=1,表达式(p[i]%2=1)的值为真,所以接个表达式(i7&&p[i]%2=1的值为真,执行j=j+p[i++]=0+11=11,i=1;,依此类推可以得出答案24。

  • 第2题:

    有以下程序:include main( ) char * p[ ] = {"3697" ,"2548" }; int i,j;long num =0

    有以下程序: #include <stdio.h> main( ) char * p[ ] = {"3697" ,"2548" }; int i,j; long num =0; for(i =0;i<2;i ++ ) { j =0; while(p[i][j]! ='\0') { if((p[i][j]-'0')%2) num=10*num+p[i][j]-'0'; j+ =2; } printf( "%d \n" ,num);}程序执行后的输出结果是( )。

    A.35

    B.37

    C.39

    D.3975


    正确答案:C
    解析:执行main函数中的for语句,当i=0,j=0时,p[i][j]=p[0)[0]='3',满足while循环条件,执行循环体中的if语句得num=3,j=2,此时p[i][j]=p[0][2]='9',满足循环条件,执行while循环体得num=39,j=4,判断while条件,不满足并退出while循环;再次执行for语句,当i=1,j=0,p[i][j]=p[1][0]=2,满足while条件,执行循环体中的if语句,但不符合if条件,所以num不进行运算,j进行加2运算j=2,此时p[i][j]=p[1][2]=4,if条件为假,num不进行运算,j进行加2运算j=4,再执行while语句,条件不符合退出循环。所以结果为39。

  • 第3题:

    下面程序的运行结果是( )。 include main() {char a[80],*p="AbabCDcd"; int i=0,j=0; w

    下面程序的运行结果是( )。 include<stdio.h> main() {char a[80],*p="AbabCDcd"; int i=0,j=0; while(*(p++)!='\0') {if(*p>='a'&&*p<='z'){a[i]=*p;i++;} } a[i]='\0'; puts(A); }


    正确答案:babcd
    babcd 解析:C语言中“\0”表示字符串的结束。程序将p指针指向字符串“AbabCDcd”的首地址,循环开始后若指针不是指向当前字符串的结束标志位,则进入循环体。循环中每次检验字符串中字母是否在'a'与'z'之间,若满足则将当前值赋值给数组a,最后给数组添加字符结束标志。此程序可以筛选出字符串中的小写字母。

  • 第4题:

    对于下面的程序includeincludechar * scmp(char * s1,char * s2){if(strcm

    对于下面的程序 #include<stdio.h> #include<string.h> char * scmp(char * s1,char * s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为 ______。

    A.abcd

    B.abba

    C.abc

    D.abca


    正确答案:B
    解析:本题自定义函数scmp()的作用是比较字符串s1和s2的大小,如果s1s2,函数返回s1的值,否则返回s2的值。若运行时依次输入abcd、abba和abc三个字符串,执行strcpy(string,scmp(str[0],str[1]));后,string的值为abba,再执行strcpy(string,scmp(string,str[2]));,由于scmp(stringstr[2])返回string的值abba,再拷贝到字符串数组string中,所以本题输出abba。

  • 第5题:

    以下程序的输出结果是______。includeincludefun(char *w,int n){ char t,*

    以下程序的输出结果是______。 #include<stdio.h> #include<siring.h> fun(char *w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) { t=*s1++; *s1=*s2-; *s2=t; } } main() { char *p; p="1234567"; fun(p,strlen(p)); puts(p); }

    A.1234567

    B.7654321

    C.1711717

    D.7177171


    正确答案:C
    解析:在子函数fun中,s1为字符串w的起始地址,s2为字符串的结束地址(字符'\0'除外),当执行循环结束循环,w=“1711717”。

  • 第6题:

    阅读以下程序: include void main() { static int a[][3]={9,7,5,3,1,2,4,6,8}; int

    阅读以下程序:

    include<iostream.h>

    void main()

    {

    static int a[][3]={9,7,5,3,1,2,4,6,8};

    int i,j,s1=0,s2=0;

    for(i=0;i<3;i++)

    for(j=0;j<3;j++)

    {

    if(i==j)s1=sl+a[i][j];

    if(i+j==2)s2=s2+a[i][j];

    }

    cout<<s1<<","<<s2<<endl;

    }

    则该程序的输出结果为【 】。


    正确答案:1810
    18,10

  • 第7题:

    若已包括头文件,运行下列程序段时输出结果是()。int i=0;char s1[10]="ABCD

    若已包括头文件<stdio.h>和<string.h>,运行下列程序段时输出结果是( )。 int i=0; char s1[10]="ABCD",s2[10]="EFG"; strcat(s1,S2); while(s2[i++]!='\0') s2[i]=s1[i]; puts(s2);

    A.ABC

    B.ABCDEF

    C.EBCDEFG

    D.CBD


    正确答案:C
    解析: strcat(s1,s2)把s2连接到s1的后面,s1=ABCDEFG,执行while(s2[i++]!='\0')后i的值变为1,往后执行s2[i]=s1[i]时是从把s1的第二位给s2的第二位开始,把s1赋给s2。

  • 第8题:

    以下程序的输出结果是_______。includeincludefun(char*w,int n){char t,*s

    以下程序的输出结果是_______。 #include<stdio.h> #include<string.h> fun(char*w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) { t=*s1++: *sl=*s2-; *s2=t; } } main() { char*p; p="1234567"; fun(p,strlen(p)); puts(p); }

    A.1234567

    B.7654321

    C.1711717

    D.7177171


    正确答案:C
    解析:在于函数fun中,s1为字符串w的起始地址,s2为字符串的结束地址(字符'\0'除外),当执行循环结束循环,w="1711717"。

  • 第9题:

    以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。 #include<string> char*scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0) return(s1); else retrun(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i+

    A.abcd

    B.abba

    C.abc

    D.abca


    正确答案:B

  • 第10题:

    下面程序的运行结果是()。includevoid delch(char *s){ int i,j;char*a;a=s;for(i=0,j=

    下面程序的运行结果是( )。 #include<stdio.h> void delch(char *s) { int i,j; char*a; a=s; for(i=0,j=0;a[i]!='\0' ;i++) if(a[i]>='0' &&a[i]<='9') { s[j]=a[i]; j++;} s[j]='\0'; } main() { char*item="a34bc"; delch(item); printf("\n%s" ,item);}

    A.abc

    B.34

    C.a34

    D.a34bc


    正确答案:B
    解析:指针a通过数组元素下标来从头逐个的引用字符串item中的字符,判断不是0~9之间的数字时,就去掉这个字符,所以程序结束后,字符串item中就只剩下34两个字符了。注意:形参为指针变量时,实参和形参之间的数据传递。

  • 第11题:

    以下程序的输出结果是( )。 include main() {char*s1,*s2,m; s1=s2=(char*)malloc(size

    以下程序的输出结果是( )。

    include<stdlib.h>

    main()

    {char*s1,*s2,m;

    s1=s2=(char*)malloc(sizeof(char));

    *s1=15;

    *s2=20;

    m=*s1+*s2:

    printf("%d\n",m);

    }


    正确答案:40
    40 解析:malloc()函数的作用是开辟一个长度为sizeof(char)的内存区,s1、s2为指向字符型数据的指针变量,执行“s1=s2=(char*)malloc(sizeof(chat));”语句后,s1、s2指向同一个存储空间,此时m=*s1+*s2=20+20=40。

  • 第12题:

    单选题
    有以下程序:#include main(){ int i,j=0; char a[] = How are you,b[10]={0}; for(i=0;a[i];i++)  if(a[i]==' ')   b[j++]=a[i+1]; printf(%s,b);}程序运行后的输出结果是(  )。
    A

    Hay

    B

    How are you

    C

    we

    D

    ay


    正确答案: C
    解析:
    for语句循环体执行功能是,每次当a[i]元素为' '时,自动将a[i]下一个元素赋值给b[j],赋值完成后,j值加1,因此a[i]的'a'和'y'分别赋值给b[0],b[1],输出结果为ay。答案选择D选项。

  • 第13题:

    对于下面的程序includeincludechar *scmp(char*s1,char*s2){if(strcmp(s1,

    对于下面的程序 #include<stdio.h> #include<string.h> char *scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i:char string[20],sb[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[21)); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为______。

    A.abcd

    B.abba

    C.abc

    D.abca


    正确答案:B
    解析:本题自定义函数scrnp()的作用是比较字符串s1和s2的大小,如果s1s2,函数返回s1的值,否则返回s2的值。若运行时依次输入abcd、abba和abc三个字符串,执打strcpy(string,scmp(str[0],str[1]));后,string的值为abba,再执行strcpy(string,scmp(string,str[2]));,由于scmp(string,str[2])返回string的值abba,再拷贝到字符串数组string中,所以本题输出abba。

  • 第14题:

    以下程序运行后的输出结果是()。includevoid main(){ char aft="abbcabbcabbc"; int

    以下程序运行后的输出结果是( )。 #include<iostream.h> void main() { char aft="abbcabbcabbc"; int i=0,j=0,k=0; while(a[i]) { if(a[i]=='a') j++; if(a[i]=='b') k++; i++; } cout<<j<<""<<k<<end1; }

    A. 2,6

    B.3,5

    C.4,7

    D.3,6


    正确答案:D
    解析:程序中首先定义字符数组a,然后在while循环中统计字符a和b的个数。其中j记录a的个数,k记录b的个数。第一个if语句是当第i个字符为a时,i加1;第二个if语句是当第i个字符为b时,k加1。

  • 第15题:

    以下程序的输出结果是______。includeincludefun(char*w,int n){ char t,*s

    以下程序的输出结果是______。 #include<stdio.h> #include<string.h> fun(char*w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) { t=*s1++; *s1=*s2-; *s2=t; } } main() { char*p; p="1234567"; fun(p,strlen(p)); puts(p); }

    A.1234567

    B.7654321

    C.1711717

    D.7177171


    正确答案:C
    解析:在子函数fun中,s1为字符串w的起始地址,s2为字符串的结束地址(字符'\0'除外),当执行循环结束循环, w="1711717"。

  • 第16题:

    以下程序的输出结果是( )。 include main() {int i=10,j=0; do {j=j+i; i--; }while(i>5

    以下程序的输出结果是( )。 include<stdio.h> main() {int i=10,j=0; do {j=j+i; i--; }while(i>5); printf("%d\n",j); }


    正确答案:40
    40 解析:分析程序,初始时i=10,j=0,这时do循环中的“i=j+i”

  • 第17题:

    以下程序的输出结果是【】。 include viod main() {char sl[5]= "ABCD", s2=[5];int k

    以下程序的输出结果是【 】。

    include<iostream. h>

    viod main() {

    char sl[5]= "ABCD", s2=[5];

    int k;

    for(k=0;k<4:k++)

    s2[k]=(sl[k]- '0' +1) + '0' ;

    s2[k]= '\0' ;

    cout<<s2;


    正确答案:BCDE
    BCDE

  • 第18题:

    以下程序的输出结果是 ______。includevoid main(){ char s1[]=”Hello”,s2[]="World

    以下程序的输出结果是 ______。 #include<iostream.h> void main(){ char s1[]=”Hello”,s2[]="World"; char *p1,*p2; int i; p1=s1; p2=s2; for(i=0;i<5;i++) if(*(pl+i)==*(p2+i)) cout<<*(p1+i); }

    A.H1

    B.Ho

    C.10

    D.1


    正确答案:D

  • 第19题:

    有如下程序includevoid main(){char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;

    有如下程序 #include<iostream.h> void main() {char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>'\0';j+=2) s=10*s+p[i][j]-'0'; cout<<s; return 0; } 该程序的输出结果是( )。

    A.69825

    B.63825

    C.6385

    D.693825


    正确答案:C

  • 第20题:

    以下程序运行后的输出结果是【】。include main(){int i=10,j=0;do{j=j+ i; i--;}while

    以下程序运行后的输出结果是【 】。

    include <iostream.h>

    main()

    {

    int i=10,j=0;

    do

    {

    j=j+ i; i--;

    }

    while(i>2);

    cout<<j;

    }


    正确答案:52
    52

  • 第21题:

    有以下程序:include using namespace std;int main ( ){ char s1[10],s2[10]; char*p

    有以下程序: #include <iostream> using namespace std; int main ( ) { char s1[10],s2[10]; char *p=s1,*q=s2; cin>>s1>>s2; while (*p ! =' \0 ' ) p++; while (*q!='\0') *p++=*q++; *p='\0'; cout<<s1<<end1; return 0; }

    A.abcd0ghij

    B.abcd0ghij0

    C.abcd

    D.abcdghij


    正确答案:D
    解析:程序定义两个字符串指针p和q,并使指针分别指向字符串数组s1和s2。数组s1和s2通过输入的字符串赋初值。程序中第1个while语句,用来计算s1的长度,并把指针p移到数组s1的最后一个元素。第2个while语句,是将数组s2中的字符串合并到数组s1的后面。语句“*p'\0';”,是合并后的字符串s1的结束标志。所以最后s1中的字符串为abcdghij。

  • 第22题:

    若输入 "I am a boy!",下列程序的运行结果为______。 char connect(string1,string2,string) char string1[],string2[],string[]; { int i,j; for (i=0;stringl[i] !='\0';i++) string[i]=stringl[i]; for (j=0;string2[j] !='\0';j++) string[i+j]=string2[j]; string[i+j ] ='\0'; } main ( ) { char s1 [100] , s2 [100] , s [100]; printf ("\n 输入 string1: \n"); scanf("%s",s1); printf (" \n 输入 string2: \n" ); scanf ("%s", s2); connect (s1, s2, s); printf ("%s\n", s); }

    A.I am a boy!

    B.输入string2:

    C.I am

    D.I am a boy!


    正确答案:C

  • 第23题:

    单选题
    有以下程序:#include #include main(){ char w[20], a[5][10] = {abcdef, ghijkl, mnopq, rstuv, wxyz}; int i,j; for(i=0;i<5;i++) {  j=0;  while(a[i][j]!='\0')j++;  w[i]=a[i][j-2]; } w[5]='\0'; puts(w);}程序运行后的输出结果是(  )。
    A

    agmrw

    B

    ekpuy

    C

    djotx

    D

    flqvz


    正确答案: C
    解析:
    本题程序功能是依次将a[0]、a[1]、a[2]、a[3]对应的字符串中的倒数第二个字符赋给w[0],w[1],w[2],w[3],答案选择B选项。