更多“若定义了charch[]={″abc/0def″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是()A、defB、dC、eD、0”相关问题
  • 第1题:

    若有如下定义并赋值: char ch='a', a; 则执行语句"printf("%d",a=ch+2.6);”后的输出结果是( )

    A.c

    B.d

    C.99

    D.100


    正确答案:C

  • 第2题:

    若有定义:“int*P,x=0,*p,p=&x;”,则语句“printf("%d\n",*p);”的输出结果是( )。

    A.随机值

    B.0

    C.x的地址

    D.P的地址


    正确答案:A
    *P的意思是取其指向地址的内容,P是指向x地址的指针,因此输出*p也就是输出x的内容,即0,故选择B选项。

  • 第3题:

    下面程序的输出结果是()。includemain(){char a[]={'a','b','c','d','f','g'},*p;p=a;p

    下面程序的输出结果是( )。 #include<stdio.h> main() {char a[]={'a','b','c','d','f','g'},*p; p=a; printf("%c\n",*p+4); }

    A.a

    B.b

    C.e

    D.f


    正确答案:C
    解析:“*”号的优先级比“+”的优先级高,所以先执行“*p”;指针p指向的是数组的首地址,因此*p=a,再加4得'e'。

  • 第4题:

    以下程序的输出结果是______。 char cchar(char ch) { if(ch>='A'&&ch<='z')ch=ch-'A'+'a'; return ch; } main() { char s[]="ABC+abc=defDEF",*p=s; while(* p) { * p=cchar(* p); p++; } printf("% s\n", s); }

    A.abe+ABC=DEFdef

    B.abc+abe=defdef

    C.abcaABCDEFdef

    D.abcabcdefdef


    正确答案:B
    解析:字符数组元素作函数参数是单向的值传递。函数cchar的功能是将大写字母转换为小写字母。主函数中while循环语句的条件是判断指针p当前指向的字符是否为空,若不为空,则调用函数cchar,即主函数中通过循环语句将字符串"ABC+abc=defDEF"中的大写字母全部转换为小写字母,因此printf的输出结果为选项B。

  • 第5题:

    下列程序的输出结果是()。 inClude main() {charch[2][5]={"1234","5678"},*p[2]; int

    下列程序的输出结果是( )。

    #inClude<stdio.h>

    main()

    { charch[2][5]={"1234","5678"},*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=p[i][j]-'0';

    printf("%d",s);}

    }

    A.6357

    B.6135

    C.1357

    D.691357


    正确答案:C
    解析:本题先将指针p指向二维数组ch[2][5],相当于p[0]="1234",p[1]="5678",通过双重for循环,是要将p中的字符隔一个输出一个,通过s=p[i][j]-'0'这条语句是将所要输出的字符转换成相应的+进制数。

  • 第6题:

    以下程序的输出结果是 char cchar(char ch) { if(ch>='A'&&ch<='Z') ch=ch-'A'+'a'; return ch; } main ( ) { char s [] = "ABC+abc=defDEF" , *p=s; while (*p) { *p=cchar(*p); p++; } printf { "%$\n", s); }

    A.abc+ABC=DEFdef

    B.abc+abc=defdef

    C.abcABCDEFdef

    D.abcabcdefdef


    正确答案:B
    解析:本题考核的知识点是字符型指针变量与函数的综合应用。本题首先定义了一个函数cchar(),有一个字符型参数ch。在函数中首先判断该字符是否为大写字母,如果是则把它转换成小写字符再赋值给cb,把ch作为函数值返回。在主函数中定义了一个字符数组s并初始化,然后定义了一个指针变量并使它指向数组s。接着通过一个while循环利用指针变量p,依次取出字符数组的字符(直到遇到字符串结束标志['\0'为止),并调用cchar()函数,把大写字母转换成小写字母,其他字符不变。最后输出字符数组为s中的内容,结果为“abc+abc=defdeF”。所以,4个选项中B为所选。

  • 第7题:

    若定义了charch[]={″abc\0def″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是()

    A.def

    B.d

    C.e

    D.0


    参考答案:C

  • 第8题:

    设有定义:intx=0,*p=&x;则语句printf(“%d/n”,*p);的输出结果是()

    • A、随机值
    • B、0
    • C、x的地址
    • D、p的地址

    正确答案:B

  • 第9题:

    设有定义语句:charstr[][20]={"Hello","Beijing"},*p=str;()则printf("%d/n",strlen(p+20));输出结果是

    • A、0
    • B、5
    • C、7
    • D、20

    正确答案:C

  • 第10题:

    单选题
    有如下程序: #include  main() {  char ch='M';  while(ch!='K')  {   ch--;   putchar(ch);  }  printf(); } 程序运行后的输出结果是(  )。
    A

    MN

    B

    LK

    C

    OP

    D

    MM


    正确答案: B
    解析:
    程序执行过程为:定义字符变量ch='M',判断ch!='K'成立,ch--后值为'L',输出L;判断ch!='K'成立,ch--后值为'K',输出K;判断ch!='K'不成立,退出循环。程序运行后的输出结果为LK。答案选择B选项。

  • 第11题:

    单选题
    若已定义inta=256,执行语句""printf(""%x"",a,);""的结果是()
    A

    0100

    B

    0256

    C

    0ffe

    D

    0ff


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

  • 第12题:

    填空题
    下列程序段的输出结果是()。  char str[ ]= “abc/0def/0ghi”, *q=str;  printf(“%s”,q+5);

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

  • 第13题:

    有以下程序includemain(){ char*p,*q;p=(char *)malloc(sizeof(char)*20);q=p;scanf(

    有以下程序 #include<stdlib.h> main() { char*p,*q; p=(char *)malloc(sizeof(char)*20);q=p; scanf(“%s%s”,p,q);printf(“%s%s\n”,p,q); } 若从键盘输入:abc def<回车>,则输出结果是

    A.def def

    B.abc def

    C.abc d

    D.d d


    正确答案:A
    解析:本题首先定义两个字符型指针变量p和q,通过malloc()函数申请 20个字符的存储空间,并把它的首地址赋给p,再把p的值赋给q,p和q指向同一个存储区。在scanf()语句中读取字符串到p和q指向的字符串,先把“abc”读取到P指向的存储区中,第一个空格是结束标记,第二个空格是分隔符,再把“def”存放到q指向的存储区,把原先的内容覆盖。所以p和q指向的存储区中内容是“def”,所以最后输出为def,def。

  • 第14题:

    有以下程序include main(){ char *p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf

    有以下程序 #include <stdlib.h> main() { char *p,*q; p=(char*)malloc(sizeof(char)*20); q=p; scanf("%s %s",p,q); printf("%s %s\n",p,q); } 若从键盘输入:abc def<回车>, 则输出结果是

    A.def def

    B.abc del

    C.abc d

    D.d d


    正确答案:A
    解析:本题考查的知识点是字符型指针变量、malloc()函数的使用。本题首先定义两个字符型指针变量p和q,通过malloc()函数申请20个字符的存储空间,并把它的首地址赋给p,在把p的值赋给q,p和q指向同一个存储区。在scanf()语句中读取字符串到p和q指向的字符串,先把“abc”读取到p指向的存储区中,第一个空格是结束标记,第二个空格是分隔符,再把“def”存放到q指向的存储区,把原先的内容覆盖。所以p和q指向的存储区中内容是“def”,所以最后输出的def,clef.所以4个选项中A正确。

  • 第15题:

    有如下定义:charstr[3][2]={’a’,’b’,’c’,’\0’,’e’,’f’};则语句:printf("%s",str[0]);的输出结果是()

    A.ab

    B.abcef

    C.abc\0

    D.abc


    参考答案:D

  • 第16题:

    有以下程序:include main(){union{charch[2];int d;} s;s.d=0x4321;printf("%x,%x\n",

    有以下程序: #include <stdio.h> main() { union { charch[2]; int d; } s; s.d=0x4321; printf("%x,%x\n",s.ch[0],s.ch[1]); } 在16位编译系统上,程序执行后的输出结果是( )。

    A.21,43

    B.43,21

    C.43,00

    D.21,00


    正确答案:A
    解析:int型变量和字符数组ch共用两个字节的存储单元,通常ch[0]位于低字节,ch[1]位于高字节,所以s.ch[0]=21,s.c[1]=43。

  • 第17题:

    有以下程序: include main( ) { char *p ,* q; p=(char * )malloc(sizeof(char

    有以下程序: #include<stdlib.h> main( ) { char *p ,* q; p=(char * )malloc(sizeof(char) * 20);q=p; scanf("%s%s",p,q); printf("%s%s\n",p,q); } 若从键盘输入:abc def<回车>,则输出结果是

    A.def def

    B.abc def

    C.abc d

    D.d d


    正确答案:A

  • 第18题:

    若有定义:int x=0, *p=&x;, 则语句 printf("%d\n",*p);的输出结果是( )。

    A.随机值

    B.0

    C.x 的地址

    D.p的地址


    正确答案:B
    解析:语句intx=0,*p=&x;定义了—个血型变量int并初始化为0,同时还定义了一个int型指针p指向变量x。语句printf(“n%d\n”,*p);是按十进制整数格式输出指针p所指向的内容,即x的值0。故本题应该选择B。

  • 第19题:

    下列程序段的输出结果是()。  char str[ ]= “abc/0def/0ghi”, *q=str;  printf(“%s”,q+5); 


    正确答案:ef

  • 第20题:

    有如下定义:charstr[3][2]={’a’,’b’,’c’,’/0’,’e’,’f’};则语句:printf("%s",str[0]);的输出结果是()

    • A、ab
    • B、abcef
    • C、abc/0
    • D、abc

    正确答案:D

  • 第21题:

    设有定义int m=1,n=-1;则执行语句printf(〞%d/n〞,(m--&&++n));后的输出结果是()

    • A、-1
    • B、0
    • C、1
    • D、2

    正确答案:B

  • 第22题:

    单选题
    有以下程序: #include  main() {  char ch='B';  while(ch<'E')  {   printf(%d,ch-'A');   ch++;  }  printf(); } 程序运行后的输出结果是(  )。
    A

    123

    B

    ABC

    C

    abc

    D

    012


    正确答案: C
    解析:
    当满足ch<'E',输出ch-'A',即字符的ASCII码相减进行输出,%d表示输出十进制整数。循环开始ch='B',ch-'A'=1,以此类推,答案选择A选项。

  • 第23题:

    单选题
    若定义了charch[]={″abc/0def″},*p=ch;则执行printf(″%c″,*p+4);语句的输出结果是()
    A

    def

    B

    d

    C

    e

    D

    0


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