计算机二级

下面程序的输出结果是( )。 include main(){static chara[]="zhao",b[]="juan"; char*pt下面程序的输出结果是( )。 include<stdio.h> main() {static chara[]="zhao",b[]="juan"; char*ptr1=a,*ptr2=b; int k; for(k=0;k<4;k++) if(*(ptr1+k)==*(ptr2+k)) printf("%c",*(ptr1+k));}

题目
下面程序的输出结果是( )。 include main(){static chara[]="zhao",b[]="juan"; char*pt

下面程序的输出结果是( )。 include<stdio.h> main() {static chara[]="zhao",b[]="juan"; char*ptr1=a,*ptr2=b; int k; for(k=0;k<4;k++) if(*(ptr1+k)==*(ptr2+k)) printf("%c",*(ptr1+k));}

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

第2题:

下面程序输出的结果是()。includemain(){char *a="1234";fun(a);printf("\n");}fun(cha

下面程序输出的结果是( )。 #include<stdio.h> main() { char *a="1234"; fun(a); printf("\n"); } fun(char *s) { char t; if(*s) { t=*S++;fun(s);} else return; if(t!='\0') putchar(t); }

A.1234

B.4321

C.1324

D.4231


正确答案:B
解析:本题的fun()函数是用递归法实现逆序输出一个字符串。函数中首先定义一个局部变量t,然后s所指的内容是否为字符串结束符,不是的话将s所指的内容赋给t,同时使s后移一位,然后递归调用fun(s)。到这条语句为止是递归过程,即接下来连续递归调用fun(s)都只会执行到这一半,直到回朔条件(s所指内容是字符串结束符)出现,fun()函数连续返回,判断t不等于0的话,就输出t,所以输入的字符串被逆序输出,故本题的正确答案应该是B。

第3题:

当执行下面程序且输入a boy时,输出的结果是______。includeincludemain(){c

当执行下面程序且输入a boy时,输出的结果是______。 #include<stdio.h> #include<string.h> main() { char ss[81]="A BOY",hh[81],*pt; scanf("%s",hh); pt=strcat(ss,hh); puts(pt); printf("%s\n",hh); }

A.A BOY a a

B.A BOY a boy a boy

C.A BOY a boy a

D.A BOY a boy a boy


正确答案:A
解析:对于函数strcat(ss,hh),把字符串hh(若遇空格,舍去后面的部分,并重新赋给hh)连至字符串ss的后面。

第4题:

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

第5题:

下面程序的输出结果是 ______。includemain(){char*p[]={"BOOL","OPK","H","SP"};int i

下面程序的输出结果是 ______。#include<stdio.h>main(){ char*p[]={"BOOL","OPK","H","SP"}; int i: for(i=3;i>=0;i-,i-) printf("%c",*p[i]); printf("\n");}

A.SO

B.SP

C.SPOPK

D.SHOB


正确答案:A
解析:p[0]存放的是“BOOL\0”的首地址:p[1]存放的是“OPK\0”的首址等。在printf语句中输出的*p[i]表示p[i]字符串的第—个字符。在for循环中,i的初值为3,那么输出的第—个字符为“S”,接着两次i--,则输出的值为*p[1],即字符“O”,所以本题的输出为SO。

第6题:

下面程序的输出结果是______。includemain(){char*p[]={"BOOL","OPK","H","SP"}; int i

下面程序的输出结果是______。#include<stdio.h>main(){ char*p[]={"BOOL","OPK","H","SP"}; int i; for(i=3;i>=0;i-,i-) printf("%c",*p[i]); printf("\n");}

A.SO

B.SP

C.SPOPK

D.SHOB


正确答案:A
解析:p[0]存放的是“BOOL\0”的首地址;p[1]存放的是“OPK\0”的首址等。在printf语句中输出的*p[i]表示p[i]字符串的第一个字符。在for循环中,i的初值为3,那么输出的第一个字符为“S”,接着两次i-,则输出的值为*p[1],即字符“0”,所以本题的输出为SO。

第7题:

阅读下面程序段,则执行后输出的结果是 #include"stdio.h" main() { char fun(char,int); char a='A'; int b=13; a=fun(a,b); putchar(a);} char fun(char a,int b) { char k; k=a+b; return k;}

A.A

B.M

C.N

D.L


正确答案:C
解析:函数说明语句中的类型名必须与函数返回值的类型一致。本题实现的是在字符,A,的ASCII码值上加上一个常数,使之变成另一个ASCII码值,从而输出字符。

第8题:

下面程序的输出结果是( )。 include main() {static char a[]="china"; char*ptr=a; whi

下面程序的输出结果是( )。 include<stdio.h> main() {static char a[]="china"; char*ptr=a; while(*ptr) {printf("%c",*ptr-32); ptr++; } }


正确答案:CHINA
CHINA

第9题:

阅读下面程序段,则执行后输出的结果是

#include "stdio.h"

main()

{ char fun(char,int);

char a=′A′;

int b=13;

a=fun(a,b);

putchar(a);}

char fun(char a,int b)

{char k;

k=a+b;

return k;}

A.A

B.M

C.N

D.L


正确答案:C