下列程序的输出结果是 #include void main( ) { char * str="12123434"; int x1=0,x2=0,x3=0,x4=0,i; for(i=0;str[i]!='\0';i++) switch(str[i]) { case'1':x4++; case'2':x3++; case'3':x2++; case'4':x1++; } cout < < x1 < < "," < < x2A.8,6,4,1B.8,6,3,2C.8,8,4,1D.8,6,4,2

题目

下列程序的输出结果是 #include void main( ) { char * str="12123434"; int x1=0,x2=0,x3=0,x4=0,i; for(i=0;str[i]!='\0';i++) switch(str[i]) { case'1':x4++; case'2':x3++; case'3':x2++; case'4':x1++; } cout < < x1 < < "," < < x2

A.8,6,4,1

B.8,6,3,2

C.8,8,4,1

D.8,6,4,2


相似考题
参考答案和解析
正确答案:D
解析:本题考查循环的嵌套。只要注意在c++语言中,系统在字符指针的最后位置会增加一个字符串结束符'\0',执行8次for循环,再根据switch语句中的条件易知答案。注意:C++中各种条件判断,循环语句的用法。
更多“下列程序的输出结果是#includevoid main( ){ char * str="12123434";int x1=0,x2=0,x3=0,x4=0,i; ”相关问题
  • 第1题:

    下列程序的输出结果是()。includevoid main(){char*str=”12123434”;int x1=0,x2=0,x

    下列程序的输出结果是( )。 #include<iostream.h> void main() {char*str=”12123434”; int x1=0,x2=0,x3=0,x4=0,i; for(i=0;str[i]!=’\0’;i++) switch(str[i]) {case’1’:x4++; case’2’:x3++; case’3’:x2++; case’4’:xl++; ) cout<<xl<<“,”<<x2<<

    A.8,6,4,1

    B.8,6,3,2

    C.8,8,4,l

    D.8,6,4,2


    正确答案:D
    解析: 本题考查循环的嵌套,for和switch语句的应用。C++中。各种条件判断,循环语句的用法。只要注意在C++语言中,系统在字符指针的最后位置会增加一个字符串结束符'\0’,执行8次for循环,再根据,witch语句中的条件易知答案。

  • 第2题:

    下列程序的输出结果是( )。include<iostream.h>voidmain() (char*str="12123434&quo

    下列程序的输出结果是( )。#include<iostream.h>

    voidmain()

    (char*str="12123434";

    intx1=0,x2=0,x3=0,x4=0,i;

    for(i=0;str[i]!='\0';i++)

    switch(str[i])

    {case'1':x4++;

    case'2':x3++;

    case'3':x2++;

    case'4':x1++;

    }

    cout<<x1<<","<<x2<:<","<<x3<

    <","<<x4;

    }

    A.8,6,4,1

    B.8,6,3,2

    C.8,8,4,1

    D.8,6.4,2


    正确答案:D
    D。【解析】本题考查循环的嵌套、for和switch语句的应用、C++中各种条件判断,循环语句的用法。只要注意在C++语言中,系统在字符指针的最后位置会增加一个字符串结束符'\0',执行8次for循环,再根据switch语句中的条件易知答案。

  • 第3题:

    下列程序的输出结果是( )。#include<iostream.h> voidmain() (char*str="12123434"; intx1=0,x2=0,x3=0,x4=0,i; for(i=0;str[i]!=\0;i++) switch(str[i]) {case1:x4++; case2:x3++; case3:x2++; case4:x1++; } cout<<x1<<","<<x2<:<","<<x3< <","<<x4; }

    A.8,6,4,1

    B.8,6,3,2

    C.8,8,4,1

    D.8,6.4,2


    正确答案:D
    D。【解析】本题考查循环的嵌套、for和switch语句的应用、C++中各种条件判断,循环语句的用法。只要注意在C++语言中,系统在字符指针的最后位置会增加一个字符串结束符\0,执行8次for循环,再根据switch语句中的条件易知答案。

  • 第4题:

    以下程序运行后的输出结果是()。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。

  • 第5题:

    下列程序的输出结果是______。 includevoid main( ){ char a[]="abcdabcabfgacd"; in

    下列程序的输出结果是______。

    include<iostream.h>

    void main( )

    {

    char a[]="abcdabcabfgacd";

    int i1=0,i2=0,i=0;

    while(a[i])

    {

    if(a[i]=="a")i1++;

    if(a[i]=="b")i2++;

    i++;

    }

    cout<<i1<<""<<i2<<endl;

    }


    正确答案:4 3
    4 3 解析:分析while循环体可以判断出:il用于统计字符串中字符a的数量,i2用于统计字符b的数量。因此,考察数组a的内容可得其数量分别为4和3。

  • 第6题:

    下列程序的输出结果是______。 char*fun(char*str,int n) { int i; char*p=str; for(i=0;i<10;i++,str++) *str='a'+i; return++p; } main() { char a[10]; printf("%s\n",fun(a,10)); }

    A.ABCDEFGHIJ

    B.abcdefghij

    C.bcdefghij

    D.不确定的值


    正确答案:C
    解析:调用函数fun使字符数组中的内容是"abcdefghij",函数的返回值是字符数据的地址,该地址指向数组的第二个字符,因此,主函数的输出结果是字符串 "bcdefghij"。

  • 第7题:

    有如下程序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

  • 第8题:

    有以下程序includevoid main(){char s[]={"01aXy"};int i,n=0;for(i=0;s[i]!=0;i++)if

    有以下程序 #include<stdio.h> void main() { char s[]={"01aXy"};int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]<='a'&&s[i]>='z')n++; printf("%d\n",n); } 程序运行后的输出结果是( )。

    A.0

    B.2

    C.3

    D.5


    正确答案:A

  • 第9题:

    有以下程序: fun(char p[][10]) { int n=0,i; for(i=0;i<7;i++) if(P[i][0]=='T')n++; return n; } main() {char str[][10]={"Mon","Tue","wed","Thu","Fri","Sat","Sun"}; printf("%d\n",fun(str)); } 程序执行后的输出结果是( )。

    A.1

    B.2

    C.3

    D.0


    正确答案:B
    解析:fun()函数实现的功能为查找二维字符数组第一列中为字符T的个数。二维数组的地址作为函数的实参。

  • 第10题:

    下列程序的输出结果是includevoid main(){char*str="12123434";int x1=0,x2=0,x3=0

    下列程序的输出结果是 #include<iostream.h> void main() {char*str="12123434"; int x1=0,x2=0,x3=0,x4=0,i; for(i=0;str[i]!='\0';i++) switch(str[i]) {case'1':x4++; case'2':X3++; case'3':X2++; case'4':X1++; } cout<<X1<<","<

    A.8,6,4,1

    B.8,6,3,2

    C.8,8,4,1

    D.8,6,4,2


    正确答案:D

  • 第11题:

    下列程序的输出结果是______。 include int CalcDigital(char*str) { if(str= =NULL)

    下列程序的输出结果是______。

    include<iostream.h>

    int CalcDigital(char*str)

    {

    if(str= =NULL)

    return 0;

    int num_of_digital=0;

    for(int i=0;str{i]!=0x0;i++)

    if(str[i]<='9'&& str[i]>='0')

    num_of_digital++;

    return num_of_digital;

    }

    void main( )

    {

    char a[]="Beijing20080lympic";

    cout<<CalcDigital(a)<<endl;

    }


    正确答案:4
    4 解析:分析本题可知函数功能为计算一个字符串中包含的数字个数。字符串中包含的数字有2008,故输出为4。

  • 第12题:

    填空题
    下列程序的输出结果是 ()。 #include  #include   main( ) {    int i=0;    char str1[10]=“1234”, str2[10]= “567”;    strcat(str1,str2);    while(str2[i++]!=‘/0’)     str2[i]=str1[i];    puts(str2);   }

    正确答案: 5234567
    解析: 暂无解析

  • 第13题:

    有如下程序: include using namespace std; int main() { char st

    有如下程序: #include <iostream> using namespace std; int main() { char str[100], *p; cout<<"Please input a string:"; cin>>str; p=str; for (int i=0; *p!='\0'; p++,i++); cout<<i<<endl; return 0; }运行这个程序时,若输入字符串为 abcdefgabcd则输出结果是

    A.7

    B.12

    C.13

    D.100


    正确答案:A
    解析:本题考查的知识点是:默认的输入格式。C++流所识别的输入数据的类型及其默认的输入格式包括:
    short、int、long(signed、unsigned).与整型常量同
    float、double、long double:与浮点数常量同
    char(signed、unsigned):第一个非空白字符
    char*(signed、unsigned):从第一个非空白字符开始到下一个空白字符结束
    void*:无前缀的16进制数
    bool:VC6.0中把0识别为false,其他的值均识别为true
    注意其中空白字符和非空白字符的概念。空白字符是指空格、Tab符、回车换行等无显示的字符,否则就是非空白字符。本题的输入数据类型为char*,因此输入的数据是“从第一个非空白字符开始到下一个空白字符结束”,而输入数据为abcdefg abcd,其中abcdefg后有一个空格(空白字符)。所以输入后str中为字符串"abcdefg”,主函数中接下来for语句的作用是计算字符串p的长度。故最终输出的结果是"abcdefg”的长度7,本题应该选择A。

  • 第14题:

    以下程序运行后的输出结果是【】include main ( ) {char a[] ="123456789", *p;int i =0;

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

    include <stdio.h>

    main ( )

    { char a[] ="123456789", *p;

    int i =0;

    p=a;

    while( * p)

    { if(i%2 ==0) *p='*';

    p++;i++;

    }

    puts(a);

    }


    正确答案:*2*4*6*8*
    *2*4*6*8* 解析:程序中指针p指向数组a,while(*P)语句的循环条件是* p!='\0',在循环体中,当 i=0,2,4,6,8时,i%2=0,执行*p='*',即a[i]='*',继续执行p++;i++;使i为奇数;当i=1, 3,5,7时,i%2=1,继续执行p++;i++;使i为偶数。可见,程序在字符串"123456789",的下标为偶数的位置上赋值'*',代替原字符串中的1,3,5,7,9。所以,程序输出结果为*2*4*6*8*。

  • 第15题:

    下列程序的运行结果为()。includevoid abc(char*str){int a,b,i,j; for(i=j=0;str[i]!=

    下列程序的运行结果为( )。 #include<stdio.h> void abc(char*str) { int a,b,i,j; for(i=j=0;str[i]!='\0';i++) if(str[i]!='a' str[j++]=str[i]; str[j]='\0'; } void main() { char str[]="abcdef"; abc(str); printf("str[]=%s",str); }

    A.str[]=bcdef

    B.str[]=abcdef

    C.str[]=a

    D.str[]=ab


    正确答案:A
    解析:本题考查函数调用时的参数传递。通过函数abc的执行,将字符串中的字母a去掉,保留剩下的。由于是通过指针调用,所以改变字符串的结果。

  • 第16题:

    如下程序:includevoid main(){char str[2][5]={"1234","5678"),*p[2];int i,j,s=0;

    如下程序: #include<iostream.h> void main() { char str[2][5]={"1234","5678"),*p[2]; int i,j,s=0; for(i=0;i<2;i++)p[i]=str[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; } 该程序的输出结果是( )。

    A.1357

    B.2468

    C.3556

    D.23678


    正确答案:A
    解析:程序中的“for(i=0;i2;i++)p[i]=str[i];”语句将str中的值赋值给指针数组p。在接下来的二重for循环中,跳取“j+=2”,p指针指向的值即“1”,“3”,“5”,“7”。在分别对字符到整型的转换,即减去字符‘0’,然后依次转换为千位,百位,十位,个位“10%”操作输出接型s,即“1357”。

  • 第17题:

    以下程序运行后输入:3,abcde<回车>,则输出结果是【 】include move(char *str,

    以下程序运行后输入:3,abcde<回车>,则输出结果是【 】

    include <string.h>

    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;

    }

    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\n",s);

    }


    正确答案:cdeab
    cdeab 解析:本题主要考查函数move()的功能。经过分析可知,每次调用该函数时,都是把最后一个字符移到串的最前端,而原先的第一个字符至倒数第二个字符顺次后移。

  • 第18题:

    下列程序的输出结果是includevoid main( ){char*str="12123434";int xl=0,x2=0,x3=

    下列程序的输出结果是 #include<iostream.h> void main( ) {char*str="12123434"; int xl=0,x2=0,x3=0,x4=0,i; for(i=0;str[i]!='\0';i++) switch(str[i]) {case'1':x4++; case'2':x3++; case'3':x2++; case'4':x1++; } cout<<x1<<","<<x2<<","<<x3<<","<<x4; }

    A.8,6,4,1

    B.8,6,3,2

    C.8,8,4,1

    D.8,6,4,2


    正确答案:D
    解析:本题考查循环的嵌套。只要注意在C++语言中,系统在字符指针的最后位置会增加一个字符串结束符'\0',执行8次for循环,再根据switch语句中的条件易知答案。注意:c++中各种条件判断,循环语句的用法。

  • 第19题:

    有以下程序:include fun( char p[] [10]){int n=0,i; for(i=0;i<7;i ++) if(p[i][0] =

    有以下程序:#include <stdio.h>fun( char p[] [10]){ int n=0,i; for(i=0;i<7;i ++) if(p[i][0] =='T') n++; return n;}main( ){ char sir[] [10] = { "Mon" ,"Tue" ,"Wed" ,"Thu" ,"Fri" ,"Sat" ,"Sun" }; prlnff(" % d\n" ,fun(str) );}程序执行后的输出结果是( )。

    A.1

    B.2

    C.3

    D.0


    正确答案:B
    解析:数组名str作为函数参数将实参数组的起始地址传给形参数组p,当形参数组发生变化时主函数中的实参数组中的值也随之发生变化。调用fun函数执行for循环语句后,n为2,返回给main函数输出。

  • 第20题:

    下列程序的输出结果是includevoid main(){char*str="12123434"; int x1=0,x2=0,x3=

    下列程序的输出结果是 #include<iostream.h> void main() { char*str="12123434"; int x1=0,x2=0,x3=0,x4=0,i; for(i=0;str[i]!=‘\0’;i++) switch(str[i]) { case'l':x4++; case'2':X3++; case'3':x2++; case'4':X1++; } cout << X1 << " ," << x2 << " ’" << x3 << " ," << X4; }

    A.8,6,4,1

    B.8,6,3,2

    C.8,8,4,1

    D.8,6,4,2


    正确答案:D
    解析:本题考查循环的嵌套。只要注意在C++语言中,系统在字符指针的最后位置会增加一个字符串结束符‘、0’,执行8次for循环,再根据switch语句中的条件易知答案。注意:C++中各种条件判断,循环语句的用法。

  • 第21题:

    阅读下列程序,当运行程序时,输入asd af aa z67,则输出为()。includeint fun (char *str

    阅读下列程序,当运行程序时,输入asd af aa z67,则输出为( )。 #include <sldio.h> int fun (char *str) { int i,j=0; for(i=0;str[i]! ='\0';i++) if(str[i]! =") str[j++]=str[i]; str[j]='\0'; } main() { char str[81]; int n; printf("Input a string:"); gets(str); fun(str); printf("%s\n",str); }

    A.asdafaaz67

    B.asd af aa z67

    C.asd

    D.z67


    正确答案:A
    解析:本题题意是删除字符串中所有空格。由于C语言中没有直接删除字符的操作,所以删除字符的操作都是采用“留下”字符的算法来实现。从串头str[0]到串尾逐一比较,判断其是否为空格,若不是空格,则将其保存在str[j]中,最后加串结束符“\0”。

  • 第22题:

    下面程序的运行结果是()。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两个字符了。注意:形参为指针变量时,实参和形参之间的数据传递。

  • 第23题:

    下列程序的输出结果是 ()。 #include  #include   main( ) {    int i=0;    char str1[10]=“1234”, str2[10]= “567”;    strcat(str1,str2);    while(str2[i++]!=‘/0’)     str2[i]=str1[i];    puts(str2);   }


    正确答案:5234567