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

题目

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

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

第1题:

有以下程序 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的末尾处。

第2题:

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

第3题:

有以下程序:includeinclude"string.h"void fun(char*s[],int n){char*t;int i,j;for(

有以下程序: #include<stdio.h> #include"string.h" void fun(char*s[],int n) { char*t;int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]=s[j];s[j]=t;} } main() { char*ss[]={"bee","bbcc","xy","aaaacc","aabcc"}; fun(ss,5);printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是( )。

A.xy,aaaacc

B.aaaacc,xy

C.bcc,aabcc

D.aabcc,bcc


正确答案:A

第4题:

有下列程序:includevoid fun(char *a, char *B){while(*a=='*')a++;while(*b=*A){b++;

有下列程序: #include <stdio.h> void fun(char *a, char *B) { while(*a=='*')a++; while(*b=*A) {b++;a++;} } main() { char *s="*****a*b****",t[80]; fun(s,t);puts(t); 程序的运行结果是( )。

A.*****a*b

B.a*b

C.a*b****

D.ab


正确答案:C
解析:主函数main()定义了指向字符串的指针和一个字符数组,接着调用fun(s,t)函数,进行实参向形参传递,函数fun()第一个 while语句判断*a中的值为“*”时继续扫描,当遇到不是“*”时结束,接着第二个while循环语句,将*a中从“a”开始的后续所有字符都赋予*b,也就是t[80]中的内容为“a*b****”,所以此题的运行结果为选项C)。

第5题:

有以下程序inc1udevoid fun(char*s){while(*s) {if(*s%2=0) printf("%c",*s); s++ }}m

有以下程序 #inc1ude<stdio.h> void fun(char*s) { while(*s) { if(*s%2=0) printf("%c",*s); s++ } } main() { char a[]={"good"}; fun(A) ; prntf("n\"); } 注意:字母a的ASCII码值为97,程序运行后的输出结果是______。

A.d

B.go

C.god

D.good


正确答案:A
解析:本题主要考查函数的调用以及字符的ASCII码值,由while循环语句可知,如果字符的ASCII码值为偶数就输出该字符,否则不输出,因为s的ASSCII码值为103;o的码值为111,d的码值为100,所以程序输出结果是d,因此,选项A是正确的。

第6题:

有以下程序inc1udemain(){char*s={"ABC"}; do {printf("%d",*s%10);s++; }while(*s);

有以下程序 #inc1ude<stdio.h> main() { char*s={"ABC"}; do { printf("%d",*s%10); s++; } while(*s); } 注意字母A的ASCII码值为65。程序运行后的输出结果是______。

A.5670

B.656667

C.567

D.ABC


正确答案:C
解析:本题考查的是do-while语句的使用,do-while执行的过程是当while后面—对括号中表达式的值为非0时,转去执行循环体,当值为0时,退出循环。本题定义了—个指针变量s,并使得s指向字符串"ABC",的首地址,即把字符A的地址赋给s,因为do-while语句是先执行循环体再进行循环条件的判断,因此先执行printf语句,“s%10”是s对10的取模运算,第—字符A的ASCII码为65,故“65%10”取模运算结果为5,因此输出5,接着执行s++,s指向字符串的下—个字符,当字符串中字符没有循环完时,继续执行do-while语句,以此类推,B和C的分别为6和7,因此,选项C是正确的。

第7题:

有以下程序 include void fun(char *t, char *s) { whil

有以下程序 #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); printff"%s,%s\n", ss,aa); 程序的运行结果是

A.accxyy, bbxxyy

B.acc, bbxxyy

C.accxxyy, bbxxyy

D.accbbxxyy, bbxxyy


正确答案:D
解析:函数fun()中,前一个while循环的作用是:如果形参指针t所指内容不为0,则让t增1,直到它指向0。后一个 while循环的作用是:将s所指内容赋给t所指地址,然后两者同时增1,直到赋给t的内容为0。由此可见,函数fun()的作用就是将形参s所指字符串连接到形参t所指字符串末尾,相当于库函数中的strcat()。主函数中使用fun()将数组aa中的字符串连接到了数组ss中原有字符串之后,所以执行完后,ss中的字符串为"accbbxxyy"。故最终输出的结果是:accbbxxyy,bbxxyy,应该选择D。

第8题:

有以下程序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的末尾处。

第9题:

有以下程序

void fun1(char *p)

{ char *q;

q=p;

while(*q!='\0')

{ (*q)++; q++; ) }

}

main()

{ char a[]={"Program"),*p;

p=&a[3];fun1(p);printf(" % s\n",a);

}

程序执行后的输出结果是

A)Prohsbn

B)Prphsbn

C)Progsbn

D)Program


正确答案:A
(37)A) 解析 : (*q)++ 是 q 所指的字符加 1,q++ 就是指针移到下一个字符。