下列程序的输出结果是______。 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

题目
下列程序的输出结果是______。 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;

}


相似考题
更多“下列程序的输出结果是______。 include<iostream.h> int CalcDigital(char*str) { if(str= =NULL) ”相关问题
  • 第1题:

    从键盘上输入XXYYZZXYZWXP和X,以下程序的输出结果是【】。 include include

    从键盘上输入XXYYZZXYZWXP和X,以下程序的输出结果是【 】。

    include<iostream.h>

    include<string.h>

    void main(){

    char*str,ch;

    int count=0,pos;

    cin>>str>>ch;

    pos=strlen(str)-1;

    while(pos>=0){

    if((str[pos])=ch)count++;

    pos--;

    }

    cout<<"count="<<count;

    }


    正确答案:count=4
    count=4

  • 第2题:

    以下C程序段的输出结果是(30)。 include void abc(char *str){ int a, b;

    以下C程序段的输出结果是(30)。 #include <stdio. h> void abc(char *str){ int a, b; for(a=b=0;str[a]!='\O';a++)if(str[a]!='c') str[b++]=str[a]; str[b]='\O'; } void main(){ char str[]="abcdef"; abc(str); printf("str[]=%s",str); }

    A.str[]=a

    B.str[]=ab

    C.str[]=abdef

    D.str[]=abcdef


    正确答案:C
    解析:本试题核心在于子函数的for循环。For循环将整个字符串中的字符处理一遍,每次处理时,函数的基本工作是将除字母c之外的字符重新赋值,然后a++,b++,继续处理下一个字符。对于字母c不赋值,且只有a++而b不变。可见for循环的目的只是将字母c剔除。

  • 第3题:

    下面程序的结果是()。includevoid main(){char *str;str="test!";cout<

    下面程序的结果是( )。#include<iostream.h>void main(){char *str;str="test!";cout<<str[5];}

    A.程序错误

    B.!

    C.'\0'

    D.为空字符


    正确答案:D

  • 第4题:

    下列程序的运行结果是______。include class Base { public: void f(int x){cout<<“B

    下列程序的运行结果是______。

    include<iostream.h>

    class Base

    {

    public:

    void f(int x){cout<<“Base:”<<x<<endl;}

    );

    class Derived:public Base

    {

    public:

    void f(char*str){cout<<“Derived:”<<str<<endl;}

    };

    void main(void)

    {

    Base*pd=ne


    正确答案:Base:97。
    Base:97。 解析: 本题主要考查两个知识点,一是基类指针可以指向派生类对象,并可以访问派生类的所有成员。二是在函数重载中进行隐式类型转换。如pd->f(‘a’);系统到底调用哪个重载函数呢?实参既不是派生类中的形参,也不是基类中f函数的形参类型。此时系统根据就近原则和从高优先级到低优先级的规则尝试隐式转换。单字符更接近整数,故调用的是基类的f函数。

  • 第5题:

    以下程序的输出结果是【 】。includeincludechar*fun(char*0{ char *p--t;retur

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

    include <stdio.h>

    include <string.h>

    char *fun(char *0

    { char *p--t;

    return (p+strlen(t)/2);

    }

    main()

    { char *str="abcdefgh";

    str=ftm(str);

    puts(str);

    }


    正确答案:efgh
    efgh 解析:本题考查的知识点是:字符指针。题目中的fun()函数,通过strlen()库函数得到形参t所指字符串的长度。然后返回t所指字符串首地址值加上该长度值的一半。所以fun()函数的作用就是返回所给字符串的中间位置。故最后通过puts()输出的字符串为"efgh"。

  • 第6题:

    以下程序运行后输入: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()的功能。经过分析可知,每次调用该函数时,都是把最后一个字符移到串的最前端,而原先的第一个字符至倒数第二个字符顺次后移。

  • 第7题:

    下面程序的输出结果是 include includevoid main( ) { char p1[10] ,p2

    下面程序的输出结果是

    #include<iostream.h>

    #include<string.h>

    void main( )

    {

    char p1[10] ,p2[10] ;

    strcpy(p1,"abc") ;

    strcpy(p2,"ABC") ;

    char str[50] ="xyz";

    strcpy(str+2,strcat(p1,p2) ) ;

    cout < < str;

    }

    A.xyzabcABC

    B.zabcABC

    C.xyabcABC

    D.yzabcABC


    正确答案:C
    解析:该函数的调用方式是strcpy(字符数组,字符串) ,其中“字符串”可以是串常量,也可以是字符数组。函数的功能是将“字符串”完整地复制到“字符数组”中,字符数组中原有内容被覆盖。使用该函数时注意:①字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,连同结束标志'\0'一起复制。②不能用赋值运算符“=”将一个字符串直接赋值给一个字符数组,只能用strcpy( ) 函数来处理。strcat (字符数组,字符串) 的功能是把“字符串”连接到“字符数组”中的字符串尾端,并存储于“字符数组”中。“字符数组”中原来的结束标志被“字符串”的第一个字符覆盖,而“字符串”在操作中未被修改。使用该函数时注意:①由于没有边界检查,编程者要注意保证“字符数组”定义得足够大,以便容纳连接后的目标字符串;否则,会因长度不够而产生问题。②连接前两个字符串都有结束标志'\0',连接后“字符数组”中存储的字符串的结束标志'\0'被舍弃,只在目标串的最后保留一个'\0'。

  • 第8题:

    若有以下程序: include using namespace std; int main() {char str[10];cin>>str;co

    若有以下程序:

    include <iostream>

    using namespace std;

    int main()

    {

    char str[10];

    cin>>str;

    cout<< str<<end1;

    return 0;

    }

    当输入为:

    This is a program!

    那么执行程序后的输出结果是【 】。


    正确答案:This
    This 解析:本题考核C++的标准输入/输出。提取符可以从输入流中读取一个字符序列,即一个字符串。在处理这种字符序列时,字符串被认为是一个以空白字符结束的字符序列。因此,本题得到的输入仅仅是第一个空白符之前的字符序列 This。所以程序最后的输出是This。

  • 第9题:

    下列程序的输出结果是______。includeinclude using namespace std;void

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

    include <iostream.h>

    include <cstring.h>

    using namespace std;

    void fun(const char*s,char &C) {c=s[strlen (s)/2];}

    int main {)

    {

    char str [] ="ABCDE";

    char ch=str[1];

    fun(str,sh);

    cout<<Ch;

    return 0;

    }


    正确答案:C
    C 解析:本题考核数组的定义、使用以及函数的调用。fun函数的作用是将字符串str中间的字符赋值给地址传入的变量ch。所以ch的值将被修改为‘C’。

  • 第10题:

    下列程序的输出结果是()。includevoid main(){char*Str;str="testI";cout<

    下列程序的输出结果是( )。 #include<iostream.h> void main() { char*Str; str="testI"; cout<<str[5]; }

    A.test!

    B.test

    C.空字符

    D.异常


    正确答案:C
    解析: 字符指针str值为“test!”,它们的下标由0开始,并且具有一个尾符,输出str[5]的位置为尾符标识,指针字符指向的尾符为空。所以答案为空字符,即选项C)正确。

  • 第11题:

    下列程序的输出结果是 ()。 #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

  • 第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 void main() { char *str; str

    执行下列程序的结果是( )。 #include<iostream.h> void main() { char *str; str="test!"; cout<<str[5]; }

    A.test!

    B.test

    C.空字符

    D.异常


    正确答案:C
    解析:字符指针str值为“test!”,它们的下标由0开始,并且具有一个尾符,输出str[5]的位置为尾符标识,指针字符指向的尾符为空。所以答案为空字符。

  • 第14题:

    下列程序的输出结果是【】。 include include void main(){ char b[30]; str

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

    include<iostream.h>

    include<string.h>

    void main(){

    char b[30];

    strcpy(&b[0],"XY");

    strcpy(&b[1],"YZW");

    strcpy(&b[2],"ZXY");

    cout<<b<<end1;

    }


    正确答案:XYZXY
    XYZXY

  • 第15题:

    下面程序的结果是( )。 #include"iostream.h" void main() { char *str; Str="test!"; cout<<str[5]; }

    A.程序错误

    B.!

    C.'\0'

    D.为空字符


    正确答案:D

  • 第16题:

    以下程序的输出结果是 ______。includeincludevoidmain(){char *p1=",he

    以下程序的输出结果是 ______。 #include<iostream.h> #include<string.h> void main(){ char *p1=",hello",*p2="world!",str[50]:"Hii"; strcpy(str+2,p1); strcat(str,p2); cout<<str; }

    A.Hii,hello world!

    B.hello world!

    C.ii,hello world!

    D.Hi,hello world!


    正确答案:D

  • 第17题:

    下列程序的输出结果是【】。 include include using namespace std; void fun(c

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

    include<iostream>

    include<cstring>

    using namespace std;

    void fun(const char *s,char &c){c=s[strlen(s)/2];}

    int main()

    {

    char str[]="ABCDE";

    char ch=str[1];

    fun(str,ch);

    cout<<ch;

    return 0;

    }


    正确答案:C
    C

  • 第18题:

    下列程序的输出结果是______。 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"。

  • 第19题:

    下面程序的运行结果是 ______。 include void main() { char str[]="SSSWLIA",c; int

    下面程序的运行结果是 ______。

    include<iostream.h>

    void main()

    {

    char str[]="SSSWLIA",c;

    int k;

    for(k=2;(c=str[k]!='\0';k++)

    {

    switch(c)

    {

    case'I':++k;break;

    case'l';continue;

    default;c


    正确答案:SWL*
    SWL*

  • 第20题:

    以下程序运行后的输出结果是______。includeinclude usingnamespacestd;classY

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

    include <iostream>

    include <string>

    using namespace std;

    class Y;

    class X

    {

    int x;

    char *strx;

    public:

    X(int a, char *str)

    {

    x=a;

    strx=new char[strlen(str)+1]

    strcpy (strx,str);

    }

    void show(Y &ob);

    };

    class Y

    {

    prlvate:

    int y;

    char *stry;

    public:

    Y(int b,char *str)

    {

    y=b;

    stry=new char[strlen(str)+1];

    strcpy(stry,str);

    }

    friend void X::show(Y &ob);

    };

    void X::show{Y &ob)

    {

    cout<<strx<<",",

    cout<<ob.stry<<endl;

    }

    int main{

    {

    X a (10, "stringX");

    Y b (20, "stringY");

    a. show (b);

    renurn 0;

    }


    正确答案:stringX stringY
    stringX stringY 解析:本题考核友元函数的应用。该程序中,类X的成员函数show()在类Y中说明为类Y的友元函数,因此,在该友元成员show()中可以访问类Y的私有成员stry.成员函数show()的功能就是输出类X的私有成员strx和 Y对象ob的私有成员stry。主函数main()中定义了 X类的一个对象a和Y类的一个对象b,并且都进行了初始化.然后调用对象a的成员函数show,输出对象a中私有成员strx中的内容和对象b中私有成员stry中的内容,即字符串stringX和stringY。

  • 第21题:

    阅读下列程序,当运行函数时,输入asd af aa z67,则输出为includeincludeinc

    阅读下列程序,当运行函数时,输入asd af aa z67,则输出为 #include<stdio.h> #include<ctype.h> #include<string.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; clrscr(); printf("Input a string:"); gets(str); puts(str); fun(str); printf("%s\n",str); }

    A.asdafaaz67

    B.asdafaaz67

    C.asd

    D.z67


    正确答案:A
    解析:本题题意要求删除所有空格,即除了空格以外的其他所有字符都要留下。由于C语言中没有直接删除字符的操作,所以我们对于删除字符的操作都是采用“留下”字符的算法,以前的题目亦是如此。用str[i]从串头到串尾逐一走动,每走到一个字符都判断其是否为空格,若不是空格(注意在if()的单引号之间有一个空格),则将其保存str[j]中。注意j的下标变化、初值及最后加串结束符'\0'。

  • 第22题:

    以下程序的输出结果是【 】。includeincludechar*fun(char*t){ char *p=t;retur

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

    include <stdio.h>

    include <string.h>

    char *fun(char *t)

    { char *p=t;

    return (p+strlen(t)/2);

    }

    main()

    { char *str="abcdefgh";

    str=ftm(str);

    puts(str);

    }


    正确答案:
    efgh 解析:本题考查的知识点是:字符指针。题目中的fun()函数,通过strlen()库函数得到形参t所指字符串的长度。然后返回t所指字符串首地址值加上该长度值的一半。所以fun()函数的作用就是返回所给字符串的中间位置。故最后通过puts()输出的字符串为"efgh"。

  • 第23题:

    单选题
    有如下程序:#include int disp(char *str){ while(*str) putchar(*str++); return *str;}main(){ printf(%d,disp(NAME));}程序运行后的输出结果是(  )。
    A

    NAME0

    B

    NAMEE

    C

    NAME

    D

    NAME\0


    正确答案: D
    解析:
    程序执行过程为:调用函数disp,将字符串“NAME”首地址传给指针str,在while循环中,依次判断字符串中字符是否为'\0',不是'\0'则输出字符,否则结束循环。当(*str) = '\0'时,结束循环,返回字符'\0'的ASCII码0,并输出。程序运行后的输出结果是:NAME0。答案选择A选项。