niusouti.com
更多“下面程序段的运行结果是 char *s="abcde"; s+=2;printf("%d",s);A.cdeB.字符′c′C.字符′c′的地址D ”相关问题
  • 第1题:

    下面程序段的运行结果是

    char str[]="ABC",*p=str;

    printf("%d\n",*(p+3));

    A.67

    B.0

    C.字符′C′的地址

    D.字符′C′


    正确答案:B
    解析:考查指向字符串的指针变量。在该题中,指针变量p指向的应该是该字符串中的首地址,p+3指向的是字符串结束标志'\0'的地址,因而*(p+3)的值为0。

  • 第2题:

    下面程序段的输出结果是 ______。 char *s="12345"; s+=2; cout<<*s;

    A.345

    B.字符'3'

    C.字符'3'的地址

    D.无确定的输出结果


    正确答案:A

  • 第3题:

    下面程序段char *s="abcde";s+=2;printf("%d",s);的运行结果是( )

    A.ced

    B.字符'c'

    C.字符'c'的地址

    D.无确定的输出结果


    正确答案:C 

  • 第4题:

    下列程序段的运行结果是()。includevoid main(){char str[]="ABC",*p=str;printf("%d\n

    下列程序段的运行结果是( )。 #include<stdio.h> void main() { char str[]="ABC",*p=str; printf("%d\n",*(p+3)); }

    A.67

    B.0

    C.字符'C'的地址

    D.字符'C'


    正确答案:B
    解析: 先定义了一个指向字符型数组str的指针p,指针p旨向数组str的首地址,p+3将指针指向str[3],又因为字符型数组在存放字符串时会自动在末尾加上'\0',所以*(p+3)=0。

  • 第5题:

    以下程序运行后;输出结果是______。 main() { char*d[]={"ab","cde"}; printf("%x",d[1]); }

    A.cde

    B.字符c的ASCII码值

    C.字符c的地址

    D.出错


    正确答案:C
    解析:指针数组中的每一个元素都相当于一个指针变量。一维指针数组的定义形式为:类型名*数组名[数组长度],在本题main函数中定义指针数组d,它有两个元素,其初值分别是"ab"、"cde"的首地址。d[1]的值为"cde"的首地址。%x是指以十六进制数形式输出整数。

  • 第6题:

    面下程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A.67 B.0 C.字符’C’的地址 D.字符’C’


    正确答案:B
    本题主要考查指向字符串的指针变量。在该题中,指针变量p指向的应该是该字符串中的首地址,p+3指向的是字符串结束标志’\0’的地址,因而*(p+3)的值为0。

  • 第7题:

    下面程序的运行结果是()。includeincludemain(){char*s1="abDuj";char*s2="

    下面程序的运行结果是( )。 #include<stdio.h> #include<string.h> main() {char*s1="abDuj"; char*s2="ABdUG"; int t; t=strcmp(s1,s2); printf("%d",t); }

    A.正数

    B.负数

    C.零

    D.不确定的值


    正确答案:A

  • 第8题:

    以下程序:includemain(){char str[10];scanf("%s",&str);printf("%s\n",str);}运

    以下程序: #include<stdio.h> main() {char str[10]; scanf("%s",&str); printf("%s\n",str); } 运行上面的程序,输入字符串how are you,则程序的执行结果是( )。

    A.how

    B.how are you

    C.h

    D.howareyou


    正确答案:A
    解析:当从键盘输入bow are you时,由于scanf输入函数的特点是遇到空格时结束读入字符,因此,该程序只将how这3个字符送到了字符数组str中,并在其后自动加上结束符“\0”。

  • 第9题:

    下面程序段的输出结果是______。 char *s="abcde"; s+=2;printf("%d",s);

    A.cde

    B.字符'c'

    C.字符'c'的地址

    D.无确定的输出结果


    正确答案:C
    解析:语句s+=2;使指针指向字符'c',此时s中保存的便是字符'c'的地址。

  • 第10题:

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

  • 第11题:

    以下程序运行后的输出结果是______。 main() { char*s="abcde";s+=2;printf("%1d\n",s);}

    A.cde

    B.字符c的ASCII码值

    C.字符c的地址

    D.出错


    正确答案:C

  • 第12题:

    单选题
    有以下程序:#include main(){ char s[]=rstuv; printf(%c,*s+2);}程序运行后的输出结果是(  )。
    A

    tuv

    B

    字符t的ASCII码值

    C

    t

    D

    出错


    正确答案: D
    解析:
    "*"的优先级高于"+",因此先对s取内容,然后将s中的内容加2。s=&s[0],*s是字符r,*s+2表示字符r后的第二个字符t。答案选择C选项。

  • 第13题:

    下面程序段的运行结果是()。includevoid main(){char str[]="ABC",*p=str;pfintf("%d\n

    下面程序段的运行结果是( )。 #include<stdio.h> void main() {char str[]="ABC",*p=str; pfintf("%d\n",*(p+3)); }

    A.67

    B.0

    C.字符'C'的地址

    D.字符'C'


    正确答案:B
    解析:先定义了一个指向字符型数组str的指针P,指针P指向数组str的首地址,p+3将指针指向str[3],又因为字符型数组在存放字符串时会自动在末尾加上'\0',所以*(p+3)=0。

  • 第14题:

    有以下程序: #include<stdio.h> main { char s[]="rstuv"; printf("%c\n",*s+2); } 程序运行后的输出结果是( )。

    A.tuv

    B.字符t的ASCIl码值

    C.t

    D.出错


    正确答案:C
    本题中,语句printf函数输出的是字符指针S所指变量的ASCIl表对应值,即ASCIl表中值为s[0]+2的字符。所以选C。

  • 第15题:

    下面程序段的运行结果是 include void main( ) {char*s="abcde"; S+=2;

    下面程序段的运行结果是 #include<iostream.h> void main( ) { char*s="abcde"; S+=2; cout<<&s;}

    A.cde

    B.字符'c'

    C.字符'c'的地址

    D.无确定的输出结果


    正确答案:C
    解析:对于字符串指针,其保留的是整个串的首地址,即为第一个字符的起始地址,当该指针做算术运算时,就是该指针根据其类型向后移动相应的存储空间。

  • 第16题:

    下列程序段的运行结果是()。 include void main() {char str[]="ABC",*p=str; printf("

    下列程序段的运行结果是( )。

    #include<stdio.h>

    void main()

    { char str[]="ABC",*p=str;

    printf("%d\n",*(p+3) );

    }

    A.67

    B.0

    C.字符'C'的地址

    D.字符'C'


    正确答案:B
    解析:先定义了一个指向字符型数组str的指针p,指针p指向数组str的首地址,p+3将指针指向str[3],又因为字符型数组在存放字符串时会自动在末尾加上'\0',所以*(p+3)=0。

  • 第17题:

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

    main()

    {

    char*d[]={"ab", "cde"};

    printf("%x",d[1]);

    }

    A.cde

    B.字符c的ASCⅡ的值

    C.字符c的地址

    D.出错


    正确答案:C
    解析:指针数组中的每—个元素都相当于—个指针变量。—维指针数组的定义形式为:类型名*数组名[数组长度],在本题main函数中定义指针数组d,它有两个元素,其初值分别是“ab'’、“cdc'’的首地址。d[1]的值为“cde”的首地址。%x是指以十六进制数形式输出整数。

  • 第18题:

    运行下面的程序,输入字符串Microsoft Visual Studio,则程序的执行结果是()。includemai

    运行下面的程序,输入字符串Microsoft Visual Studio,则程序的执行结果是( )。 #include<stdio.h> main() {char Chr[20]; scanf("%s",&Chr); printf("%s\n”,Chr); }

    A.Microsoft Visua1 Studio

    B.M

    C.Microsoft

    D.MicrosoflVisualStudio


    正确答案:C
    解析:当从键盘输入Microsoft Visual studio时,由于scanf输入函数的特点是遇到空格时结束读入字符,因此,该程序只将Microsoft这9个字符送到了字符数组str中,并在其后自动加上结束符“\0”。

  • 第19题:

    下面程序的运行结果是includeincludemain(){ char*s1="AbDeG";char*s2="Ab

    下面程序的运行结果是 #include<stdio.h> #include<string.h> main() { char*s1="AbDeG"; char*s2="AbdEg"; s1+=2;s2+=2; printf("%d\n",strcmp(s1,s2)); }

    A.正数

    B.负数

    C.零

    D.不确定的值


    正确答案:B
    解析:本题考查了用指针处理字符串的方法。用指针处理字符串,首先要使指针指向该字符串。例如本题中的s1="AbDeG"就是使字符指针指向了字符串"AbDeG",而指针s1+=2则是指针向后移动了两个字符的位置,指向了字符‘D’。strcmp则是字符串比较函数。

  • 第20题:

    下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A.67 B.0 C.字符’C’的地址 D.字符’C’


    正确答案:B
    在本题中,程序段首先定义了一个字符型数组str,并将其初始化为“ABC”,然后定义一个字符型的指针变量p,使其指向数组str的首地址。然后程序运行输出语句,从输出语句的输出格式可以看出,要求输出的是一个十进制数值,而输出列表中的*(p+3)表示输出的是数组str中的第四个元素,从数组的初始化我们可以看出,其中只有三个字符元素,而输出语句则要求输出第四个元素。
    这里需要我们了解字符串在字符数组中的存储方式,字符串在字符数组中存储后,系统会自动给其添加一个结束标志’\0’,即0值。因此,在用字符数组存储字符串时,字符数组申请的空间应该是字符串的字符个数加1。
    根据上面的分析,我们可以知道输出的第四个元素是’\0’字符,它对应的十进制值是0,因此本题的正确答案是B。

  • 第21题:

    下列程序段的运行结果是()。includevoid main(){ char str[]="ABC",*p=str;printf("%d\

    下列程序段的运行结果是( )。#include<stdio.h>void main(){ char str[]="ABC",*p=str; printf("%d\n",*(p+3));}

    A.67

    B.0

    C.字符'C'的地址

    D.字符'C'


    正确答案:B
    解析:先定义了一个指向字符型数组str的指针p,指针p指向数组str的首地址,p+3将指针指向str[3],又因为字符型数组在存放字符串时会自动在末尾加上'\0',所以*(p+3)=0。

  • 第22题:

    有以下程序(注:字符a的ASCII码值为97)

    #include<stdio.h>

    main()

    { char*S={"abc"}:

    do

    {printf("%d",*s%10);++s;}

    while(*s);

    }

    程序运行后的输出结果是

    A.abc

    B.789

    C.7890

    D.979899


    正确答案:B
    解析:本题考察do…while循环语句以及字符串的相关知识,第一层循环*s为a,*s%10后的结果为7,同理依次输出8和9,所以结果为789,答案为B)。

  • 第23题:

    下面程序段的输出结果是( )。 char str[]="ABC",*p=str; Printf("%d\n",*(p+3));

    A.67

    B.0

    C.字符'C'的地址

    D.字符'C'


    正确答案:B
    解析:本题考查指向字符串的指针变量。指针变量p指向的应该是该字符串中的首地址,p+3指向的是字符串结束标志"\0"的地址,因而*(p+3)的值为0。

  • 第24题:

    单选题
    有以下程序 main() { char s[]="abcde"; s+=2; printf("%d/n",s[0]); } 执行后的结果是()
    A

    输出字符a的ASCII码

    B

    输出字符c的ASCII码

    C

    输出字符c

    D

    程序出错


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