参考答案和解析
正确答案: 2
解析: 暂无解析
更多“程序段char*s=”aBcD”;n=0;while(*s!=’/0’){if(*s>=’a’&&*s<=’z’)n++”相关问题
  • 第1题:

    有以下程序includevoidfun(char*t,char*s){while(*t!=0)t++;while((*t++=*s++)!=0);}m

    有以下程序 #include <stdio.h> voidfun(char*t,char*s) {while(*t!=0) t++; while((*t++=*s++)!=0); } main() {char ss[10]="acc",aa[10]="bbxxyy"; fun(ss,aa); printf("%s,%s\n",ss,aa); } 程序的运行结果是

    A.accxyy,bbxxyy

    B.acc,bbxxyy

    C.accxxyy,bbxxyy

    D.accbbxxyy,bbxxyy


    正确答案:D
    解析: 本题中fun函数实现丁字符串函数str-eat的功能,将字符串aa连接到字符串ss的末尾。调用fun函数时,形参t和s分别指向了字符串ss和aa,然后通过一个while循环使t指向字符串ss的结束符的位置,第二个while循环将字符串aa中的字符(包括结束符'\0')逐个复制到字符串ss的末尾处。

  • 第2题:

    下列程序的输出结果是______。 includef(char 8s){char *p=s;while(*p!='\0')p++;retur

    下列程序的输出结果是______。# include<stdio.h>f(char 8s){ char *p=s; while(*p!='\0')p++; return(p-s);}main(){ printf("%d\n",f("ABCDEF"));}

    A.3

    B.6

    C.8

    D.0


    正确答案:B

  • 第3题:

    有以下程序includeintfun(chars[]){intn=0;while(*s<='9'&&*s>='0'){n=10*n+*

    有以下程序 #include <stdio.h> int fun(char s[]) { int n=0; while(*s<='9'&&*s>='0') {n=10*n+*s-'0';s++;} return(n); } main() {char s[10]={'6','1','*','4','*','9','*','0','*'}; printf("%d\n",fun(s)); } 程序的运行结果是

    A.9

    B.61490

    C.61

    D.5


    正确答案:C
    解析: 在fun函数中,while循环的功能是:逐个取字符数组s的字符判断其是否是数字。若是则将其作为个位数字保存到变量n中,n的原数据的各个数位将相应左移一个10进制位。当指针s指向数组的第3位时,循环条件不成立,循环结束,返回n的值,输出n的值为61。

  • 第4题:

    请读程序: includef(char * s){cahr * p=s;while(* p!='\0')p++;return(p-s);}main(){

    请读程序: # include<stdio.h> f(char * s) {cahr * p=s; while(* p!='\0')p++; return(p-s); } main() {printf("%d\n”,f("ABCDEF"));} 上面程序的输出结果是 ( )

    A.3

    B.6

    C.8

    D.0


    正确答案:B

  • 第5题:

    有以下程序

    #include<stdlo.h>

    main( )

    {char s[]={“012xy”};int i,n=0;

    for(i=0;s[i]!=0;i++)

    if(s[i]>=‘a’&&8[i]<‘z’)n++:

    printf(”%d\n”,n);

    }

    程序运行后的输出结果是

    A.0

    B.2

    C.3

    D.5


    正确答案:B
    解析:在字符串数组s[j]中,只有当下标i=3和i=4时,才满足if条件,所以n的值从0增加两次,结果为2。

  • 第6题:

    有以下程序

    #include<stdio.h>

    main()

    {char s[]=“012xy\08s34f4w2”;

    int i,n=0:

    for(i=0;s[i]!=0;i++)

    if(s[i]>=‘0’&&s[i]<=‘9’)n++:

    printf(“%d\n”,n):

    }

    程序运行后的输出结果是

    A.0

    B.3

    C.7

    D.8


    正确答案:B

  • 第7题:

    有下列程序: include<stdi0.h>voidfun(char*s){while(*s){if(*s%2==(1)printf("%C&q

    有下列程序:

    #include<stdi0.h>

    voidfun(char*s)

    {while(*s)

    {if(*s%2==(1)printf("%C",*s);

    s+十:

    }

    }

    voidmain( )

    {chara[]={"good");

    fun(a);printf("n");

    }

    注意:字母a的ASCIl码值为97,程序运行后的输出结果是( )。

    A.d

    B.go

    C.god

    D.good


    正确答案:A
    A。【解析】在本题中,子函数fun(char*s)的功能是如果*s的ASCIl值是偶数,则输出*s,主函数中当实参的值为good时,9的ASCIl值是103,字母o的ASCIl值是111,字母d的ASCIl值是100,只有字母d的ASCIl值是偶数,所以输出字母d。

  • 第8题:

    有以下程序 include void fun(char *t,char *s) { while(*t!=0) t++; while((*t++=*s

    有以下程序

    #include <stdio.h>

    void fun(char *t,char *s)

    { while(*t!=0) t++;

    while((*t++=*s++)!=0);

    }

    main( )

    { char ss[10]="acc",aa[10]="bbxxyy";

    fun(ss,aa); printf("%s,%s\n",ss,aa);

    }

    程序的运行结果是

    A.accxyy,bbxxyy

    B.acc,bbxxyy

    C.accxxyy,bbxxyy

    D.accbbxxyy,bbxxyy


    正确答案:D
    解析:本题中fun函数实现了字符串函数strcat的功能,将字符串aa连接到字符串ss的末尾。调用fun函数时,形参t和s分别指向了字符串ss和aa,然后通过一个while循环使t指向字符串ss的结束符的位置,第二个while循环将字符串aa中的字符(包括结束符“\0”)逐个复制到字符串ss的末尾处。

  • 第9题:

    有以下程序 include<stdio.h>intfun(chars[]){intn=0;while(*s<=’9’&&

    有以下程序

    #include<stdio.h>

    int fun(char s[])

    {

    int n=0;

    while(*s<=’9’&&*s>=’0’) { n=10*n+*s-‘0’;s++; }

    return(n);

    }

    main()

    {

    char s[10]={‘6’,’1’,’*’,’4’,’*’,’9’,’*’,’0’,’*’};

    printf(“%d\n”,fun(s));

    }

    程序的运行结果是( )。

    A.9

    B.61490

    C.61

    D.5


    正确答案:C

  • 第10题:

    程序段char*s=”aBcD”;n=0;while(*s!=’/0’){if(*s>=’a’&&*s<=’z’)n++;s++;}执行后n=()。


    正确答案:2

  • 第11题:

    填空题
    程序段char*s=”aBcD”;n=0;while(*s!=’/0’){if(*s>=’a’&&*s<=’z’)n++;s++;}执行后n=()。

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

  • 第12题:

    单选题
    有以下程序#include int fun(char s[]){ int n=0; while(*s='0') {  n=10*n+*s-'0';  s++; } return (n);}main(){ char s[10]={'6','1','*','4','*','9','*','0','*'}; printf("%d",fun(s));}程序的运行结果是(  )。
    A

    61490

    B

    61

    C

    9

    D

    5


    正确答案: B
    解析:
    f函数将依次遍历字符数组,将其中的数字字符转换为对应的整数,并按照其出现的顺序将其构造成一个整数,直至遇见非数字字符循环停止。本题中,依次遍历到'6','1',构造成整数61,循环遇到'*'时结束,返回61。答案选择B选项。

  • 第13题:

    有以下程序:

    include<stdio.h>

    main( )

    {char s[]="012xy\O8s34f4w2‘;

    int i;n=0; ,

    for(i=0;s[i]!=0;i++)

    if(s[i]>=0s[i]<=9)n++;

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

    }

    程序运行后的输出结果是( )。

    A.0

    B.3

    C.7

    D.8


    正确答案:B

    考查简单的C程序数组和循环。for循环是指i=0,如果s/[3]!=0,则i自动加1。if循环指的是s[i]中的元素大于等于0且小于等于9,则n加l,所以答案为B。

  • 第14题:

    有以下程序 include int fun(char s[]) { int n=O; whil

    有以下程序 #include <stdio.h> int fun(char s[]) { int n=O; while(*s<='9'&&*s>='0') { n=10*n+*s-'0'; s++; } return (n); } main() { char s[10]={ '6', '1', '*', '4', '*', '9', '*', '0', '*'}; printf("%d\n",fun(s)); }

    A.9

    B.61490

    C.61

    D.5


    正确答案:C
    解析:题目fun()函数中while循环的意思是:判断s所指内容是否为数字字符,如果是数字字符,则计算表达式11=10*n+*s-'0';。其中。s-'0'的作用是将相应的数字字符转换为数值,例如字符'8'减去字符'0'后,得到的结果就是数值8了。n=10*n+的作用是将累计变量n中原来内容乘以10,然后再加上刚转换的数字字符的数值,例如原来n的值为1,*s现在的内容为'2',那么执行了n=10*n+*s-'0,;语句后,n的值变为12,如果接下来再来一个'8'字符,执行n=10*n+*s-'0';语句后,n的值就是128了。故不难看出fun()函数的作用是“将数字字符串转换为相应的十进制数值,碰到非数字字符时结束”。从主函数中定义的字符数组s的初始化内容可以看出,fun()函数返回值应该是61。故应该选择C。

  • 第15题:

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

    A.0

    B.2

    C.3

    D.5


    正确答案:B
    本题考查for循环。当i=0时,开始for循环,因为数组的下标是从0开始的,所以s[o]=0,不符合for循环,不执行下边的语句,当i=1时,继续执行if语句,if语句的功能是如果在小写字母a~z,则记数n加1。所以本题结果为2。

  • 第16题:

    若已包括头文件,运行下列程序段时输出结果是()。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。

  • 第17题:

    有以下程序 #include<stdio.h> int fun(char s[]) {int n=0; while(*s<=9&&*s>=0){n=10*n+*s-o;s++;) return(n); } main {char s[10]={6,1,*,4,*,9,*, 0,*); printf("%d",fun(s)); } 程序运行的结果是( )。

    A.9

    B.61490

    C.61

    D.5


    正确答案:C
    在fun函数中,while循环的功能是逐个取字符数组s的字符判断其是否是数字。若是则将这些数字组成一个数保存到变量n中,并返回变量n的值。

  • 第18题:

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

  • 第19题:

    有以下程序 include int fun(char s[ ]) { int n=0; while(*s<='9'&&*s>='0

    有以下程序

    #include <stdio.h>

    int fun(char s[ ])

    { int n=0;

    while(*s<='9'&&*s>='0') {n=10*n+*s-'0';s++;}

    retum(n);

    }

    main( )

    { char s[10]={'6','1','*','4','*','9','*','0','*'};

    printf("%d\n",fun(s));

    }

    程序的运行结果是

    A.9

    B.61490

    C.61

    D.5


    正确答案:C
    解析:在fin函数中,while循环的功能是:逐个取字符数组s的字符判断其是否是数字。若是则将其作为个位数字保存到变量n中,n的原数据的各个数位将相应左移一个十进制位。当指针s指向数组的第3位时,循环条件不成立,循环结束,返回n的值,输出n的值为61。

  • 第20题:

    有以下程序: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。

  • 第21题:

    程序段intcount=0;char*s=”ABCD”;while(*s!=’/0’){s++;count++;}执行后count=()。
    4

  • 第22题:

    单选题
    有以下程序:#include main(){ char s[] = 012xy\08s34f4w2; int i,n = 0; for(i = 0;s[i]!='0';i++)  if(s[i]>'0'&& s[i]<='9')n++; printf(%d,n);}程序运行后的输出结果是(  )。
    A

    0

    B

    3

    C

    7

    D

    8


    正确答案: B
    解析:
    此题有陷阱,考查的是for的执行顺序,①i=0,初始化初值;②s[i]!='0'进行判断,如果条件为真,则继续执行;③执行循环体代码;④i++变量i自增;⑤回到第②步,一直循环下去,直到第②步为假,退出循环。本题i= 0时,s[i]=='0',for循环终止,接着执行printf语句,n的值没有发生变化,故输出0,答案选择A选项。

  • 第23题:

    填空题
    程序段intcount=0;char*s=”ABCD”;while(*s!=’/0’){s++;count++;}执行后count=()。

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

  • 第24题:

    单选题
    有以下程序:#include main(){    char s[]={012xy};    int i,n=0;    for(i=0;s[i]!=0;i++)  if(s[i]>='a'&&s[i]<='z')n++;    printf(%d,n);}程序运行后的输出结果是(  )。
    A

    0

    B

    2

    C

    3

    D

    5


    正确答案: A
    解析:
    程序中main函数的作用就是判断字符串s中小写字母的个数,显然结果为2。答案选择B选项。