计算机二级

下列程序的运行结果是()。includemain(){static chara[]="Languagef",b[]="programe";下列程序的运行结果是( )。 #include<stdio.h> main() { static chara[]="Languagef",b[]="programe"; char *p1,*p2;int k; p1=a;p2=b; for(k=0;k<=8;k++) if(*(p1+k)==*(p2+k))printf("%c",*(p1+k)); }A.gaeB.an

题目
下列程序的运行结果是()。includemain(){static chara[]="Languagef",b[]="programe";

下列程序的运行结果是( )。 #include<stdio.h> main() { static chara[]="Languagef",b[]="programe"; char *p1,*p2;int k; p1=a;p2=b; for(k=0;k<=8;k++) if(*(p1+k)==*(p2+k))printf("%c",*(p1+k)); }

A.gae

B.ang

C.program

D.有语法错

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

第1题:

下列程序的运行结果是()。includemain(){ static char a[]="Languagef",b[]="programe"

下列程序的运行结果是( )。 #include<stdio.h> main() { static char a[]="Languagef",b[]="programe"; char *p1,*p2;int k; p1=a;p2=b; for(k=0;k<=8;k++) if(*(p1+k)==*(p2+k))printf("%c",*(p1+k)); }

A.gae

B.ang

C.program

D.有语法错


正确答案:A
解析:本题考查指针的用法,if(*(p1+k)==*(p2+k))语句的功能是判断两个数组中的字符是否相同,如果相同则输出。

第2题:

下列程序的输出结果是()。includeincludemain(){char a[]="\n123\\";printf

下列程序的输出结果是( )。 #include<stdio.h> #include<string.h> main() { char a[]="\n123\\"; printf("%d,%d\n",strlen(a),sizeof(a)); }

A.5,6

B.5,5

C.6,6

D.6,5


正确答案:A
解析: 转义字符'\n'表示换行,'\\'表示反斜杠,函数strlen()是计算字符串的长度,不包括文件结束标志('\0'),函数sizeof()统计字符串所占的字节数。

第3题:

下列程序的运行结果是()。 include main() {static char a[]="Languagef",b[]="program

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

#include<stdio.h>

main()

{ static char a[]="Languagef",b[]="programe";

Char*p1,*p2;int k;

p1=a;p2=b;

for(k=0;k<=8;k++)

if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));

}

A.gae

B.ang

C.program

D.有语法错


正确答案:A
解析:本题考查指针的用法,if(*(p1+k)==*(p2+k))语句的功能是判断两个数组中的字符是否相同,如果相同则输出。

第4题:

下列程序的运行结果是()。inCludemain(){static char a[]="Languagef",b[]="programe";

下列程序的运行结果是( )。 #inClude<stdio.h> main() { static char a[]="Languagef",b[]="programe"; Char*p1,*p2;int k; p1=a;p2=b; for(0;k<=8;k++) if(*p1+k)==*(p2+k))printf("%c",*(p1+k)); }

A.gae

B.ang

C.program

D.有语法错


正确答案:A
解析: 本题考查指针的用法,if(*(p1+k)==*(p2+k))语句的功能是判断两个数组中的字符是否相同,如果相同则输出。

第5题:

有以下程序 include main() { char a=4; printf("%d/n,a=a

有以下程序 #include <stdio.h> main() { char a=4; printf("%d/n,a=a<<1); } 程序的运行结果是______。

A.40

B.16

C.8

D.4


正确答案:C
解析:“”是按位左移运算符,左移一位相当于该数乘以2,左移两位相当于该数乘以2的2次方,所以本题相当于将4乘以2,结果为8。

第6题:

下面程序的运行结果是()。includemain(){ static char a[]="Languagef",b[]=" programe

下面程序的运行结果是( )。 #include<stdio.h> main() { static char a[]="Languagef" ,b[]=" programe"; char*p1,*p2;int k; p1=a;p2=b; for(k=0;k<=7;k++) if(*(p1+k)==*(p2+k)) printf("%c",*(p1+k));}

A.gae

B.ga

C.Language

D.有语法错


正确答案:A
解析:指针p1+k相当于指针P1向后移动了k个字符的位置,指针p2同理。

第7题:

下面程序的运行结果是( )。 include main() {char a[80],*p="AbabCDcd"; int i=0,j=0; w

下面程序的运行结果是( )。 include<stdio.h> main() {char a[80],*p="AbabCDcd"; int i=0,j=0; while(*(p++)!='\0') {if(*p>='a'&&*p<='z'){a[i]=*p;i++;} } a[i]='\0'; puts(A); }


正确答案:babcd
babcd 解析:C语言中“\0”表示字符串的结束。程序将p指针指向字符串“AbabCDcd”的首地址,循环开始后若指针不是指向当前字符串的结束标志位,则进入循环体。循环中每次检验字符串中字母是否在'a'与'z'之间,若满足则将当前值赋值给数组a,最后给数组添加字符结束标志。此程序可以筛选出字符串中的小写字母。

第8题:

以下程序运行后的输出结果是【】include main ( ) {char a[] ="123456789", *p;int i =0;

以下程序运行后的输出结果是【 】

include <stdio.h>

main ( )

{ char a[] ="123456789", *p;

int i =0;

p=a;

while( * p)

{ if(i%2 ==0) *p='*';

p++;i++;

}

puts(a);

}


正确答案:*2*4*6*8*
*2*4*6*8* 解析:程序中指针p指向数组a,while(*P)语句的循环条件是* p!='\0',在循环体中,当 i=0,2,4,6,8时,i%2=0,执行*p='*',即a[i]='*',继续执行p++;i++;使i为奇数;当i=1, 3,5,7时,i%2=1,继续执行p++;i++;使i为偶数。可见,程序在字符串"123456789",的下标为偶数的位置上赋值'*',代替原字符串中的1,3,5,7,9。所以,程序输出结果为*2*4*6*8*。

第9题:

下面程序的运行结果是includemain(){static char a[]="Languagef",b[]="programe";cha

下面程序的运行结果是 #include<stdio.h> main() { static char a[]="Languagef" ,b[]="programe"; char *p1,*p2; int k; p1=a;p2=b; for(k=0;k<=7;k++) if(*(p1+k)==*(p2+k)) printf("%c",*(p1+k));}

A.gae

B.ga

C.LanSuage

D.有语法错


正确答案:A