niusouti.com
更多“单选题以下程序段运行后*(++p)的值为() char a[5]=”work”; char *p; p=a;A ‘w’B 存放’w’的地址C ’o’D 存放’o’的地址”相关问题
  • 第1题:

    有以下程序并includeincludefun(char * w,int n){char t,*s1,*s2; s1=w;s2=

    有以下程序 并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[]="1234567"; fun(p,strlen(p)); puts(p); } 程序运行后的输出结果是( )

    A.1234567

    B.7654321

    C.1711717

    D.7177171


    正确答案:C

  • 第2题:

    有以下程序: matin() { char * s[]={"one", "two", "three"}, *p; p=s[1]; printf("% c, % s\n", *(p+1),s [o]); } 执行后的输出结果是______。

    A.n, two

    B.t, one

    C.w, one

    D.o, two


    正确答案:C
    解析:程序定义了一个指针数组s和一个字符型指针变量p。s有3个元素,其中s[0]指向字符串"one,s[1]指向字符串"two",s[2]指向字符串"three",执行p=s[1]后p指向字符串"two",所以*(p+1)=w。

  • 第3题:

    下列程序运行后,输出结果是______。 include include fun(char *w ,int

    下列程序运行后,输出结果是______。 #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

  • 第4题:

    以下程序段运行后*(p+3)的值为()char a[]=”good”;char *p;p=a;

    A.‘d’

    B.‘\0’

    C.存放’d’的地址

    D.‘0’


    参考答案:A

  • 第5题:

    有以下函数: charfun(char*D) {returnP;} 该函数的返回值是( )。

    A.无确切的值

    B.形参p中存放的地址值

    C.一个临时存储单元的地址

    D.形参p自身的地址值


    正确答案:A
    在程序中因为fun函数的返回值为char,而p是指向char的指针变量,因此类型不匹配,故选择A选项。

  • 第6题:

    设有如下的程序段: char str[]="Hello"; char *ptr; ptr=str; 执行完上面的程序段后,*(ptr+5)的值为( )。

    A.'o'

    B.'\0'

    C.不确定的值

    D.'o'的地址


    正确答案:B
    解析:本题考查字符数组的结束标志。ptr=str是将串str的首地址赋给了指针变量ptr,所以ptr+5指向字符串str的第六个数组元素,即是串的隐含结束标志'\0',*(ptr+5)='\0',最后的结果为'\0'。

  • 第7题:

    有以下程序

    #include<stdio.h>

    #include<string.h>

    void fun(char *w,int m)

    { char s,*p1,*p2;

    p1=w;p2=w+m-1;

    while(p1<p2){s=*p1;*p1=*p2;*p2=s;p1++;p2--;}

    }

    main()

    { char a[]="123456";

    fun(a,strlen(a));puts(a);

    }

    程序运行后的输出结果是

    A.654321

    B.116611

    C.161616

    D.123456


    正确答案:A
    解析:strlen函数的作用是计算字符串的长度,不包括'\0'在内。所以形参m的值为6,根据fun函数中pl和p2的赋值一个指向第一个字符'1',一个指向最后一个字符'6'。然后比较大小,且根据条件互换,直到条件为假跳出循环。第一次循环后为623451,第二次653421,第三次654321。即fun函数实现将一个字符串逆序存放。所以答案为A)。

  • 第8题:

    若有函数 char*func(char *p) { … return p; } 则该函数的返回值是 ______。

    A.无确切的值

    B.形参p中存放的地址

    C.一个临时存储单元的地址

    D.形参p自身的地址


    正确答案:B

  • 第9题:

    下面程序的运行结果是______。 include include fun(char*w,int n) { char

    下面程序的运行结果是______。 #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.7654321

    B.1714171

    C.1711717

    D.7177171


    正确答案:C

  • 第10题:

    试题35

    有以下程序

    #include <stdio.h>

    #include <string.h>

    void fun(char *w,int m)

    { char s, *p1, *p2;

    p1=w; p2=w+m-1;

    while(p1<p2){s=*p1; *p1=*p2; *p2=s; p1++; p2- -;}

    }

    main()

    { char a[]=”123456”;

    fun(a, strlen(a)); puts(a);

    }

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

    A.654321

    B.116611

    C.161616

    D.123456


    正确答案:A
    试题35分析
    while(p1<p2){s=*p1; *p1=*p2; *p2=s; p1++; p2- -;}的作用是将字符串中的字符进行首尾交换,即相当于将原来的字符串倒序输出。
    试题35答案
    A

  • 第11题:

    以下程序段运行后*(p+3)的值为() char a[]=”good”; char *p; p=a;

    • A、‘d’
    • B、‘/0’
    • C、存放’d’的地址
    • D、‘0’

    正确答案:A

  • 第12题:

    单选题
    若有说明和语句:char str[]=Hello, *p; p=str;则此时*(p+5)中的值为(  )。
    A

    '\0'

    B

    'o'

    C

    'o'的地址

    D

    不确定的值


    正确答案: B
    解析:
    定义字符数组并为其初始化,str数组前5个元素为Hello,第六个元素自动赋值为'\0'。定义指针使等于字符串首地址,p+5指向字符串第六个元素。答案选择A选项。

  • 第13题:

    有以下函数 char *fun(char*p) { return p; } 该函数的返回值是_____。

    A.无确切的值

    B.形参p中存放的地址值

    C.一个临时存储单元的地址

    D.形参p自身的地址值


    正确答案:B
    解析:p本身就是一个字符型指针变量,返回p也就是返回变量p中存放的地址值。

  • 第14题:

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

  • 第15题:

    以下程序段运行后*(++p)的值为()char a[5]=”work”;char *p;p=a;

    A.‘w’

    B.存放’w’的地址

    C.’o’

    D.存放’o’的地址


    参考答案:C

  • 第16题:

    阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    [说明1]

    函数void fun(char*w,char x,int*n)用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n指存储单元中存放数组中数据的个数,插入后数组中的数仍有序。

    [C函数1]

    void fun(char*W,char x,int*n)

    { int i,P;

    p=0;

    w[*n]=x;

    while(x>w[p]) (1) ;

    for(i=*n,i>p;i--)w[i]=(2);

    w[p]=x;

    ++*n;

    }

    [说明2]

    函数void revstr(char*s)将字符串s逆置。例如:字符串“abcde”,经过逆置后变为“edcba”。

    [C函数2]

    void revstr(char*s)

    { char*p,c;

    if(s==NULL)return;

    p=(3); /*p指向字符串s的最后一个有效字符*/

    while(s<p){ /*交换并移动指针*/

    C=*s;

    (4)=*p;

    (5)=c;

    }

    }


    正确答案:(1) p++ (2) w[i-1] (3) s+strlen(s)-1 (4) *s++或*(s++) (5) *p-或*(p--)
    (1) p++ (2) w[i-1] (3) s+strlen(s)-1 (4) *s++或*(s++) (5) *p-或*(p--) 解析:函数1的fun()中的while循环是为了找到x的插入位置,因此(1)填“p++”,for循环是移动数组中的元素,因此(2)填“w[i-1]”。
    对于函数2,设字符串的长度为n,则该函数的思想为将*(s+j)与*(s+n-1+i)对换,i=0....n/2。采用指针来实现,s为起始地址,p定位为最后一个字符的位置,所以空(3)应填“s+strlen(s)-1”;采用*s与*p交换后为s++与P--。即空(4)填“*s++”或“*(s++)”,空(5)填“*p-”或“*(p--)”。

  • 第17题:

    若有语句:int a[3][4],(。P)[4];P=a;,则以下选项中叙述错误的是( )。

    A.系统将开辟一个名为P的二维数组,“o][o]中的值即为a[o][o]中的值

    B.P+1代表a[1][0]的地址

    C.P中将存放a数组的首地址

    D.P+2代表a数组最后一行的首地址


    正确答案:A
    (+P)[4]定义了一个数组指针。P可以指向类似于arry[][4]的数组,题设中,P不是一个二维数组,只是可以指向这类二维数组,因此选项A错误。P+1代表了第一行第一个元素的地址,P=a指向数组a的首地址,则B、C选项正确,同理可知选项D也正确。故答案为A选项。

  • 第18题:

    有以下程序: #include<stdio.h> #include!(string.h> void fun(char*w,int m) { char S,*pl,*p2; p1=w;p2=w+m-; while(pl<p2){s=*pl; *p1=*p2; *p2=s;pl++;p2-;} } main( ) { char a[]="l23456"; fun(a,strlen(a));puts(a); } 程序运行后的输出结果是( )。

    A.654321

    B.116611

    C.161616

    D.l23456


    正确答案:A
    此题是需要将a[]中的数值倒过来进行输出,所以答案为A。

  • 第19题:

    有函数char fun(char *p){ return p; }该函数的返回值是( )。

    A.编译出错

    B.形参p中存放的地址值

    C.一个临时存储单元的地址

    D.形参p自身的地址值


    正确答案:A
    解析:p的类型和函数返回值的类型不一致,函数返回类型是char,而p是char*,编译出错。

  • 第20题:

    设有如下程序段: char str[]=”World”; char*ptr=str; 执行上面的程序段后,*(ptr+5)的值为 ______。

    A.‘o’

    B.‘0’

    C.不确定的值

    D.‘o’的地址


    正确答案:B

  • 第21题:

    设有如下程序段: char str[]="World": char*ptr=str; 执行上面的程序段后,*(ptr+5)的值为 ______。

    A.‘0’

    B.‘\0’

    C.不确定的值

    D.‘o’的地址


    正确答案:B

  • 第22题:

    以下程序段运行后*(++p)的值为() char a[5]=”work”; char *p; p=a;

    • A、‘w’
    • B、存放’w’的地址
    • C、’o’
    • D、存放’o’的地址

    正确答案:C

  • 第23题:

    单选题
    以下程序段运行后*(p+3)的值为() char a[]=”good”; char *p; p=a;
    A

    ‘d’

    B

    ‘/0’

    C

    存放’d’的地址

    D

    ‘0’


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